[PATCH v2 2/7] uart: pl011: Add proper DM clock support

André Przywara andre.przywara at arm.com
Mon Apr 27 14:21:23 CEST 2020


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.przywara at arm.com>
>> Reviewed-by: Simon Glass <sjg at 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.


More information about the U-Boot mailing list