u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: Harkirat Virk <harkiratsvirk@gmail.com>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>
Subject: Re: S25HS512 not functional with u-boot 2021.10.rc3
Date: Thu, 23 Sep 2021 20:49:19 -0600	[thread overview]
Message-ID: <CAPnjgZ0=8cwGKgKjd_EubgmLpzq85wxM_=Ma3F7=dYfapvoT_A@mail.gmail.com> (raw)
In-Reply-To: <708882D3-8802-48F5-87BF-3A089ADB7391@gmail.com>

Hi Harkirat,

On Tue, 14 Sept 2021 at 19:50, Harkirat Virk <harkiratsvirk@gmail.com> wrote:
>
> 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@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@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@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@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@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@0: set_state_simple op missing
> drivers/spi/fsl_qspi.c:464-fsl_qspi_prepare_lut() fsl_qspi spi@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@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@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@2000000
>  simple_bus    2  [ + ]   simple_bus            |   |   |-- spba-bus@2000000
>  serial        0  [ + ]   serial_mxc            |   |   |   `-- serial@2020000
>  gpio          0  [   ]   gpio_mxc              |   |   |-- gpio@209c000
>  gpio          1  [   ]   gpio_mxc              |   |   |-- gpio@20a0000
>  gpio          2  [   ]   gpio_mxc              |   |   |-- gpio@20a4000
>  gpio          3  [   ]   gpio_mxc              |   |   |-- gpio@20a8000
>  gpio          4  [   ]   gpio_mxc              |   |   |-- gpio@20ac000
>  simple_bus    3  [   ]   simple_bus            |   |   |-- anatop@20c8000
>  simple_bus    4  [   ]   simple_bus            |   |   |-- snvs@20cc000
>  pinctrl       0  [ + ]   fsl_imx6q_iomuxc      |   |   `-- iomuxc@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@2100000
>  usb           0  [   ]   ehci_mx6              |       |-- usb@2184000
>  mmc           0  [ + ]   fsl_esdhc             |       |-- usdhc@2194000
>  blk           0  [   ]   mmc_blk               |       |   `-- usdhc@2194000.blk
>  i2c           0  [   ]   i2c_mxc               |       |-- i2c@21a0000
>  i2c           1  [   ]   i2c_mxc               |       |-- i2c@21a4000
>  spi           0  [ + ]   fsl_qspi              |       `-- spi@21e0000
>  spi_flash     0  [   ]   jedec_spi_nor         |           `-- s25hs512t@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

I'm not sure. Is that the full DT node or are you relying on a .dtis
file? Can you look in spi_get_bus_and_cs() and see where it fails?

There is a pattern we use to find the call stack of an error without a debugger:

ret = do_something(...);
if (ret)
   return log_msg_ret("what", ret);

then enable CONFIG_LOG_ERROR_RETURN

-ENOTSUP is used by pinctrl so perhaps pinctrl_qspi is failing?

Regards,
SImon

  reply	other threads:[~2021-09-24  2:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-14 18:50 S25HS512 not functional with u-boot 2021.10.rc3 Harkirat Virk
2021-09-24  2:49 ` Simon Glass [this message]
2021-09-28  9:13 ` [EXT] " Kuldeep Singh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPnjgZ0=8cwGKgKjd_EubgmLpzq85wxM_=Ma3F7=dYfapvoT_A@mail.gmail.com' \
    --to=sjg@chromium.org \
    --cc=harkiratsvirk@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).