From: Vignesh R <vigneshr@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4] dm: spi: Read default speed and mode values from DT
Date: Wed, 8 Jun 2016 10:17:31 +0530 [thread overview]
Message-ID: <5757A363.8030505@ti.com> (raw)
In-Reply-To: <1462861697-31261-1-git-send-email-vigneshr@ti.com>
On Tuesday 10 May 2016 11:58 AM, Vignesh R wrote:
> In case of DT boot, don't read default speed and mode for SPI from
> CONFIG_*, instead read from DT node. This will make sure that boards
> with multiple SPI/QSPI controllers can be probed at different
> bus frequencies and SPI modes.
>
> Signed-off-by: Vignesh R <vigneshr@ti.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
>
> ---
>
Gentle ping...
> v4: Update env_sf.c as well
>
> v3: Update commit message to mention SPI mode changes
>
> v2: Initialize speed, mode to 0 instead of -1
>
> cmd/sf.c | 2 ++
> common/env_sf.c | 8 ++++----
> drivers/spi/spi-uclass.c | 8 ++++++--
> 3 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/cmd/sf.c b/cmd/sf.c
> index 42862d9d921a..286906c3a151 100644
> --- a/cmd/sf.c
> +++ b/cmd/sf.c
> @@ -88,6 +88,8 @@ static int do_spi_flash_probe(int argc, char * const argv[])
> #ifdef CONFIG_DM_SPI_FLASH
> struct udevice *new, *bus_dev;
> int ret;
> + /* In DM mode defaults will be taken from DT */
> + speed = 0, mode = 0;
> #else
> struct spi_flash *new;
> #endif
> diff --git a/common/env_sf.c b/common/env_sf.c
> index 273098ceb605..c53200f5c6fe 100644
> --- a/common/env_sf.c
> +++ b/common/env_sf.c
> @@ -55,9 +55,9 @@ int saveenv(void)
> #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,
> - CONFIG_ENV_SPI_MAX_HZ,
> - CONFIG_ENV_SPI_MODE, &new);
> + 0, 0, &new);
> if (ret) {
> set_default_env("!spi_flash_probe_bus_cs() failed");
> return 1;
> @@ -245,9 +245,9 @@ int saveenv(void)
> #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,
> - CONFIG_ENV_SPI_MAX_HZ,
> - CONFIG_ENV_SPI_MODE, &new);
> + 0, 0, &new);
> if (ret) {
> set_default_env("!spi_flash_probe_bus_cs() failed");
> return 1;
> diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c
> index 5561f36762f9..5fb5630e2981 100644
> --- a/drivers/spi/spi-uclass.c
> +++ b/drivers/spi/spi-uclass.c
> @@ -264,6 +264,7 @@ int spi_get_bus_and_cs(int busnum, int cs, int speed, int mode,
> struct udevice **busp, struct spi_slave **devp)
> {
> struct udevice *bus, *dev;
> + struct dm_spi_slave_platdata *plat;
> bool created = false;
> int ret;
>
> @@ -280,8 +281,6 @@ int spi_get_bus_and_cs(int busnum, int cs, int speed, int mode,
> * SPI flash chip - we will bind to the correct driver.
> */
> if (ret == -ENODEV && drv_name) {
> - struct dm_spi_slave_platdata *plat;
> -
> debug("%s: Binding new device '%s', busnum=%d, cs=%d, driver=%s\n",
> __func__, dev_name, busnum, cs, drv_name);
> ret = device_bind_driver(bus, drv_name, dev_name, &dev);
> @@ -308,6 +307,11 @@ int spi_get_bus_and_cs(int busnum, int cs, int speed, int mode,
> slave->dev = dev;
> }
>
> + plat = dev_get_parent_platdata(dev);
> + if (!speed) {
> + speed = plat->max_hz;
> + mode = plat->mode;
> + }
> ret = spi_set_speed_mode(bus, speed, mode);
> if (ret)
> goto err;
>
--
Regards
Vignesh
next prev parent reply other threads:[~2016-06-08 4:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-10 6:28 [U-Boot] [PATCH v4] dm: spi: Read default speed and mode values from DT Vignesh R
2016-06-08 4:47 ` Vignesh R [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-02-27 14:36 [U-Boot] [PATCH v4 0/1] " Patrick Delaunay
2019-02-27 14:36 ` [U-Boot] [PATCH v4] dm: spi: " Patrick Delaunay
2019-04-12 6:26 ` Jagan Teki
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=5757A363.8030505@ti.com \
--to=vigneshr@ti.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.