From 85fb54b621c1ca79f1ec8634b0597a038338e51d Mon Sep 17 00:00:00 2001 Message-Id: <85fb54b621c1ca79f1ec8634b0597a038338e51d.1668448114.git.stefan@agner.ch> From: Stefan Agner Date: Thu, 14 Apr 2022 12:15:26 +0200 Subject: [PATCH] drivers: bcm283x: don't explicitly disable init It seems that the reason why init doesn't succeed is the lack of clock support in U-Boot. Setting the default clock of 48MHz for the PL011 UARTs makes reinitialization work consistently. Note that for the first UART the "skip-init" is anyways set in the device tree. This will only affect probing of UARTs not enabled by firmware. Signed-off-by: Stefan Agner --- drivers/serial/serial_bcm283x_pl011.c | 6 ------ include/configs/rpi.h | 3 +++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/serial/serial_bcm283x_pl011.c b/drivers/serial/serial_bcm283x_pl011.c index 7d172cdac0..fcba07f1c5 100644 --- a/drivers/serial/serial_bcm283x_pl011.c +++ b/drivers/serial/serial_bcm283x_pl011.c @@ -51,12 +51,6 @@ static int bcm283x_pl011_serial_probe(struct udevice *dev) if (ret) return ret; - /* - * TODO: Reinitialization doesn't always work for now, just skip - * init always - we know we're already initialized - */ - plat->skip_init = true; - return pl01x_serial_probe(dev); } diff --git a/include/configs/rpi.h b/include/configs/rpi.h index 7257659932..7fdf2a891d 100644 --- a/include/configs/rpi.h +++ b/include/configs/rpi.h @@ -33,6 +33,9 @@ */ #define CONFIG_SYS_SDRAM_SIZE SZ_128M +/* Define PL011 default clock */ +#define CONFIG_PL011_CLOCK 48000000 + /* Devices */ /* LCD */ -- 2.38.1