On Wed, Mar 25, 2020 at 3:47 PM Andre Przywara <andre.przyw...@arm.com> 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> A good start for other platforms to follow. Reviewed-by: Linus Walleij <linus.wall...@linaro.org> Yours, Linus Walleij