-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'spi-v3.15' into spi-linus
spi: Updates for v3.15 A busy release for both cleanups and new drivers this time along with further factoring out of replicated code into the core: - Provide support in the core for DMA mapping transfers - essentially all drivers weren't implementing this properly, now there's no excuse. - Dual and quad mode support for spidev. - Fix handling of cs_change in the generic implementation. - Remove the S3C_DMA code from the s3c64xx driver now that all the platforms using it have been converted to dmaengine. - Lots of improvements to the Renesas SPI controllers. - Drivers for Allwinner A10 and A31, Qualcomm QUP and Xylinx xtfpga. - Removal of the bitrotted ti-ssp driver. # gpg: Signature made Mon 31 Mar 2014 12:03:09 BST using RSA key ID 7EA229BD # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>" # gpg: aka "Mark Brown <broonie@debian.org>" # gpg: aka "Mark Brown <broonie@kernel.org>" # gpg: aka "Mark Brown <broonie@tardis.ed.ac.uk>" # gpg: aka "Mark Brown <broonie@linaro.org>" # gpg: aka "Mark Brown <Mark.Brown@linaro.org>"
- Loading branch information
Showing
87 changed files
with
4,129 additions
and
2,298 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
Qualcomm Universal Peripheral (QUP) Serial Peripheral Interface (SPI) | ||
|
||
The QUP core is an AHB slave that provides a common data path (an output FIFO | ||
and an input FIFO) for serial peripheral interface (SPI) mini-core. | ||
|
||
SPI in master mode supports up to 50MHz, up to four chip selects, programmable | ||
data path from 4 bits to 32 bits and numerous protocol variants. | ||
|
||
Required properties: | ||
- compatible: Should contain "qcom,spi-qup-v2.1.1" or "qcom,spi-qup-v2.2.1" | ||
- reg: Should contain base register location and length | ||
- interrupts: Interrupt number used by this controller | ||
|
||
- clocks: Should contain the core clock and the AHB clock. | ||
- clock-names: Should be "core" for the core clock and "iface" for the | ||
AHB clock. | ||
|
||
- #address-cells: Number of cells required to define a chip select | ||
address on the SPI bus. Should be set to 1. | ||
- #size-cells: Should be zero. | ||
|
||
Optional properties: | ||
- spi-max-frequency: Specifies maximum SPI clock frequency, | ||
Units - Hz. Definition as per | ||
Documentation/devicetree/bindings/spi/spi-bus.txt | ||
|
||
SPI slave nodes must be children of the SPI master node and can contain | ||
properties described in Documentation/devicetree/bindings/spi/spi-bus.txt | ||
|
||
Example: | ||
|
||
spi_8: spi@f9964000 { /* BLSP2 QUP2 */ | ||
|
||
compatible = "qcom,spi-qup-v2"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
reg = <0xf9964000 0x1000>; | ||
interrupts = <0 102 0>; | ||
spi-max-frequency = <19200000>; | ||
|
||
clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; | ||
clock-names = "core", "iface"; | ||
|
||
pinctrl-names = "default"; | ||
pinctrl-0 = <&spi8_default>; | ||
|
||
device@0 { | ||
compatible = "arm,pl022-dummy"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
reg = <0>; /* Chip select 0 */ | ||
spi-max-frequency = <19200000>; | ||
spi-cpol; | ||
}; | ||
|
||
device@1 { | ||
compatible = "arm,pl022-dummy"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
reg = <1>; /* Chip select 1 */ | ||
spi-max-frequency = <9600000>; | ||
spi-cpha; | ||
}; | ||
|
||
device@2 { | ||
compatible = "arm,pl022-dummy"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
reg = <2>; /* Chip select 2 */ | ||
spi-max-frequency = <19200000>; | ||
spi-cpol; | ||
spi-cpha; | ||
}; | ||
|
||
device@3 { | ||
compatible = "arm,pl022-dummy"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
reg = <3>; /* Chip select 3 */ | ||
spi-max-frequency = <19200000>; | ||
spi-cpol; | ||
spi-cpha; | ||
spi-cs-high; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,29 @@ | ||
Renesas HSPI. | ||
|
||
Required properties: | ||
- compatible : "renesas,hspi" | ||
- reg : Offset and length of the register set for the device | ||
- interrupts : interrupt line used by HSPI | ||
- compatible : "renesas,hspi-<soctype>", "renesas,hspi" as fallback. | ||
Examples with soctypes are: | ||
- "renesas,hspi-r8a7778" (R-Car M1) | ||
- "renesas,hspi-r8a7779" (R-Car H1) | ||
- reg : Offset and length of the register set for the device | ||
- interrupt-parent : The phandle for the interrupt controller that | ||
services interrupts for this device | ||
- interrupts : Interrupt specifier | ||
- #address-cells : Must be <1> | ||
- #size-cells : Must be <0> | ||
|
||
Pinctrl properties might be needed, too. See | ||
Documentation/devicetree/bindings/pinctrl/renesas,*. | ||
|
||
Example: | ||
|
||
hspi0: spi@fffc7000 { | ||
compatible = "renesas,hspi-r8a7778", "renesas,hspi"; | ||
reg = <0xfffc7000 0x18>; | ||
interrupt-parent = <&gic>; | ||
interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
status = "disabled"; | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,40 @@ | ||
Renesas MSIOF spi controller | ||
|
||
Required properties: | ||
- compatible : "renesas,sh-msiof" for SuperH or | ||
"renesas,sh-mobile-msiof" for SH Mobile series | ||
- reg : Offset and length of the register set for the device | ||
- interrupts : interrupt line used by MSIOF | ||
- compatible : "renesas,msiof-<soctype>" for SoCs, | ||
"renesas,sh-msiof" for SuperH, or | ||
"renesas,sh-mobile-msiof" for SH Mobile series. | ||
Examples with soctypes are: | ||
"renesas,msiof-r8a7790" (R-Car H2) | ||
"renesas,msiof-r8a7791" (R-Car M2) | ||
- reg : Offset and length of the register set for the device | ||
- interrupt-parent : The phandle for the interrupt controller that | ||
services interrupts for this device | ||
- interrupts : Interrupt specifier | ||
- #address-cells : Must be <1> | ||
- #size-cells : Must be <0> | ||
|
||
Optional properties: | ||
- num-cs : total number of chip-selects | ||
- renesas,tx-fifo-size : Overrides the default tx fifo size given in words | ||
- renesas,rx-fifo-size : Overrides the default rx fifo size given in words | ||
- clocks : Must contain a reference to the functional clock. | ||
- num-cs : Total number of chip-selects (default is 1) | ||
|
||
Optional properties, deprecated for soctype-specific bindings: | ||
- renesas,tx-fifo-size : Overrides the default tx fifo size given in words | ||
(default is 64) | ||
- renesas,rx-fifo-size : Overrides the default rx fifo size given in words | ||
(default is 64, or 256 on R-Car H2 and M2) | ||
|
||
Pinctrl properties might be needed, too. See | ||
Documentation/devicetree/bindings/pinctrl/renesas,*. | ||
|
||
Example: | ||
|
||
msiof0: spi@e6e20000 { | ||
compatible = "renesas,msiof-r8a7791"; | ||
reg = <0 0xe6e20000 0 0x0064>; | ||
interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&mstp0_clks R8A7791_CLK_MSIOF0>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
status = "disabled"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
Device tree configuration for Renesas RSPI/QSPI driver | ||
|
||
Required properties: | ||
- compatible : For Renesas Serial Peripheral Interface on legacy SH: | ||
"renesas,rspi-<soctype>", "renesas,rspi" as fallback. | ||
For Renesas Serial Peripheral Interface on RZ/A1H: | ||
"renesas,rspi-<soctype>", "renesas,rspi-rz" as fallback. | ||
For Quad Serial Peripheral Interface on R-Car Gen2: | ||
"renesas,qspi-<soctype>", "renesas,qspi" as fallback. | ||
Examples with soctypes are: | ||
- "renesas,rspi-sh7757" (SH) | ||
- "renesas,rspi-r7s72100" (RZ/A1H) | ||
- "renesas,qspi-r8a7790" (R-Car H2) | ||
- "renesas,qspi-r8a7791" (R-Car M2) | ||
- reg : Address start and address range size of the device | ||
- interrupts : A list of interrupt-specifiers, one for each entry in | ||
interrupt-names. | ||
If interrupt-names is not present, an interrupt specifier | ||
for a single muxed interrupt. | ||
- interrupt-names : A list of interrupt names. Should contain (if present): | ||
- "error" for SPEI, | ||
- "rx" for SPRI, | ||
- "tx" to SPTI, | ||
- "mux" for a single muxed interrupt. | ||
- interrupt-parent : The phandle for the interrupt controller that | ||
services interrupts for this device. | ||
- num-cs : Number of chip selects. Some RSPI cores have more than 1. | ||
- #address-cells : Must be <1> | ||
- #size-cells : Must be <0> | ||
|
||
Optional properties: | ||
- clocks : Must contain a reference to the functional clock. | ||
|
||
Pinctrl properties might be needed, too. See | ||
Documentation/devicetree/bindings/pinctrl/renesas,*. | ||
|
||
Examples: | ||
|
||
spi0: spi@e800c800 { | ||
compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz"; | ||
reg = <0xe800c800 0x24>; | ||
interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>, | ||
<0 239 IRQ_TYPE_LEVEL_HIGH>, | ||
<0 240 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-names = "error", "rx", "tx"; | ||
interrupt-parent = <&gic>; | ||
num-cs = <1>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
}; | ||
|
||
spi: spi@e6b10000 { | ||
compatible = "renesas,qspi-r8a7791", "renesas,qspi"; | ||
reg = <0 0xe6b10000 0 0x2c>; | ||
interrupt-parent = <&gic>; | ||
interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&mstp9_clks R8A7791_CLK_QSPI_MOD>; | ||
num-cs = <1>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
Allwinner A10 SPI controller | ||
|
||
Required properties: | ||
- compatible: Should be "allwinner,sun4-a10-spi". | ||
- reg: Should contain register location and length. | ||
- interrupts: Should contain interrupt. | ||
- clocks: phandle to the clocks feeding the SPI controller. Two are | ||
needed: | ||
- "ahb": the gated AHB parent clock | ||
- "mod": the parent module clock | ||
- clock-names: Must contain the clock names described just above | ||
|
||
Example: | ||
|
||
spi1: spi@01c06000 { | ||
compatible = "allwinner,sun4i-a10-spi"; | ||
reg = <0x01c06000 0x1000>; | ||
interrupts = <11>; | ||
clocks = <&ahb_gates 21>, <&spi1_clk>; | ||
clock-names = "ahb", "mod"; | ||
status = "disabled"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
Allwinner A31 SPI controller | ||
|
||
Required properties: | ||
- compatible: Should be "allwinner,sun6i-a31-spi". | ||
- reg: Should contain register location and length. | ||
- interrupts: Should contain interrupt. | ||
- clocks: phandle to the clocks feeding the SPI controller. Two are | ||
needed: | ||
- "ahb": the gated AHB parent clock | ||
- "mod": the parent module clock | ||
- clock-names: Must contain the clock names described just above | ||
- resets: phandle to the reset controller asserting this device in | ||
reset | ||
|
||
Example: | ||
|
||
spi1: spi@01c69000 { | ||
compatible = "allwinner,sun6i-a31-spi"; | ||
reg = <0x01c69000 0x1000>; | ||
interrupts = <0 66 4>; | ||
clocks = <&ahb1_gates 21>, <&spi1_clk>; | ||
clock-names = "ahb", "mod"; | ||
resets = <&ahb1_rst 21>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Cadence Xtensa XTFPGA platform SPI controller. | ||
|
||
This simple SPI master controller is built into xtfpga bitstreams and is used | ||
to control daughterboard audio codec. | ||
|
||
Required properties: | ||
- compatible: should be "cdns,xtfpga-spi". | ||
- reg: physical base address of the controller and length of memory mapped | ||
region. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.