On Sunday 06 December 2015 08:13 PM, Jagan Teki wrote: > On 6 December 2015 at 11:33, Mugunthan V N <mugunthan...@ti.com> wrote: >> On Thursday 03 December 2015 09:37 PM, Jagan Teki wrote: >>> On 19 November 2015 at 12:35, Mugunthan V N <mugunthan...@ti.com> wrote: >>>> spi bus can support dual and quad wire data transfers for tx and >>>> rx. So defining dual and quad modes for both tx and rx. Also add >>>> support to parse bus width used for spi tx and rx transfers. >>>> >>>> Signed-off-by: Mugunthan V N <mugunthan...@ti.com> >>>> Reviewed-by: Simon Glass <s...@chromium.org> >>>> Reviewed-by: Tom Rini <tr...@konsulko.com> >>>> --- >>>> drivers/spi/spi-uclass.c | 33 +++++++++++++++++++++++++++++++++ >>>> include/spi.h | 4 ++++ >>>> 2 files changed, 37 insertions(+) >>>> >>>> diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c >>>> index 58388ef..62d8da7 100644 >>>> --- a/drivers/spi/spi-uclass.c >>>> +++ b/drivers/spi/spi-uclass.c >>>> @@ -349,6 +349,7 @@ int spi_slave_ofdata_to_platdata(const void *blob, int >>>> node, >>>> struct dm_spi_slave_platdata *plat) >>>> { >>>> int mode = 0; >>>> + int value; >>>> >>>> plat->cs = fdtdec_get_int(blob, node, "reg", -1); >>>> plat->max_hz = fdtdec_get_int(blob, node, "spi-max-frequency", 0); >>>> @@ -360,6 +361,38 @@ int spi_slave_ofdata_to_platdata(const void *blob, >>>> int node, >>>> mode |= SPI_CS_HIGH; >>>> if (fdtdec_get_bool(blob, node, "spi-half-duplex")) >>>> mode |= SPI_PREAMBLE; >>>> + >>>> + /* Device DUAL/QUAD mode */ >>>> + value = fdtdec_get_uint(blob, node, "spi-tx-bus-width", 1); >>>> + switch (value) { >>>> + case 1: >>>> + break; >>>> + case 2: >>>> + mode |= SPI_TX_DUAL; >>>> + break; >>>> + case 4: >>>> + mode |= SPI_TX_QUAD; >>>> + break; >>>> + default: >>>> + error("spi-tx-bus-width %d not supported\n", value); >>>> + break; >>>> + } >>>> + >>>> + value = fdtdec_get_uint(blob, node, "spi-rx-bus-width", 1); >>>> + switch (value) { >>>> + case 1: >>>> + break; >>>> + case 2: >>>> + mode |= SPI_RX_DUAL; >>>> + break; >>>> + case 4: >>>> + mode |= SPI_RX_QUAD; >>>> + break; >>>> + default: >>>> + error("spi-rx-bus-width %d not supported\n", value); >>>> + break; >>>> + } >>>> + >>> >>> I think these are similar to SPI TX/RX operation modes in spi.h and I >>> understand this is similar approach as with Linux but before this we >>> need to do many changes on u-boot as well. >> >> I agree that op_mode_rx/op_mode_tx can be used. I just tried to follow >> Linux way of implementation to have consistency between Linux and > > Agreed but the way these mode or flags handling in Linux vs u-boot is > different. > >> U-Boot. If you feel that using op_mode_(rx/tx) will be the best >> approach, I can repost the series with the changes. > > If this is a dependent patch wrt series pls- do otherwise bypass this > with your series now once we handle these mode/flags with Linux way > will add till now will mark it as "Under review" on patchwork. >
08/16 patch is dependent on this patch where the mode is used to select dual/quad mode. I will respin 05 (this patch) and 08 patch as a follow-up patch. Regards Mugunthan V N _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot