Wednesday, August 3, 2022

[fedora-arm] Re: device tree on Pi4B

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

No comments:

Post a Comment