On 24/04/2020 15:51, Tom Rini wrote: Hi Tom,
> On Tue, Apr 07, 2020 at 12:12:31PM +0100, Andre Przywara wrote: > >> Even though the PL011 UART driver claims to be DM compliant, it does not >> really a good job with parsing DT nodes. U-Boot seems to adhere to a >> non-standard binding, either requiring to have a "skip-init" property in >> the node, or to have an extra "clock" property holding the base >> *frequency* value for the baud rate generator. >> DTs in the U-Boot tree seem to have been hacked to match this >> requirement. >> >> The official binding does not mention any of these properties, instead >> recommends a standard "clocks" property to point to the baud base clock. >> >> Some boards use simple "fixed-clock" providers, which U-Boot readily >> supports, so let's add some simple DM clock code to the PL011 driver to >> learn the rate of the first clock, as described by the official binding. >> >> These clock nodes seem to be not ready very early in the boot process, >> so provide a fallback value, by re-using the already existing >> CONFIG_PL011_CLOCK variable. >> >> Signed-off-by: Andre Przywara <andre.przyw...@arm.com> >> Reviewed-by: Simon Glass <s...@chromium.org> > > This patch breaks rpi_3*/rpi_4/rpi_arm64, please fix, thanks! Doh, thanks for the heads up and apologies for not spotting this myself. I fixed this up by catching a possibly undefined CONFIG_PL011_CLOCK. Looking deeper into this code I think we can get rid of the unofficial skip-init property as well, but that's another patch. Will send a (rebased) v3 shortly. Thanks! Andre.