1 SPI (Serial Peripheral Interface) busses
3 SPI busses can be described with a node for the SPI master device
4 and a set of child nodes for each SPI slave on the bus. For this
5 discussion, it is assumed that the system's SPI controller is in
6 SPI master mode. This binding does not describe SPI controllers
9 The SPI master node requires the following properties:
10 - #address-cells - number of cells required to define a chip select
11 address on the SPI bus.
12 - #size-cells - should be zero.
13 - compatible - name of SPI bus controller following generic names
15 No other properties are required in the SPI bus node. It is assumed
16 that a driver for an SPI bus device will understand that it is an SPI bus.
17 However, the binding does not attempt to define the specific method for
18 assigning chip select numbers. Since SPI chip select configuration is
19 flexible and non-standardized, it is left out of this binding with the
20 assumption that board specific platform code will be used to manage
21 chip selects. Individual drivers can define additional properties to
22 support describing the chip select layout.
24 SPI slave nodes must be children of the SPI master node and can
25 contain the following properties.
26 - reg - (required) chip select address of device.
27 - compatible - (required) name of SPI device following generic names
29 - spi-max-frequency - (required) Maximum SPI clocking speed of device in Hz
30 - spi-cpol - (optional) Empty property indicating device requires
31 inverse clock polarity (CPOL) mode
32 - spi-cpha - (optional) Empty property indicating device requires
33 shifted clock phase (CPHA) mode
34 - spi-cs-high - (optional) Empty property indicating device requires
35 chip select active high
37 SPI example for an MPC5200 SPI bus:
41 compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
43 interrupts = <2 13 0 2 14 0>;
44 interrupt-parent = <&mpc5200_pic>;
47 compatible = "micrel,ks8995m";
48 spi-max-frequency = <1000000>;
53 compatible = "ti,tlv320aic26";
54 spi-max-frequency = <100000>;