58 lines
1.8 KiB
Plaintext
58 lines
1.8 KiB
Plaintext
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>;
|
|
};
|
|
};
|
|
|
|
|