| ARM Freescale DSPI controller |
| |
| Required properties: |
| - compatible : "fsl,vf610-dspi", "fsl,ls1021a-v1.0-dspi", "fsl,ls2085a-dspi" |
| - reg : Offset and length of the register set for the device |
| - interrupts : Should contain SPI controller interrupt |
| - clocks: from common clock binding: handle to dspi clock. |
| - clock-names: from common clock binding: Shall be "dspi". |
| - pinctrl-0: pin control group to be used for this controller. |
| - pinctrl-names: must contain a "default" entry. |
| - spi-num-chipselects : the number of the chipselect signals. |
| - bus-num : the slave chip chipselect signal number. |
| |
| Optional property: |
| - big-endian: If present the dspi device's registers are implemented |
| in big endian mode, otherwise in native mode(same with CPU), for more |
| detail please see: Documentation/devicetree/bindings/regmap/regmap.txt. |
| |
| Optional SPI slave node properties: |
| - fsl,spi-cs-sck-delay: a delay in nanoseconds between activating chip |
| select and the start of clock signal, at the start of a transfer. |
| - fsl,spi-sck-cs-delay: a delay in nanoseconds between stopping the clock |
| signal and deactivating chip select, at the end of a transfer. |
| |
| Example: |
| |
| dspi0@4002c000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "fsl,vf610-dspi"; |
| reg = <0x4002c000 0x1000>; |
| interrupts = <0 67 0x04>; |
| clocks = <&clks VF610_CLK_DSPI0>; |
| clock-names = "dspi"; |
| spi-num-chipselects = <5>; |
| bus-num = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_dspi0_1>; |
| big-endian; |
| status = "okay"; |
| |
| sflash: at26df081a@0 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "atmel,at26df081a"; |
| spi-max-frequency = <16000000>; |
| spi-cpol; |
| spi-cpha; |
| reg = <0>; |
| linux,modalias = "m25p80"; |
| modal = "at26df081a"; |
| fsl,spi-cs-sck-delay = <100>; |
| fsl,spi-sck-cs-delay = <50>; |
| }; |
| }; |
| |
| |