xref: /freebsd/sys/contrib/device-tree/Bindings/spi/spi-nxp-fspi.txt (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1c66ec88fSEmmanuel Vadot* NXP Flex Serial Peripheral Interface (FSPI)
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotRequired properties:
4c66ec88fSEmmanuel Vadot  - compatible : Should be "nxp,lx2160a-fspi"
5c66ec88fSEmmanuel Vadot			    "nxp,imx8qxp-fspi"
6c66ec88fSEmmanuel Vadot			    "nxp,imx8mm-fspi"
7*2eb4d8dcSEmmanuel Vadot			    "nxp,imx8mp-fspi"
8*2eb4d8dcSEmmanuel Vadot			    "nxp,imx8dxl-fspi"
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel Vadot  - reg :        First contains the register location and length,
11c66ec88fSEmmanuel Vadot                 Second contains the memory mapping address and length
12c66ec88fSEmmanuel Vadot  - reg-names :  Should contain the resource reg names:
13c66ec88fSEmmanuel Vadot	         - fspi_base: configuration register address space
14c66ec88fSEmmanuel Vadot                 - fspi_mmap: memory mapped address space
15c66ec88fSEmmanuel Vadot  - interrupts : Should contain the interrupt for the device
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel VadotRequired SPI slave node properties:
18c66ec88fSEmmanuel Vadot  - reg :        There are two buses (A and B) with two chip selects each.
19c66ec88fSEmmanuel Vadot                 This encodes to which bus and CS the flash is connected:
20c66ec88fSEmmanuel Vadot                 - <0>: Bus A, CS 0
21c66ec88fSEmmanuel Vadot                 - <1>: Bus A, CS 1
22c66ec88fSEmmanuel Vadot                 - <2>: Bus B, CS 0
23c66ec88fSEmmanuel Vadot                 - <3>: Bus B, CS 1
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel VadotExample showing the usage of two SPI NOR slave devices on bus A:
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadotfspi0: spi@20c0000 {
28c66ec88fSEmmanuel Vadot	compatible = "nxp,lx2160a-fspi";
29c66ec88fSEmmanuel Vadot	reg = <0x0 0x20c0000 0x0 0x10000>, <0x0 0x20000000 0x0 0x10000000>;
30c66ec88fSEmmanuel Vadot	reg-names = "fspi_base", "fspi_mmap";
31c66ec88fSEmmanuel Vadot	interrupts = <0 25 0x4>; /* Level high type */
32c66ec88fSEmmanuel Vadot	clocks = <&clockgen 4 3>, <&clockgen 4 3>;
33c66ec88fSEmmanuel Vadot	clock-names = "fspi_en", "fspi";
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot	mt35xu512aba0: flash@0 {
36c66ec88fSEmmanuel Vadot		reg = <0>;
37c66ec88fSEmmanuel Vadot		....
38c66ec88fSEmmanuel Vadot	};
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot	mt35xu512aba1: flash@1 {
41c66ec88fSEmmanuel Vadot		reg = <1>;
42c66ec88fSEmmanuel Vadot		....
43c66ec88fSEmmanuel Vadot	};
44c66ec88fSEmmanuel Vadot};
45