[U-Boot] [PATCH 1/2] net: fm: fix spi flash probe for using driver model

york sun york.sun at nxp.com
Wed Jul 27 19:34:43 CEST 2016


On 07/20/2016 03:51 AM, Gong Qianyu wrote:
> The current code would always use the speed and mode set by
> CONFIG_ENV_SPI_MAX_HZ and CONFIG_ENV_SPI_MODE. But if using
> SPI driver model it should get the values from DT.
>
> Signed-off-by: Gong Qianyu <Qianyu.Gong at nxp.com>
> ---
>  drivers/net/fm/fm.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c
> index 00cdfd4..6308d22 100644
> --- a/drivers/net/fm/fm.c
> +++ b/drivers/net/fm/fm.c
> @@ -371,8 +371,18 @@ int fm_init_common(int index, struct ccsr_fman *reg)
>  	void *addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
>  	int ret = 0;
>
> +#ifdef CONFIG_DM_SPI_FLASH
> +	struct udevice *new;
> +
> +	/* Will get the speed and mode from Device Tree */
> +	ret = spi_flash_probe_bus_cs(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
> +				     0, 0, &new);
> +
> +	ucode_flash = dev_get_uclass_priv(new);
> +#else
>  	ucode_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
>  			CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
> +#endif
>  	if (!ucode_flash)
>  		printf("SF: probe for ucode failed\n");
>  	else {
>

Why not just use spi_flash_probe() with speed and mode passed as 0?

York


More information about the U-Boot mailing list