Documentation / devicetree / bindings / spi / fsl-spi.txt


Based on kernel version 6.10. Page generated on 2024-07-16 09:00 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
* 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.
- clock-frequency : input clock frequency to non FSL_SOC cores

Optional properties:
- cs-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.
- fsl,spisel_boot : for the MPC8306 and MPC8309, specifies that the
  SPISEL_BOOT signal is used as chip select for a slave device. Use
  reg = <number of gpios> in the corresponding child node, i.e. 0 if
  the cs-gpios property is not present.

Example:
	spi@4c0 {
		cell-index = <0>;
		compatible = "fsl,spi";
		reg = <4c0 40>;
		interrupts = <82 0>;
		interrupt-parent = <700>;
		mode = "cpu";
		cs-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>;
	};