Re: Change in kernel PPS GPIO handling?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Peter,

Am 31.03.22 um 15:19 schrieb Peter Robinson:
Hi Stefan,

At least the 32 bit issues on Raspberry Pi 4 are expected since the
kernel config doesn't have ARM_LPAE enabled.

Okay, here is the explanation for the different behavior on Raspberry Pi
400 and Raspberry Pi 4 B. The Raspberry Pi 400 has a newer BCM2711 SoC
(Stepping C0), which have less DMA restrictions for the emmc2 interface
(responsible for SD card access). For the Raspberry Pi 4 B there are
older boards which have Stepping B0 and all the new boards should have
Stepping C0 [1].

Unfortunately there is no 100% reliable way to detect the stepping from
the kernel side. So currently the Raspberry Pi firmware patches the
dma-ranges in the firmware DT [2]. So in case U-Boot [3] or another
bootloader ignores this firmware DT and read a fresh DTB the right
dma-ranges get lost. Finally this results in unexpected behavior as soon
the emmc2 switches to DMA mode [4].

Okay, at least i found a fix [1] for the 64 bit boot issues (Original
Fedora 35, Linux 5.14) with RPi 400/RPi 4 Stepping C0. This requires the
DTB files to be updated and U-Boot to choose between the B0 and the C0
variant of the Rpi 4 DTB file.
Thanks for the update on this, great news. In the case of the RPi-400
are they all the C0 stepping? I don't see the 400 in your patch.

Yes, please look at [1]

The patch changes makes bcm2711.dtsi default to C0. So all including RPi 4 boards (RPi 4, CM4, RPi 400) will be affected and all new boards don't need to care about it.

Is there a documented way of detecting the stepping that can be used
in U-Boot I can use to create a patch there, or did you have a test
patch for this?
I searched in the Raspberry Pi forum and there was the statement that there is no direct (official) way to detect the SoC stepping. A possibility might be to detect the DMA range provided by the firmware FDT (U-Boot has dev_get_dma_range() for this) and based on the value decide which DTB should be loaded (bcm2711-rpi-4-b.dtb for C0 and bcm2711-rpi-4-b-b0.dtb for B0).
Do you plan to send this patch upstream, if so feel free to add me to
the cc and in the mean time I'll test it.

Yes. I didn't send it yet, because the merge window is currently open and i want to rebase it on 5.18-rc1. The patch itself is a little bit controversial (fix which introduce new file and change behavior).

Best regards


Unfortunately this doesn't fix the SD card issues on 32 bit.
That's less of a problem, Fedora 36 will be the last version of Fedora
to support 32 bit and I've always suggested people run 64 bit Fedora
on their RPi4 and most people do tend to do that.

Thanks,
Peter
[1] - https://github.com/raspberrypi/firmware/issues/1704
_______________________________________________
arm mailing list -- arm@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to arm-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/arm@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM (Vger)]     [Linux ARM]     [ARM Kernel]     [Fedora User Discussion]     [Older Fedora Users Discussion]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Maintainers]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]

Powered by Linux