[EXT] S25HS512 not functional with u-boot 2021.10.rc3
Kuldeep Singh
kuldeep.singh at nxp.com
Tue Sep 28 11:13:47 CEST 2021
Hi Harkirat,
> -----Original Message-----
> From: U-Boot <u-boot-bounces at lists.denx.de> On Behalf Of Harkirat Virk
> Sent: Wednesday, September 15, 2021 12:21 AM
> To: u-boot at lists.denx.de
> Subject: [EXT] S25HS512 not functional with u-boot 2021.10.rc3
>
> Caution: EXT Email
>
> 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]
Did you try enabling debug logs in spi-nor framework(spi-nor-core.c) and see what jedec id's were return after issuing the command?
And does it match with the one's present in spi-nor-ids.c?
> 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";
Please use compatible as "jedec,spi-nor" as it is sufficient to detect the flash automatically.
> spi-max-frequency = <40000000>;
> spi-rx-bus-width = <4>;
> spi-tx-bus-width = <4>;
Since flash cannot be probed, I would recommend using <rx,tx> bus-width as <1,1>.
Using <4,4> bus-width will require SPI_FLASH_SFDP to be enabled in defconfig.
Regards
Kuldeep
> 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