FYI: Example RPi4B 8GiByte "B0T" (3 GiByte limitation) vs. 8 GiByte "C0T" device tree differences
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 25 Nov 2022 23:18:34 UTC
I’ve now got access to a RPi4B with a “C0T” part, an 8 GiByte one. It is a Rev 1.5 as well, the only such that I’ve access to. (There are such things as Rev 1.4 “C0T” RPi4B’s as I understand.) Showing various differences vs. the old Rev 1.4 8 GiByte RPi4B: - model = "Raspberry Pi 4 Model B Rev 1.4"; + model = "Raspberry Pi 4 Model B Rev 1.5”; . . . system { - linux,serial = <0x10000000 REDACTED>; - linux,revision = <0x00d03114>; + linux,serial = <0x10000000 REDACTED>; + linux,revision = <0x00d03115>; }; . . . emmc2bus { compatible = "simple-bus"; #address-cells = <0x00000002>; #size-cells = <0x00000001>; ranges = <0x00000000 0x7e000000 0x00000000 0xfe000000 0x01800000>; - dma-ranges = <0x00000000 0xc0000000 0x00000000 0x00000000 0x40000000>; + dma-ranges = <0x00000000 0x00000000 0x00000000 0x00000000 0xfc000000>; . . . pcie@7d500000 { - compatible = "brcm,bcm2711-pcie"; + compatible = "brcm,bcm2711-pcie", "brcm,bcm7445-pcie"; . . . - dma-ranges = <0x02000000 0x00000004 0x00000000 0x00000000 0x00000000 0x00000000 0xc0000000>; + dma-ranges = <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 = "507b2360eb46af23c05844b289dc5ae4ecfc3cca"; capabilities = <0x0000007f>; - update-timestamp = <0x6381074a>; + update-timestamp = <0x6380a03c>; build-timestamp = <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” 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’s 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.) === Mark Millard marklmi at yahoo.com