[U-Boot] [RESEND Patch v2] net: fm: fix spi flash probe for using driver model
Gong Qianyu
Qianyu.Gong at nxp.com
Fri Sep 2 08:14:49 CEST 2016
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>
Reviewed-by: Jagan Teki <jteki at openedev.com>
Reviewed-by: Joe Hershberger <joe.hershberger at ni.com>
---
v2:
- Revised the comments as per Jagan's advice.
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 5eb773e..17a0886 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 {
--
2.1.0.27.g96db324
More information about the U-Boot
mailing list