u-boot-brain/drivers/spi
Nikita Kiryanov 155fa9af95 spi: mxc: fix sf probe when using mxc_spi
MXC SPI driver has a feature whereas a GPIO line can be used to force CS high
across multiple transactions. This is set up by embedding the GPIO information
in the CS value:

cs = (cs | gpio << 8)

This merge of cs and gpio data into one value breaks the sf probe command:
if the use of gpio is required, invoking "sf probe <cs>" will not work, because
the CS argument doesn't have the GPIO information in it. Instead, the user must
use "sf probe <cs | gpio << 8>". For example, if bank 2 gpio 30 is used to force
cs high on cs 0, bus 0, then instead of typing "sf probe 0" the user now must
type "sf probe 15872".

This is inconsistent with the description of the sf probe command, and forces
the user to be aware of implementaiton details.

Fix this by introducing a new board function: board_spi_cs_gpio(), which will
accept a naked CS value, and provide the driver with the relevant GPIO, if one
is necessary.

Cc: Eric Nelson <eric.nelson@boundarydevices.com>
Cc: Eric Benard <eric@eukrea.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Marek Vasut <marex@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
2014-09-24 17:25:39 +05:30
..
altera_spi.c spi: Add GPL-2.0+ SPDX-License-Identifier for missing files 2013-10-16 00:14:01 +05:30
andes_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
andes_spi.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
armada100_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
atmel_dataflash_spi.c spi: atmel_dataflash: Simplify AT91F_SpiEnable implementation 2014-03-17 21:54:57 +05:30
atmel_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
atmel_spi.h spi: atmel_spi: using ip version to check whether has wdrbt 2013-05-12 16:36:11 +02:00
bfin_spi.c blackfin: add spi and i2c specific get clock functions 2014-02-20 06:46:56 +01:00
bfin_spi6xx.c blackfin: add spi and i2c specific get clock functions 2014-02-20 06:46:56 +01:00
cf_qspi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cf_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
davinci_spi.c spi: davinci: Fix register address for SPI1_BUS 2014-06-19 17:53:59 -04:00
davinci_spi.h spi: davinci: add support for multiple bus and chip select 2014-04-17 17:24:39 -04:00
ep93xx_spi.c arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
exynos_spi.c exynos: spi: Fix calculation of SPI transaction start time 2014-08-06 00:18:01 +05:30
fdt_spi.c tegra114: add SPI driver 2013-03-25 09:56:07 -07:00
fsl_espi.c powerpc/espi: remove 80us delay to improve transfer performance 2014-06-05 12:56:20 -07:00
fsl_qspi.c arm: vf610: Add QSPI driver support 2014-06-09 09:18:09 +02:00
fsl_qspi.h arm: vf610: Add QSPI driver support 2014-06-09 09:18:09 +02:00
ftssp010_spi.c spi: Add Faraday SPI controller support 2014-01-11 12:21:30 +05:30
ich.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ich.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
kirkwood_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Makefile arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
mpc8xxx_spi.c Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
mpc52xx_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mxc_spi.c spi: mxc: fix sf probe when using mxc_spi 2014-09-24 17:25:39 +05:30
mxs_spi.c spi: mxs_spi: Configure chipselect after block reset 2013-08-27 19:39:39 +05:30
oc_tiny_spi.c spi: Add GPL-2.0+ SPDX-License-Identifier for missing files 2013-10-16 00:14:01 +05:30
omap3_spi.c drivers/spi/omap3: Bug fix of premature write transfer completion 2014-03-12 16:22:12 -04:00
omap3_spi.h spi: omap3: add support for more word lengths 2013-11-12 10:02:44 +01:00
sandbox_spi.c sandbox: Add implementation of spi_setup_slave_fdt() 2014-03-17 20:05:50 -06:00
sh_qspi.c spi: sh_qspi: Add header file that defines the address of registers 2014-01-16 08:07:20 +09:00
sh_spi.c spi: sh_spi: Use sh_spi_clear_bit() instead of open-coded 2014-01-11 12:21:31 +05:30
sh_spi.h sh_spi: Add 4 chip select signals supporting 2012-03-26 10:09:31 +09:00
soft_spi.c spi: soft_spi: Support NULL din/dout buffers 2014-06-08 23:12:27 +05:30
spi.c spi: Support half-duplex mode in FDT decode 2014-08-06 00:18:01 +05:30
tegra20_sflash.c ARM: tegra: Tegra20 pinmux cleanup 2014-04-17 08:41:05 -07:00
tegra20_slink.c Merge branch 'u-boot/master' into 'u-boot-arm/master' 2013-03-28 18:50:01 +01:00
tegra114_spi.c spi: tegra: clear RDY bit prior to every transfer 2013-12-19 00:00:51 +05:30
ti_qspi.c ti: qspi: populate slave device to set flash quad bit. 2014-06-06 17:46:14 -04:00
xilinx_spi.c spi: xilinx: Move timeout calculation out of the loop 2014-02-18 22:24:28 +05:30
xilinx_spi.h spi: Add GPL-2.0+ SPDX-License-Identifier for missing files 2013-10-16 00:14:01 +05:30
zynq_spi.c spi: Add zynq spi controller driver 2013-08-07 01:09:47 +05:30