Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Nov 2022 15:18:34 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        freebsd-arm@freebsd.org
Subject:   FYI: Example RPi4B 8GiByte "B0T" (3 GiByte limitation) vs. 8 GiByte "C0T" device tree differences
Message-ID:  <4B293977-1D57-42AD-8031-5821A2E0698C@yahoo.com>
References:  <4B293977-1D57-42AD-8031-5821A2E0698C.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I=E2=80=99ve now got access to a RPi4B with a =E2=80=9CC0T=E2=80=9D =
part, an 8 GiByte one. It is a Rev 1.5
as well, the only such that I=E2=80=99ve access to. (There are such =
things as Rev 1.4 =E2=80=9CC0T=E2=80=9D
RPi4B=E2=80=99s as I understand.) Showing various differences vs. the =
old Rev 1.4 8 GiByte
RPi4B:

-       model =3D "Raspberry Pi 4 Model B Rev 1.4";
+       model =3D "Raspberry Pi 4 Model B Rev 1.5=E2=80=9D;
. . .
        system {
-               linux,serial =3D <0x10000000 REDACTED>;
-               linux,revision =3D <0x00d03114>;
+               linux,serial =3D <0x10000000 REDACTED>;
+               linux,revision =3D <0x00d03115>;
        };
. . .
        emmc2bus {
                compatible =3D "simple-bus";
                #address-cells =3D <0x00000002>;
                #size-cells =3D <0x00000001>;
                ranges =3D <0x00000000 0x7e000000 0x00000000 0xfe000000 =
0x01800000>;
-               dma-ranges =3D <0x00000000 0xc0000000 0x00000000 =
0x00000000 0x40000000>;
+               dma-ranges =3D <0x00000000 0x00000000 0x00000000 =
0x00000000 0xfc000000>;
. . .
                pcie@7d500000 {
-                       compatible =3D "brcm,bcm2711-pcie";
+                       compatible =3D "brcm,bcm2711-pcie", =
"brcm,bcm7445-pcie";
. . .
-                       dma-ranges =3D <0x02000000 0x00000004 0x00000000 =
0x00000000 0x00000000 0x00000000 0xc0000000>;
+                       dma-ranges =3D <0x02000000 0x00000004 0x00000000 =
0x00000000 0x00000000 0x00000002 0x00000000>;
. . .

I ignored ethernet addresses, serial numbers, and the like.

I had updated the RPi4B's to have the same EEPROM image =
defaults/critical
vintage in order to make things more comparable (2022-Apr content =
vintage).
For reference:

                bootloader {
                        version =3D =
"507b2360eb46af23c05844b289dc5ae4ecfc3cca";
                        capabilities =3D <0x0000007f>;
-                       update-timestamp =3D <0x6381074a>;
+                       update-timestamp =3D <0x6380a03c>;
                        build-timestamp =3D <0x6267c85c>;
                };

Notes:

I get the information via a sequence that involves booting and looking
at the likes of the text:

Using DTB provided by EFI at 0x7ef0000.

(FYI: prior to the 1st boot this area is not filled in. So a reboot is =
involved
in preparing it for availability at U-Boot time. It survives.)

After that I "shutdown -r now=E2=80=9D and stop it in U-Boot and use (in =
this case):

U-Boot> fdt addr 0x7ef0000
U-Boot> fdt print
/ {
. . .

I record the serial console=E2=80=99s output for later reference.

Doing this for both RPi4B types, allows me to use diff like utilities.

As I understand, this sequence is showing the device tree as it was =
given
to the FreeBSD kernel, not some earlier stage. (The RPi* firmware makes
adjustments before handing information over to U-Boot. U-Boot might do
similarly before handling information over to the FreeBSD loader. That
loader might before handing the above over to the kernel.)

=3D=3D=3D
Mark Millard
marklmi at yahoo.com=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B293977-1D57-42AD-8031-5821A2E0698C>