-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump rpi-rf-mod dt overlay to latest version #2921
Bump rpi-rf-mod dt overlay to latest version #2921
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even though I don't know why the problem was triggered only by the recent kernel update, it happens because you are completely overriding compatible
of uart0
in rpi-rf-mod.dtbo
to a reduced set of compatible strings, instead of adding the one you need. The behavior you're seeing (and which I was able to reproduce on my RPi 4 too) is the same as described in the description of this patch which is applied to the RPi device tree (with the exception that now it crashes ALSO if enable_uart=1
).
So IMHO the correct way to address the problem would be to adjust compatible
in fragment@3
in RPi and Yellow DTBOs to:
compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell", "pivccu,pl011";
With this patch my RPi is booting fine but I can't check pivccu function.
Also there was no need to override stdout-path
for other boards than RPi, as this issue seems to be exclusive to PL011 on RPi SoCs only.
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
That's exactly the issue here. With this I also tried to put the
Indeed. It is really strange that only u-boot on RaspberryPi requires either a So either we keep that stdout-path wiping or we come up with an u-boot patch making sure u-boot will not be confused if the compatible line does not contain any reference to |
@sairon
So perhaps adding those config options so that u-boot won't try to pickup any serial device could help instead of modifying the |
Ok, I have throughoutly tested disabling the BCM2835 serial in u-boot alltogether and for my main project (RaspberryMatic) this commit allowed to let u-boot continue to boot even thought the jens-maus/RaspberryMatic@1e8c11a So please advice if I should resubmit a different patch for modifying the uboot.config in HAos for the RaspberryPis so that there the BCM2835 serial interaction is also completely disabled. This perhaps then also would allow us to remove the other patch (https://github.com/home-assistant/operating-system/blob/dev/buildroot-external/board/raspberrypi/patches/linux/0001-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch) |
Disabling serial in U-Boot could be a solution if we can accept it won't be available for debugging purposes anymore. Although we have bootdelay set to |
In RaspberryMatic U-Boot outputs its debugging on the HDMI port. And for hard debugging reasons we could actually easily re-enable it. Perhaps changing the U-Boot config in HAos to output its boot phase on the HDMI could also be an option? Thus, in the current situation this clearly looks like U-Boot bug that the bcm2835 serial init brings down u-boot altogether if stdout-path is set and the compatible string does not point to the bcm2835 serial device but to another device. This IMHO should not bring down U-Boot at all, but in case of the RaspberryPi / bcm2835 it obviously does and disabling bcm2835 serial support altgether seems to be a valid procedure to fix that issue. So question remains: Should I resubmit a different PR that updates rpi-rf-mod to the latest version in RM (without stdout-path patching) and then submit another PR to disable the serial BCM2835 driver in U-Boot altogether? |
Just realized my previous suggestion was wrong - to keep both U-Boot and piVCCU working, the Anyway, I still keep in mind it's rather a hacky solution, just looking for some middle grounds now. |
Thx. could try that as well again, but I still think the cleaniest solution would be to either fix U-Boot to not crash or disable the bcm2835 serial support in U-Boot altogether.
Why is it so important to keep serial support in U-Boot? There are also potential benefits of disabling serial support in U-boot actually. For exampe, some HATs (RPI-RF-MOD is also a HAT) which are actually utilizing the UART might get confused by the serial output/input U-Boot produces during startup. Thus, if no deep debugging is supported I think the serial support should be disabled (at least muted). And if debugging is required HAos could be recompiled with serial support enabled in U-boot to get it working again. |
In general, I think removing that compatible work around we have today would be nice! Ideally if possible we should find a solution which doesn't involve disabling drivers and rendering serial console unusable. From what I understand the problem is the selection of the serial console port by U-Boot (as by my last findings, see https://lists.denx.de/pipermail/u-boot/2020-November/432502.html).
I thought we've (re)enabled HDMI a while ago in U-Boot. Definitely remember we did something in that area, maybe we enabled and had to disable it again due to breakages of some setups 🤔 |
@jens-maus I've discussed this issue with @sairon today. We agreed that disabling the driver in U-Boot is not the preferred solution for us. Especially on Yellow this is the only method to really see the U-Boot output. I think that the suggestion made in #2921 (comment) doesn't work, as you already set the compatible string to For now, let's merge this as it serves as a work around. We'd like to release 11.2 soon. I'll leave #2919 open so we can discuss future solutions there. |
This PR bumps the
rpi-rf-mod
dt overlay package to the latest 1.13.0 version available. This new version integrates some fixes including one that changes the defaultstdout-path
dtb definition to an empty string so that u-boot won't try to pickup the reserved serial port for the RPI-RF-MOD Homematic RF module once therpi-rf-mod.dtbo
overlay is used in theconfig.txt
file of RaspberryPi installations (fixes #2919).