diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/spi/mxs-spi.txt | 22 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/spi/spi-bus.txt | 3 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/spi/spi-gpio.txt | 29 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/spi/spi-sc18is602.txt | 23 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/spi/spi_pl022.txt | 22 | ||||
-rw-r--r-- | Documentation/spi/spi-sc18is602 | 36 |
6 files changed, 135 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/spi/mxs-spi.txt b/Documentation/devicetree/bindings/spi/mxs-spi.txt new file mode 100644 index 000000000000..e2e13957c2a4 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/mxs-spi.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | * Freescale MX233/MX28 SSP/SPI | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,<soc>-spi", where soc is "imx23" or "imx28" | ||
5 | - reg: Offset and length of the register set for the device | ||
6 | - interrupts: Should contain SSP interrupts (error irq first, dma irq second) | ||
7 | - fsl,ssp-dma-channel: APBX DMA channel for the SSP | ||
8 | |||
9 | Optional properties: | ||
10 | - clock-frequency : Input clock frequency to the SPI block in Hz. | ||
11 | Default is 160000000 Hz. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ssp0: ssp@80010000 { | ||
16 | #address-cells = <1>; | ||
17 | #size-cells = <0>; | ||
18 | compatible = "fsl,imx28-spi"; | ||
19 | reg = <0x80010000 0x2000>; | ||
20 | interrupts = <96 82>; | ||
21 | fsl,ssp-dma-channel = <0>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-bus.txt b/Documentation/devicetree/bindings/spi/spi-bus.txt index e782add2e457..d2c33d0f533e 100644 --- a/Documentation/devicetree/bindings/spi/spi-bus.txt +++ b/Documentation/devicetree/bindings/spi/spi-bus.txt | |||
@@ -21,6 +21,9 @@ assumption that board specific platform code will be used to manage | |||
21 | chip selects. Individual drivers can define additional properties to | 21 | chip selects. Individual drivers can define additional properties to |
22 | support describing the chip select layout. | 22 | support describing the chip select layout. |
23 | 23 | ||
24 | Optional property: | ||
25 | - num-cs : total number of chipselects | ||
26 | |||
24 | SPI slave nodes must be children of the SPI master node and can | 27 | SPI slave nodes must be children of the SPI master node and can |
25 | contain the following properties. | 28 | contain the following properties. |
26 | - reg - (required) chip select address of device. | 29 | - reg - (required) chip select address of device. |
diff --git a/Documentation/devicetree/bindings/spi/spi-gpio.txt b/Documentation/devicetree/bindings/spi/spi-gpio.txt new file mode 100644 index 000000000000..8a824be15754 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-gpio.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | SPI-GPIO devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: should be set to "spi-gpio" | ||
6 | - #address-cells: should be set to <0x1> | ||
7 | - ranges | ||
8 | - gpio-sck: GPIO spec for the SCK line to use | ||
9 | - gpio-miso: GPIO spec for the MISO line to use | ||
10 | - gpio-mosi: GPIO spec for the MOSI line to use | ||
11 | - cs-gpios: GPIOs to use for chipselect lines | ||
12 | - num-chipselects: number of chipselect lines | ||
13 | |||
14 | Example: | ||
15 | |||
16 | spi { | ||
17 | compatible = "spi-gpio"; | ||
18 | #address-cells = <0x1>; | ||
19 | ranges; | ||
20 | |||
21 | gpio-sck = <&gpio 95 0>; | ||
22 | gpio-miso = <&gpio 98 0>; | ||
23 | gpio-mosi = <&gpio 97 0>; | ||
24 | cs-gpios = <&gpio 125 0>; | ||
25 | num-chipselects = <1>; | ||
26 | |||
27 | /* clients */ | ||
28 | }; | ||
29 | |||
diff --git a/Documentation/devicetree/bindings/spi/spi-sc18is602.txt b/Documentation/devicetree/bindings/spi/spi-sc18is602.txt new file mode 100644 index 000000000000..02f9033270a2 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-sc18is602.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | NXP SC18IS602/SCIS603 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be one of | ||
5 | "nxp,sc18is602" | ||
6 | "nxp,sc18is602b" | ||
7 | "nxp,sc18is603" | ||
8 | - reg: I2C bus address | ||
9 | |||
10 | Optional properties: | ||
11 | - clock-frequency : external oscillator clock frequency. If not | ||
12 | specified, the SC18IS602 default frequency (7372000) will be used. | ||
13 | |||
14 | The clock-frequency property is relevant and needed only if the chip has an | ||
15 | external oscillator (SC18IS603). | ||
16 | |||
17 | Example: | ||
18 | |||
19 | sc18is603@28 { | ||
20 | compatible = "nxp,sc18is603"; | ||
21 | reg = <0x28>; | ||
22 | clock-frequency = <14744000>; | ||
23 | } | ||
diff --git a/Documentation/devicetree/bindings/spi/spi_pl022.txt b/Documentation/devicetree/bindings/spi/spi_pl022.txt index 306ec3ff3c0e..f158fd31cfda 100644 --- a/Documentation/devicetree/bindings/spi/spi_pl022.txt +++ b/Documentation/devicetree/bindings/spi/spi_pl022.txt | |||
@@ -6,7 +6,29 @@ Required properties: | |||
6 | - interrupts : Should contain SPI controller interrupt | 6 | - interrupts : Should contain SPI controller interrupt |
7 | 7 | ||
8 | Optional properties: | 8 | Optional properties: |
9 | - num-cs : total number of chipselects | ||
9 | - cs-gpios : should specify GPIOs used for chipselects. | 10 | - cs-gpios : should specify GPIOs used for chipselects. |
10 | The gpios will be referred to as reg = <index> in the SPI child nodes. | 11 | The gpios will be referred to as reg = <index> in the SPI child nodes. |
11 | If unspecified, a single SPI device without a chip select can be used. | 12 | If unspecified, a single SPI device without a chip select can be used. |
13 | - pl022,autosuspend-delay : delay in ms following transfer completion before | ||
14 | the runtime power management system suspends the | ||
15 | device. A setting of 0 indicates no delay and the | ||
16 | device will be suspended immediately | ||
17 | - pl022,rt : indicates the controller should run the message pump with realtime | ||
18 | priority to minimise the transfer latency on the bus (boolean) | ||
19 | |||
20 | |||
21 | SPI slave nodes must be children of the SPI master node and can | ||
22 | contain the following properties. | ||
23 | |||
24 | - pl022,interface : interface type: | ||
25 | 0: SPI | ||
26 | 1: Texas Instruments Synchronous Serial Frame Format | ||
27 | 2: Microwire (Half Duplex) | ||
28 | - pl022,com-mode : polling, interrupt or dma | ||
29 | - pl022,rx-level-trig : Rx FIFO watermark level | ||
30 | - pl022,tx-level-trig : Tx FIFO watermark level | ||
31 | - pl022,ctrl-len : Microwire interface: Control length | ||
32 | - pl022,wait-state : Microwire interface: Wait state | ||
33 | - pl022,duplex : Microwire interface: Full/Half duplex | ||
12 | 34 | ||
diff --git a/Documentation/spi/spi-sc18is602 b/Documentation/spi/spi-sc18is602 new file mode 100644 index 000000000000..a45702865a38 --- /dev/null +++ b/Documentation/spi/spi-sc18is602 | |||
@@ -0,0 +1,36 @@ | |||
1 | Kernel driver spi-sc18is602 | ||
2 | =========================== | ||
3 | |||
4 | Supported chips: | ||
5 | * NXP SI18IS602/602B/603 | ||
6 | Datasheet: http://www.nxp.com/documents/data_sheet/SC18IS602_602B_603.pdf | ||
7 | |||
8 | Author: | ||
9 | Guenter Roeck <linux@roeck-us.net> | ||
10 | |||
11 | |||
12 | Description | ||
13 | ----------- | ||
14 | |||
15 | This driver provides connects a NXP SC18IS602/603 I2C-bus to SPI bridge to the | ||
16 | kernel's SPI core subsystem. | ||
17 | |||
18 | The driver does not probe for supported chips, since the SI18IS602/603 does not | ||
19 | support Chip ID registers. You will have to instantiate the devices explicitly. | ||
20 | Please see Documentation/i2c/instantiating-devices for details. | ||
21 | |||
22 | |||
23 | Usage Notes | ||
24 | ----------- | ||
25 | |||
26 | This driver requires the I2C adapter driver to support raw I2C messages. I2C | ||
27 | adapter drivers which can only handle the SMBus protocol are not supported. | ||
28 | |||
29 | The maximum SPI message size supported by SC18IS602/603 is 200 bytes. Attempts | ||
30 | to initiate longer transfers will fail with -EINVAL. EEPROM read operations and | ||
31 | similar large accesses have to be split into multiple chunks of no more than | ||
32 | 200 bytes per SPI message (128 bytes of data per message is recommended). This | ||
33 | means that programs such as "cp" or "od", which automatically use large block | ||
34 | sizes to access a device, can not be used directly to read data from EEPROM. | ||
35 | Programs such as dd, where the block size can be specified, should be used | ||
36 | instead. | ||