Wednesday, August 3, 2022

[fedora-arm] Re: device tree on Pi4B

On Wed, Aug 3, 2022 at 8:04 PM Steven A. Falco <stevenfalco@gmail.com> wrote:
>
> 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.

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@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