Re: RPi4B's got a PMIC replacement, so now there are Rev 1.5 variants with matching firmware requirements; more
Date: Mon, 04 Apr 2022 11:53:14 UTC
On 2022-Apr-3, at 23:44, Mark Millard <marklmi@yahoo.com> wrote: > The 2022-Feb-08 https://forums.raspberrypi.com/viewtopic.php?t=329299 > reports about v1.5 (via a "Moderator" "Engineer"): > > QUOTE > The PMIC has been changed. Needs firmware from April 21 or later. > . . . > The bootloader has supported this since Apr 2021 (previous default release). > END QUOTE > > > I will note that, separately from this, the 2021-Nov-24 > > https://forums.raspberrypi.com/viewtopic.php?t=324653 > > reports about the stepping with the C0T labeling (via a "Moderator" "Engineer"): > > QUOTE > Any current production of 8GB will be C0 anyway. > . . . > And just informationally, the C0 stepping fixed a bug in the accessible memory region for one of the peripherals, and improved some power gating on some HW blocks. The first means a driver no longer needs bounce buffers, and the second we save a tiny amount of power. > END QUOTE > > Other sources report the EMMC2 bus addressing as no longer limited to 1 GB > and the PCIe interface addressing as no longer limited to 3 GB. The > following information is listed (in a different form) in > > https://github.com/raspberrypi/linux/issues/3210#issuecomment-680007995 : > > Old (B0T): emmc2bus dma-ranges ending in 40 00 00 00 > New (C0T): emmc2bus dma-ranges ending in fc 00 00 00 > > (Not visible via a separate .dtb file: the device tree is dynamically > adjusted to match the stepping before being handed over to later stages.) > > From what I've seen checking on the web and the like, it looks like the > C0T stepping usage is not limited to the 8 GiByte RPi4B's (or even 8 and > 4 GiByte): 2 GiByte examples are also reported as having been received. > > > From what I saw, U-Boot had some 0xff800000UL instance with a matching > size of 0x800000UL that was proposed as changed to 0xffc00000UL and > 0x400000UL to avoid overlapping newly updated ARM/VideoCore firmware > memory use. (I'm unsure if this is related to the wider addressing > ranges reported above leading things to have been moved around.) The > reference is from 2021-Jun-17: > > https://www.mail-archive.com/u-boot@lists.denx.de/msg409182.html > > I do not know the first U-Boot release to have a change for the type > of issue. > > > Overall I do not know the implications for FreeBSD's status. I only have > access to older RPi4B's. > FYI: I did an experiment with modern RPi* firmware, with both U-Boot and RPI4-UEFI-dev v1.33 (but having the 3GB limit enabled). It appears that there are possibly significant additions/changes to the device tree content presented to U-Boot but I've no clue if this explains some of the below or not. I did not expect this experiment to end up correctly booted via U-Boot/Device-Tree usage. It did not. Note: My new understanding is that 2021.10 is the first release with the 0xffc00000UL and 0x400000UL usage. The U-Boot I had around to test was based on building 2021.07 from one of the ports (with some historical patches for my context). This contributed to my expectations. RPI4-UEFI-dev v1.33 based booting with the 3GB limit enabled worked with the firmware/dtb combination. FreeBSD got "clk_fixed4: Cannot FDT parameters" (and another message) over 50 times if I counted about right --and crashed with a backtrace: db_trace_self() at db_trace_self db_trace_self_wrapper() at db_trace_self_wrapper+0x30 vpanic() at vpanic+0x178 panic() at panic+0x44 data_abort() at data_abort+0x2bc handle_el1h_sync() at handle_el1h_sync+0x10 --- exception, esr 0x96000004 bcm_dma_allocate() at bcm_dma_allocate+0x88 bcm_sdhci_attach() at bcm_sdhci_attach+0x310 device_attach() at device_attach+0x3f8 bus_generic_new_pass() at bus_generic_new_pass+0x120 bus_generic_new_pass() at bus_generic_new_pass+0xb0 bus_generic_new_pass() at bus_generic_new_pass+0xb0 bus_generic_new_pass() at bus_generic_new_pass+0xb0 root_bus_configure() at root_bus_configure+0x40 mi_startup() at mi_startup+0x224 virtdone() at virtdone+0x7c KDB: enter: panic [ thread pid 0 tid 100000 ] Stopped at kdb_enter+0x48: undefined f901c11f But I've no clue if the U-Boot vintage might be the fundamental issue, such as via trashed memory content vs. the RPi* firmware. The "Using DTB provided by EFI at 0x7eef000" does not have the historical address listed. The boot also reported: WARNING: Cannot find freebsd,dts-version property, cannot check DTB compliance My guess is that RPI4-UEFI-dev v1.33 with the 3GB limit enabled(?) has a good chance of booting the modern RPi4B's. But it will have the historical lack of support via ACPI booting for: the built in EtherNet the built in microsd card slot I've no clue if a RPi4B that has no 3 GB limitation would happen to be handled appropriately by FreeBSD under ACPI use that does not impose the size limit. It might, for all I know. So there may end up being a class of RPi4B's that are more supported by using RPI4-UEFI-dev v1.33 than by using the U-Boot ports. (To my knowledge no one is working on keeping things working for RPi4B's [or pi400's or such].) === Mark Millard marklmi at yahoo.com