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