On 8/3/22 02:24 PM, Peter Robinson wrote:
On Wed, Aug 3, 2022 at 4:17 PM Steven A. Falco <stevenfa...@gmail.com> 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.

One interesting thing is that the kernel DT shows the RTC on bus 3, but the 
firmware DT shows the RTC on bus 1.

BTW, I'm using vcgencmd to measure the temperature and to check the 
"get_throttled" flag to detect voltage dips.

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.

And of course the last thing I want is to have to regenerate a custom DT each 
time the kernel is updated.

        Steve
_______________________________________________
arm mailing list -- arm@lists.fedoraproject.org
To unsubscribe send an email to arm-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to