From: Qianyu Gong Date: Wed, 3 Aug 2016 03:04:25 +0000 (+0800) Subject: net: fm: fix spi flash probe for using driver model X-Git-Tag: v2016.11-rc1~40^2~33 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=77b571da3b2c2fd46d6a80e4e045f3aae392d979;p=oweals%2Fu-boot.git net: fm: fix spi flash probe for using driver model 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 Reviewed-by: Jagan Teki Reviewed-by: Joe Hershberger Reviewed-by: York Sun --- diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c index 5eb773e587..17a088602b 100644 --- a/drivers/net/fm/fm.c +++ b/drivers/net/fm/fm.c @@ -368,8 +368,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; + + /* speed and mode will be read from DT */ + 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 {