On Wed, Aug 3, 2022 at 8:04 PM Steven A. Falco <stevenfalco@xxxxxxxxx> wrote: > > On 8/3/22 02:24 PM, Peter Robinson wrote: > > On Wed, Aug 3, 2022 at 4:17 PM Steven A. Falco <stevenfalco@xxxxxxxxx> wrote: > >> > >> I have a Pi4B that is working pretty well with the aarch64 version of Fedora Rawhide, but I have one issue that I haven't been able to find a solution to. > >> > >> I have an Adafruit RTC connected via I2C (https://www.adafruit.com/product/3386). If I use the kernel device tree, this device is not found. > >> > >> I then tried switching to the firmware device tree via the instructions in https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi/HATs. That works pretty well - I can now add an overlay for the RTC in /boot/efi/config.txt and the RTC is found during boot. dtoverlay=i2c-rtc,pcf8523,addr=0x68 > >> > >> However, once I've switched to the firmware device tree, I no longer have /dev/vchiq, which means that I can no longer use vcgencmd. Instead, vcgencmd gives me "VCHI initialization failed". > > > > It should be the same as required in Raspbian. Have you checked the > > details in /boot/efi/overlays/README? Out of interest what do you use > > /dev/vchiq / vcgencmd for? > > I've looked at the README, but it doesn't mention VCHI, so I'm not sure how to enable VCHI when using the firmware DT. I'll look at the kernel DT source - perhaps that gives clues as to how to create an overlay that I could then use with the firmware DT. I'll take a look when I get a few cycles. > One interesting thing is that the kernel DT shows the RTC on bus 3, but the firmware DT shows the RTC on bus 1. Three's different "modes" (for want of a better description) where the firmware steals buses for it's own use. > BTW, I'm using vcgencmd to measure the temperature and to check the "get_throttled" flag to detect voltage dips. You can also use tmon in the kernel-tools package to monitor temp, thermal trip points and the like. > >> Is there any way to get both the RTC and vcgencmd to work? Which device tree would I choose? Do I have to build a custom kernel or is there some other way to enable the RTC with the kernel device tree? > > > > You don't need a custom kernel but you'd need to build your own DT as > > obviously anything that is not default on the RPi devices themselves > > is optional hence the requirement of overlays. > > Understood. I don't know which is better - the firmware DT or the kernel DT. I guess the FW DT has the advantage that it is easy to turn stuff on/off, but the kernel DT probably better matches the drivers. For the later point, not really, they are slowly converging closer together. Fedora as a whole is moving towards SystemReady IR style of DT where it's provided by the firmware and I hope to stop shipping the kernel ones all together. > And of course the last thing I want is to have to regenerate a custom DT each time the kernel is updated. You shouldn't need to do that for each kernel. _______________________________________________ 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, report it: https://pagure.io/fedora-infrastructure/new_issue