mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 20:01:55 +00:00
d0fb47a523
Make FSL eSPI CSnBEF and CSnAFT fields in ESPI_SPMODEn registers (n=0,1,2,3) configurable through device tree. CSnBEF is the chip select setup time. It's the delay in bits from the activation of chip select pin to the first clock for data frame. CSnAFT is the chip select hold time. It's the delay in bits from the last clock for data frame to the deactivation of chip select pin. The FSL eSPI driver hardcodes CSnBEF and CSnAFT to 0. Need to set them to a different value for some device. Signed-off-by: Jane Wan <Jane.Wan@gainspeed.com> Signed-off-by: Mark Brown <broonie@linaro.org>
61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
* SPI (Serial Peripheral Interface)
|
|
|
|
Required properties:
|
|
- cell-index : QE SPI subblock index.
|
|
0: QE subblock SPI1
|
|
1: QE subblock SPI2
|
|
- compatible : should be "fsl,spi" or "aeroflexgaisler,spictrl".
|
|
- mode : the SPI operation mode, it can be "cpu" or "cpu-qe".
|
|
- reg : Offset and length of the register set for the device
|
|
- interrupts : <a b> where a is the interrupt number and b is a
|
|
field that represents an encoding of the sense and level
|
|
information for the interrupt. This should be encoded based on
|
|
the information in section 2) depending on the type of interrupt
|
|
controller you have.
|
|
- interrupt-parent : the phandle for the interrupt controller that
|
|
services interrupts for this device.
|
|
- clock-frequency : input clock frequency to non FSL_SOC cores
|
|
|
|
Optional properties:
|
|
- gpios : specifies the gpio pins to be used for chipselects.
|
|
The gpios will be referred to as reg = <index> in the SPI child nodes.
|
|
If unspecified, a single SPI device without a chip select can be used.
|
|
|
|
Example:
|
|
spi@4c0 {
|
|
cell-index = <0>;
|
|
compatible = "fsl,spi";
|
|
reg = <4c0 40>;
|
|
interrupts = <82 0>;
|
|
interrupt-parent = <700>;
|
|
mode = "cpu";
|
|
gpios = <&gpio 18 1 // device reg=<0>
|
|
&gpio 19 1>; // device reg=<1>
|
|
};
|
|
|
|
|
|
* eSPI (Enhanced Serial Peripheral Interface)
|
|
|
|
Required properties:
|
|
- compatible : should be "fsl,mpc8536-espi".
|
|
- reg : Offset and length of the register set for the device.
|
|
- interrupts : should contain eSPI interrupt, the device has one interrupt.
|
|
- fsl,espi-num-chipselects : the number of the chipselect signals.
|
|
|
|
Optional properties:
|
|
- fsl,csbef: chip select assertion time in bits before frame starts
|
|
- fsl,csaft: chip select negation time in bits after frame ends
|
|
|
|
Example:
|
|
spi@110000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "fsl,mpc8536-espi";
|
|
reg = <0x110000 0x1000>;
|
|
interrupts = <53 0x2>;
|
|
interrupt-parent = <&mpic>;
|
|
fsl,espi-num-chipselects = <4>;
|
|
fsl,csbef = <1>;
|
|
fsl,csaft = <1>;
|
|
};
|