summaryrefslogtreecommitdiff
path: root/drivers/spi
AgeCommit message (Collapse)Author
2016-03-15spi: omap3: Fix multiple definition of 'priv'Jagan Teki
Global definition of priv seems no-sense to use it for non-dm case and pass the pointer to functions which are common to both dm and non-dm. So, fix this by removing omap3_spi_slave from non-dm and make visible to omap3_spi_priv for both dm and non-dm. Cc: Christophe Ricard <[email protected]> Reported-by: Tom Rini <[email protected]> Signed-off-by: Jagan Teki <[email protected]>
2016-03-14spi: omap3: Convert to driver modelJagan Teki
After this conversion the driver will able to support both dm and non-dm and code is more extensible like we can remove the non-dm part simply without touching anycode if all the boards which are using this driver become dm driven. Cc: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Christophe Ricard <[email protected]> Tested-by: Christophe Ricard <[email protected]> Signed-off-by: Jagan Teki <[email protected]> [Set priv->wordlen, Add Kconfig entry and file credit for dm conversion] Signed-off-by: Christophe Ricard <[email protected]>
2016-03-14spi: omap3: Make local functions as staticJagan Teki
Attach static on local defined functions. Cc: Tom Rini <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Jagan Teki <[email protected]> Signed-off-by: Christophe Ricard <[email protected]>
2016-03-14spi: omap3: Move headers code inside the driverJagan Teki
Header file have macro's and register definition and some unneeded function proto types which becomes tunned further in future patches and entire driver code resides in one file for more readability. Cc: Tom Rini <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Jagan Teki <[email protected]> [Fixes on code styles, Remove omap3_spi_txrx|write|read in header] Signed-off-by: Christophe Ricard <[email protected]>
2016-03-12dm: ti_qspi: Fix conversion of address to a pointerLokesh Vutla
TI QSPI driver directly typecasts fdt_addr_t to a pointer. This is not strictly correct, as it gives a build warning when fdt_addr_t is u64. So, use map_physmem for a proper typecasts. This is inspired by commit 167efe01bc5a9 ("dm: ns16550: Use an address instead of a pointer for the uart base") Signed-off-by: Lokesh Vutla <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Mugunthan V N <[email protected]>
2016-02-23spi: spi-uclass: Set slave wordlen with SPI_DEFAULT_WORDLENChristophe Ricard
In some case wordlen may not be set. Use SPI_DEFAULT_WORDLEN as default. Signed-off-by: Christophe Ricard <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-02-23spi: omap3: Remove unused variable irqstatus in omap3_spi_txrxChristophe Ricard
Remove unused variable irqstatus in omap3_spi_txrx Signed-off-by: Christophe Ricard <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-02-23spi: ti_qspi: compile out spi_flash_copy_mmap when CONFIG_DMA is definedMugunthan V N
When CONFIG_DMA is defined the default spi_flash_copy_mmap() can handle dma memory copy, so compile out spi_flash_copy_mmap() from ti_qspi driver when CONFIG_DMA config is defined. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-02-05dm: pch: Rename get_sbase op to get_spi_baseBin Meng
Spell out 'sbase' to 'spi_base' so that it looks clearer. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-02-05spi: ich: Change PCHV_ to ICHV_Bin Meng
The ICH SPI controller supports two variants, one of which is ICH7 compatible and the other is ICH9 compatible. Change 'pch_version' to 'ich_version' to better match its original name. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-02-05spi: ich: Use compatible strings to distinguish controller versionBin Meng
At present ich spi driver gets the controller version information via pch, but this can be simply retrieved via spi node's compatible string. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-02-05spi: ich: Some clean upBin Meng
This cleans up the ich spi driver a little bit: - Remove struct ich_spi_slave that is not referenced anywhere - Remove ending period in some comments - Move struct ich_spi_platdata and struct ich_spi_priv to ich.h - Add #ifndef _ICH_H_ .. in ich.h Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-27Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriqTom Rini
2016-01-27spi: fsl_qspi: Fix qspi_op_rdsr memcpy issueGong Qianyu
In current driver, we always copy 4 bytes to the dest memory. Actually the dest memory may be shorter than 4 bytes. Add an argument to indicate the dest memory length. Avoid writing memory outside of the bounds. Signed-off-by: Gong Qianyu <[email protected]> Reviewed-by: York Sun <[email protected]>
2016-01-27spi: fsl_qspi: Fix qspi_op_rdid memcpy issueGong Qianyu
In current driver everytime we memcpy 4 bytes to the dest memory regardless of the remaining length. This patch adds checking the remaining length before memcpy. If the length is shorter than 4 bytes, memcpy the actual length of data to the dest memory. Signed-off-by: Gong Qianyu <[email protected]> Reviewed-by: York Sun <[email protected]>
2016-01-27spi: fsl_qspi: fix compile warning for 64-bit platformGong Qianyu
This patch fixes the following compile warning: drivers/spi/fsl_qspi.c: In function 'fsl_qspi_probe': drivers/spi/fsl_qspi.c:937:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] priv->regs = (struct fsl_qspi_regs *)plat->reg_base; ^ Just make the cast explicit. Signed-off-by: Gong Qianyu <[email protected]> Reviewed-by: York Sun <[email protected]>
2016-01-24dm: x86: spi: Convert ICH SPI driver to driver model PCI APISimon Glass
At present this SPI driver works by searching the PCI buses for its peripheral. It also uses the legacy PCI API. In addition the driver has code to determine the type of Intel PCH that is used (version 7 or version 9). Now that we have proper PCH drivers we can use those to obtain the information we need. While the device tree has a node for the SPI peripheral it is not in the right place. It should be on the PCI bus as a sub-peripheral of the LPC device. Update the device tree files to show the SPI controller within the PCH, so that PCI access works as expected. This patch includes Bin's fix-up patch from here: https://patchwork.ozlabs.org/patch/569478/ Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2016-01-24spi: ich: Separate out the read/write trace from normal debuggingSimon Glass
The trace is seldom useful for basic debugging. Allow it to be enabled separately so that it is easier to see the more important init and error debug messages. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-01-21rockchip: spi: Remove the explicit pinctrl settingSimon Glass
The correct pinctrl is handled automatically so we don't need to do it in the driver. The exception is when we want to use a different chip select (other than 0). But this isn't used at present. Signed-off-by: Simon Glass <[email protected]>
2016-01-21rockchip: spi: Correct chip-enable codeSimon Glass
At present there is an incorrect call to rkspi_enable_chip(). It should be disabling the chip, not enabling it. Correct this and ensure that the chip is disabled when releasing the bus. Signed-off-by: Simon Glass <[email protected]>
2016-01-21rockchip: spi: Implement the delaysSimon Glass
Some devices need delays before and after activiation. Implement these features in the SPI driver so that we will be able to enable the Chrome OS EC. Signed-off-by: Simon Glass <[email protected]>
2016-01-21rockchip: spi: Correct the bus init codeSimon Glass
Two of the init values are created locally so cannot be out of range. The masking is unnecessary and in one case is incorrect. Fix it. Signed-off-by: Simon Glass <[email protected]>
2016-01-21rockchip: spi: Remember the last speed to avoid re-setting itSimon Glass
Rather than changing the clock to the same value on every transaction, remember the last value and don't adjust the clock unless it is necessary. Signed-off-by: Simon Glass <[email protected]>
2016-01-21rockchip: spi: Avoid setting the pinctrl twiceSimon Glass
If full pinctrl is enabled we don't need to manually set the pinctrl in the driver. It will happen automatically. Adjust the code to suit - we will still use manual mode in SPL. Signed-off-by: Simon Glass <[email protected]>
2016-01-21rockchip: spi: Update the driver to use the new clock IDSimon Glass
We can use the new clk_get_by_index() function to get the correct clock. Signed-off-by: Simon Glass <[email protected]>
2016-01-20spi: ti_qspi: Use 4-byte opcode for mmap readVignesh R
ti-qspi driver currently uses 3-byte addressing mode(and opcodes) for memory-mapped read. This restricts maximum addressable flash size to 16MB. Enable the 4-byte addressing(and use 4-byte opcode) for memory-mapped read to allow access to addresses above 16MB. Signed-off-by: Ravi Babu <[email protected]> [[email protected]: Re-word commit description] Signed-off-by: Vignesh R <[email protected]>
2016-01-19spi: rk_spi: Fix debug format warningTom Rini
We need to use %lx not %x to describe a fdt_addr_t Cc: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2016-01-19Add more SPDX-License-Identifier tagsTom Rini
In a number of places we had wordings of the GPL (or LGPL in a few cases) license text that were split in such a way that it wasn't caught previously. Convert all of these to the correct SPDX-License-Identifier tag. Signed-off-by: Tom Rini <[email protected]>
2016-01-14spi: kirkwood_spi.c: Add driver model supportStefan Roese
This patch adds driver model support to the kirkwood SPI driver. Which is also used on the MVEBU SoC's, now being converted to DM. Non-DM support is still available for the "older" platforms using this driver, like kirkwood. Signed-off-by: Stefan Roese <[email protected]> Cc: Valentin Longchamp <[email protected]> Cc: Luka Perkov <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Simon Glass <[email protected]>
2016-01-14spi: kirkwood_spi.c: Prepare for driver model supportStefan Roese
This patch prepares the Kirkwood SPI driver, also used on the MVEBU board (Armada XP / 38x), for the conversion to driver model. Signed-off-by: Stefan Roese <[email protected]> Cc: Valentin Longchamp <[email protected]> Cc: Luka Perkov <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Simon Glass <[email protected]>
2016-01-13drivers: spi: ti_qspi: convert driver to adopt device driver modelMugunthan V N
adopt ti_qspi driver to device driver model Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13spi: Add support for dual and quad modeMugunthan V N
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 <[email protected]> Reviewed-by: Jagan Teki <[email protected]> Signed-off-by: Jagan Teki <[email protected]>
2016-01-13drivers: spi: ti_qspi: prepare driver for DM conversionMugunthan V N
Prepare driver for DM conversion. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13drivers: spi:ti_qspi: change ti_qspi_slave to ti_qspi_priv for driver model ↵Mugunthan V N
conversion Changing the ti_qspi_priv structure and its instance names from to priv for driver mode conversion. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13drivers: spi: ti_qspi: do not hard code chip select for memory map configurationMugunthan V N
To enable memory map in dra7xx, specific chip select must be written to control module register. But this hard coded to chip select 1, fixing it by writing the specific chip select value to control module register. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13spi: Rename op_mode_rx to mode_rxJagan Teki
Since spi rx mode macro's are renamed to simple and meaninfull, this patch will rename the respective structure members. Cc: Simon Glass <[email protected]> Cc: Bin Meng <[email protected]> Cc: Michal Simek <[email protected]> Cc: Siva Durga Prasad Paladugu <[email protected]> Tested-by: Mugunthan V N <[email protected]> Tested-by: Jagan Teki <[email protected]> Signed-off-by: Jagan Teki <[email protected]>
2016-01-13spi: Rename SPI_OPM_RX_* to SPI_RX_*Jagan Teki
SPI_OPM_RX_AS - SPI_RX_SLOW SPI_OPM_RX_AF - SPI_RX_FAST SPI_OPM_RX_DOUT - SPI_RX_DUAL SPI_OPM_RX_QOF - SPI_RX_QUAD Cc: Simon Glass <[email protected]> Cc: Michal Simek <[email protected]> Cc: Siva Durga Prasad Paladugu <[email protected]> Tested-by: Mugunthan V N <[email protected]> Tested-by: Bin Meng <[email protected]> Tested-by: Jagan Teki <[email protected]> Reviewed-by: Bin Meng <[email protected]> Signed-off-by: Jagan Teki <[email protected]>
2016-01-13spi: Rename SPI_TX_BP|QPP to SPI_TX_BYTE|QUADJagan Teki
Since SPI_TX_* are spi_slave{} members so use spi protocol notation instead spi flash programming, like SPI_TX_BP => SPI_TX_BYTE SPI_TX_QPP => SPI_TX_QUAD Cc: Simon Glass <[email protected]> Tested-by: Jagan Teki <[email protected]> Tested-by: Bin Meng <[email protected]> Reviewed-by: Bin Meng <[email protected]> Signed-off-by: Jagan Teki <[email protected]>
2016-01-13spi: Use mode instead of op_mode_txJagan Teki
Used mode member from spi_slave{} instead of op_mode_tx. Cc: Simon Glass <[email protected]> Tested-by: Jagan Teki <[email protected]> Tested-by: Bin Meng <[email protected]> Reviewed-by: Bin Meng <[email protected]> Signed-off-by: Jagan Teki <[email protected]>
2016-01-07spi: fsl_qspi: fix an error of using GENMASKGong Qianyu
This commit fixes the change of below commit "spi: fsl_qspi: Use GENMASK" (sha1 :bad490a24212c068c5b718b9189f47ea4075d078) Signed-off-by: Gong Qianyu <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2015-12-18spi: zynq_qspi: Add configuration to disable LQSPI featureNathan Rossi
When the Zynq Boot ROM code loads the payload from QSPI it uses the LQSPI feature of the QSPI device, however it does not clean up its configuration before handing over to the payload which leaves the device confgured to by-pass the standard non-linear operating mode. This ensures the Linear QSPI mode is disabled before re-enabling the device. Signed-off-by: Nathan Rossi <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Siva Durga Prasad Paladugu <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2015-12-15fsl_qspi: Pet the watchdog while reading/writingAlexander Stein
When reading a large blob. e.g. a linux kernel (several MiBs) a watchdog timeout might occur meanwhile. So pet the watchdog while operating on the flash. Signed-off-by: Alexander Stein <[email protected]> Reviewed-by: York Sun <[email protected]>
2015-12-11spi: xilinx: Add new compatible stringsMichal Simek
Add xlnx,xps-spi-2.00.a/b which is compatible string listed in the Linux kernel. Remove origin one which has no real background. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2015-12-11spi: Kconfig: Fix correct target name for ZynqMPMichal Simek
ZynqMP is using different symbol. Use correct one. Reviewed-by: Jagan Teki <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2015-12-11spi: zynq_spi: Add cadence compatible stringMichal Simek
Extend compatible list table for cdns,spi-r1p6 compatible string. Reviewed-by: Jagan Teki <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2015-12-11spi: ti_qspi: Fix SPI_3WIRE checking using modeJagan Teki
SPI_3WIRE is spi mode not spi flags, so this patch fixed the spi-3wire checking throgh mode instead of flags. Cc: Mugunthan V N <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Jagan Teki <[email protected]>
2015-12-11spi: Get spi-3wire from dtsJagan Teki
spi-3wire is used when SI/SO signals shared so get the same from dts node and assign to mode on slave plat->mode. Acked-by: Simon Glass <[email protected]> Signed-off-by: Jagan Teki <[email protected]>
2015-11-19Move console definitions into a new console.h fileSimon Glass
The console includes a global variable and several functions that are only used by a small subset of U-Boot files. Before adding more functions, move the definitions into their own header file. Signed-off-by: Simon Glass <[email protected]>
2015-11-19Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini
2015-11-19dm: spi: Add support for all targets which requires MANUAL_RELOCMichal Simek
It is follow up patch based on "dm: Add support for all targets which requires MANUAL_RELOC" (sha1: 484fdf5ba058b07be5ca82763aa2b72063540ef3) to update function pointers for DM. Signed-off-by: Michal Simek <[email protected]> Acked-by: Simon Glass <[email protected]>