[U-Boot] [PATCH v2 1/2] spl_spi: Read default speed and mode values from DT

Simon Goldschmidt simon.k.r.goldschmidt at gmail.com
Mon Nov 19 19:08:40 UTC 2018


On 19.11.2018 18:33, Patrick Delaunay wrote:
> In case of DT boot, don't read default speed and mode for SPI from
> CONFIG_*, instead read from DT node.
>
> Signed-off-by: Christophe Kerello <christophe.kerello at st.com>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>

I was commenting about code duplication, which is better now, so:

Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>

I do think it would be nice to invert the logic. That way, we could get 
completely rid of those two CONFIG_SF_DEFAULT settings for DM_SPI_FLASH 
boards (and eventually for all boards - when's the deadline for that?). 
But there are other places that still do it like you do here, so it's 
probably better to change them all at once...

Simon

> ---
>
> Changes in v2:
> - use variables to avoid duplicated code
>
>   common/spl/spl_spi.c | 10 ++++++++--
>   1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/common/spl/spl_spi.c b/common/spl/spl_spi.c
> index 8cd4830..b348b45 100644
> --- a/common/spl/spl_spi.c
> +++ b/common/spl/spl_spi.c
> @@ -74,15 +74,21 @@ static int spl_spi_load_image(struct spl_image_info *spl_image,
>   	unsigned payload_offs = CONFIG_SYS_SPI_U_BOOT_OFFS;
>   	struct spi_flash *flash;
>   	struct image_header *header;
> +	unsigned int max_hz = CONFIG_SF_DEFAULT_SPEED;
> +	unsigned int spi_mode = CONFIG_SF_DEFAULT_MODE;
>   
> +#ifdef CONFIG_DM_SPI_FLASH
> +	/* In DM mode defaults will be taken from DT */
> +	max_hz = 0, spi_mode = 0;
> +#endif
>   	/*
>   	 * Load U-Boot image from SPI flash into RAM
>   	 */
>   
>   	flash = spi_flash_probe(CONFIG_SF_DEFAULT_BUS,
>   				CONFIG_SF_DEFAULT_CS,
> -				CONFIG_SF_DEFAULT_SPEED,
> -				CONFIG_SF_DEFAULT_MODE);
> +				max_hz,
> +				spi_mode);
>   	if (!flash) {
>   		puts("SPI probe failed.\n");
>   		return -ENODEV;




More information about the U-Boot mailing list