S25HS512 not functional with u-boot 2021.10.rc3
Harkirat Virk
harkiratsvirk at gmail.com
Tue Sep 14 20:50:33 CEST 2021
I have a custom board using imx6ul and Spansion S25HS512T Flash. On the current version of u-boot (2021.10.rc3) and I am guessing even previous ones the Spansion flash is not functioning
=> sf probe
drivers/core/uclass.c:325-uclass_find_device_by_seq() 0
drivers/core/uclass.c:333-uclass_find_device_by_seq() - 0 'spi at 21e0000'
drivers/core/uclass.c:336-uclass_find_device_by_seq() - found
drivers/spi/spi-uclass.c:282-spi_find_chip_select() fsl_qspi spi at 21e0000: spi_find_chip_select: plat=9ef2bf60, cs=0
drivers/core/uclass.c:325-uclass_find_device_by_seq() 0
drivers/core/uclass.c:333-uclass_find_device_by_seq() - 0 'spi at 21e0000'
drivers/core/uclass.c:336-uclass_find_device_by_seq() - found
drivers/spi/spi-uclass.c:282-spi_find_chip_select() fsl_qspi spi at 21e0000: spi_find_chip_select: plat=9ef2bf60, cs=0
drivers/core/uclass.c:325-uclass_find_device_by_seq() 0
drivers/core/uclass.c:333-uclass_find_device_by_seq() - 0 'iomuxc at 20e0000'
drivers/core/uclass.c:336-uclass_find_device_by_seq() - found
drivers/pinctrl/pinctrl-uclass.c:300-pinctrl_select_state_simple() jedec_spi_nor s25hs512t at 0: set_state_simple op missing
drivers/spi/fsl_qspi.c:464-fsl_qspi_prepare_lut() fsl_qspi spi at 21e0000: CMD[9f] lutval[0:1c00049f 1:0 2:0 3:0]
drivers/spi/spi-uclass.c:438- spi_get_bus_and_cs() spi_get_bus_and_cs: Error path, created=0, device 's25hs512t at 0'
Failed to initialize SPI flash at 0:0 (error -524)
Result is the same with different modes and frequencies, bus and CS are correct
My DTSI is
&qspi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qspi>;
status = "okay";
flash0: s25hs512t at 0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spansion,s25hs512t", "jedec,spi-nor";
spi-max-frequency = <40000000>;
spi-rx-bus-width = <4>;
spi-tx-bus-width = <4>;
reg = <0>;
spi-mode = <0>;
m25p,fast-read;
status = "okay";
/* some partition information*/
};
};
Defconfig has
CONFIG_SPI=y
CONFIG_DM_SPI=y
CONFIG_FSL_QSPI=y
CONFIG_MTD=y
CONFIG_DM_MTD=y
CONFIG_DM_SPI_FLASH=y
CONFIG_SF_DEFAULT_MODE=0
CONFIG_SF_DEFAULT_SPEED=40000000
CONFIG_SPI_FLASH_SPANSION=y
DM Tree
=> dm tree
Class Index Probed Driver Name
-----------------------------------------------------------
root 0 [ + ] root_driver root_driver
thermal 0 [ ] imx_thermal |-- imx_thermal
simple_bus 0 [ + ] simple_bus |-- soc
simple_bus 1 [ + ] simple_bus | |-- aips-bus at 2000000
simple_bus 2 [ + ] simple_bus | | |-- spba-bus at 2000000
serial 0 [ + ] serial_mxc | | | `-- serial at 2020000
gpio 0 [ ] gpio_mxc | | |-- gpio at 209c000
gpio 1 [ ] gpio_mxc | | |-- gpio at 20a0000
gpio 2 [ ] gpio_mxc | | |-- gpio at 20a4000
gpio 3 [ ] gpio_mxc | | |-- gpio at 20a8000
gpio 4 [ ] gpio_mxc | | |-- gpio at 20ac000
simple_bus 3 [ ] simple_bus | | |-- anatop at 20c8000
simple_bus 4 [ ] simple_bus | | |-- snvs at 20cc000
pinctrl 0 [ + ] fsl_imx6q_iomuxc | | `-- iomuxc at 20e0000
pinconfig 0 [ ] pinconfig | | |-- i2c1grp
pinconfig 1 [ ] pinconfig | | |-- i2c2grp
pinconfig 2 [ + ] pinconfig | | |-- qspigrp
pinconfig 3 [ ] pinconfig | | |-- ledsgrp
pinconfig 4 [ + ] pinconfig | | |-- uart1grp
pinconfig 5 [ + ] pinconfig | | |-- usdhc2grp
pinconfig 6 [ ] pinconfig | | `-- wdoggrp
simple_bus 5 [ + ] simple_bus | `-- aips-bus at 2100000
usb 0 [ ] ehci_mx6 | |-- usb at 2184000
mmc 0 [ + ] fsl_esdhc | |-- usdhc at 2194000
blk 0 [ ] mmc_blk | | `-- usdhc at 2194000.blk
i2c 0 [ ] i2c_mxc | |-- i2c at 21a0000
i2c 1 [ ] i2c_mxc | |-- i2c at 21a4000
spi 0 [ + ] fsl_qspi | `-- spi at 21e0000
spi_flash 0 [ ] jedec_spi_nor | `-- s25hs512t at 0
regulator 0 [ ] regulator_fixed |-- regulator-sd2-vmmc
led 0 [ ] gpio_led `-- leds
led 1 [ ] gpio_led |-- green
led 2 [ ] gpio_led |-- red
led 3 [ ] gpio_led `— amber
I am unable to identify source of error returning -524 or why SPI Flash initialisation fails
More information about the U-Boot
mailing list