[U-Boot] [PATCH 03/12 v2] serial: atmel_usart: Use fixed clock value in SPL version with DM_SERIAL
Eugen.Hristev at microchip.com
Eugen.Hristev at microchip.com
Fri Mar 29 09:54:06 UTC 2019
On 26.03.2019 14:16, Stefan Roese wrote:
> This patch adds an alterative SPL version of atmel_serial_enable_clk().
> This enables the usage of this driver without full clock support (in
> drivers and DT nodes). This saves some space in the SPL image.
>
> Please note that this fixed clock support is only added to the SPL code
> in the DM_SERIAL part of this file. All boards not using SPL & DM_SERIAL
> should not be affected.
Hello Stefan,
For example, sama5d2_xplained_mmc_defconfig has DM_SERIAL and SPL.
This means it's affected ? If so, then it's not OK to take it as-is.
And another question, is the rest of your patch series OK if this patch
is missing ? Or it's any dependency on this ? the SPL for Gardena will
not fit in the SRAM without this patch ?
Eugen
>
> If some boards need a different clock than the one provided with this
> patch, then support for this needs to be added later.
>
> Signed-off-by: Stefan Roese <sr at denx.de>
> Cc: Heiko Schocher <hs at denx.de>
> Cc: Andreas Bießmann <andreas at biessmann.org>
> Cc: Eugen Hristev <eugen.hristev at microchip.com>
> ---
> v2:
> - Reword patch subject and commit text to make it more clear, that
> this change only affects ports with SPL and DM_SERIAL enabled
>
> drivers/serial/atmel_usart.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/serial/atmel_usart.c b/drivers/serial/atmel_usart.c
> index aa8cdff840..049172baef 100644
> --- a/drivers/serial/atmel_usart.c
> +++ b/drivers/serial/atmel_usart.c
> @@ -218,6 +218,17 @@ static const struct dm_serial_ops atmel_serial_ops = {
> .setbrg = atmel_serial_setbrg,
> };
>
> +#ifdef CONFIG_SPL_BUILD
> +static int atmel_serial_enable_clk(struct udevice *dev)
> +{
> + struct atmel_serial_priv *priv = dev_get_priv(dev);
> +
> + /* Use fixed clock value in SPL */
> + priv->usart_clk_rate = 132096000;
> +
> + return 0;
> +}
> +#else
> static int atmel_serial_enable_clk(struct udevice *dev)
> {
> struct atmel_serial_priv *priv = dev_get_priv(dev);
> @@ -245,6 +256,7 @@ static int atmel_serial_enable_clk(struct udevice *dev)
>
> return 0;
> }
> +#endif
>
> static int atmel_serial_probe(struct udevice *dev)
> {
>
More information about the U-Boot
mailing list