From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Date: Sat, 25 Feb 2017 14:24:10 +0530 Subject: [U-Boot] [PATCH v2] cmd: sspi: Add an additional argument to set the bus frequency In-Reply-To: <1487355008-15826-1-git-send-email-philipp.tomsich@theobroma-systems.com> References: <20170217173640.GS26129@bill-the-cat> <1487355008-15826-1-git-send-email-philipp.tomsich@theobroma-systems.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Fri, Feb 17, 2017 at 11:40 PM, Philipp Tomsich wrote: > The spi command is rather useful for board verification, bring-up and > software testing. One use in our lab is the testing of the clock > code, which requires the ability to send data at different SPI clocks. > > The changeset adds an additional (optional) positional argument to the > 'spi' command that allows the selection of a SPI clock for > communication (the previous default of 1MHz is retained, if the > argument is omitted). > > Signed-off-by: Philipp Tomsich > --- > cmd/spi.c | 20 +++++++++++++------- > 1 file changed, 13 insertions(+), 7 deletions(-) > > diff --git a/cmd/spi.c b/cmd/spi.c > index f16ef9a..1cd2ebc 100644 > --- a/cmd/spi.c > +++ b/cmd/spi.c > @@ -30,6 +30,8 @@ > # define CONFIG_DEFAULT_SPI_MODE SPI_MODE_0 > #endif > > +#define SSPI_DEFAULT_HZ 1000000 > + > /* > * Values from last command. > */ > @@ -40,7 +42,7 @@ static int bitlen; > static uchar dout[MAX_SPI_BYTES]; > static uchar din[MAX_SPI_BYTES]; > > -static int do_spi_xfer(int bus, int cs) > +static int do_spi_xfer(int bus, int cs, unsigned int hz) > { > struct spi_slave *slave; > int ret = 0; > @@ -53,12 +55,12 @@ static int do_spi_xfer(int bus, int cs) > str = strdup(name); > if (!str) > return -ENOMEM; > - ret = spi_get_bus_and_cs(bus, cs, 1000000, mode, "spi_generic_drv", > + ret = spi_get_bus_and_cs(bus, cs, hz, mode, "spi_generic_drv", > str, &dev, &slave); > if (ret) > return ret; > #else > - slave = spi_setup_slave(bus, cs, 1000000, mode); > + slave = spi_setup_slave(bus, cs, hz, mode); > if (!slave) { > printf("Invalid device %d:%d\n", bus, cs); > return -EINVAL; > @@ -109,6 +111,7 @@ int do_spi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > char *cp = 0; > uchar tmp; > int j; > + unsigned int hz = SSPI_DEFAULT_HZ; Default value for DM_SPI is from DT, so assign 0 for DM_SPI. thanks! -- Jagan Teki Senior Linux Kernel Engineer | Amarula Solutions U-Boot, Linux | Upstream Maintainer Hyderabad, India.