xref: /freebsd-src/sys/contrib/device-tree/Bindings/spi/ti_qspi.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotTI QSPI controller.
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible : should be "ti,dra7xxx-qspi" or "ti,am4372-qspi".
5*c66ec88fSEmmanuel Vadot- reg: Should contain QSPI registers location and length.
6*c66ec88fSEmmanuel Vadot- reg-names: Should contain the resource reg names.
7*c66ec88fSEmmanuel Vadot	- qspi_base: Qspi configuration register Address space
8*c66ec88fSEmmanuel Vadot	- qspi_mmap: Memory mapped Address space
9*c66ec88fSEmmanuel Vadot	- (optional) qspi_ctrlmod: Control module Address space
10*c66ec88fSEmmanuel Vadot- interrupts: should contain the qspi interrupt number.
11*c66ec88fSEmmanuel Vadot- #address-cells, #size-cells : Must be present if the device has sub-nodes
12*c66ec88fSEmmanuel Vadot- ti,hwmods: Name of the hwmod associated to the QSPI
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel VadotRecommended properties:
15*c66ec88fSEmmanuel Vadot- spi-max-frequency: Definition as per
16*c66ec88fSEmmanuel Vadot                     Documentation/devicetree/bindings/spi/spi-bus.txt
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel VadotOptional properties:
19*c66ec88fSEmmanuel Vadot- syscon-chipselects: Handle to system control region contains QSPI
20*c66ec88fSEmmanuel Vadot		      chipselect register and offset of that register.
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel VadotNOTE: TI QSPI controller requires different pinmux and IODelay
23*c66ec88fSEmmanuel Vadotparameters for Mode-0 and Mode-3 operations, which needs to be set up by
24*c66ec88fSEmmanuel Vadotthe bootloader (U-Boot). Default configuration only supports Mode-0
25*c66ec88fSEmmanuel Vadotoperation. Hence, "spi-cpol" and "spi-cpha" DT properties cannot be
26*c66ec88fSEmmanuel Vadotspecified in the slave nodes of TI QSPI controller without appropriate
27*c66ec88fSEmmanuel Vadotmodification to bootloader.
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel VadotExample:
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel VadotFor am4372:
32*c66ec88fSEmmanuel Vadotqspi: qspi@47900000 {
33*c66ec88fSEmmanuel Vadot	compatible = "ti,am4372-qspi";
34*c66ec88fSEmmanuel Vadot	reg = <0x47900000 0x100>, <0x30000000 0x4000000>;
35*c66ec88fSEmmanuel Vadot	reg-names = "qspi_base", "qspi_mmap";
36*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
37*c66ec88fSEmmanuel Vadot	#size-cells = <0>;
38*c66ec88fSEmmanuel Vadot	spi-max-frequency = <25000000>;
39*c66ec88fSEmmanuel Vadot	ti,hwmods = "qspi";
40*c66ec88fSEmmanuel Vadot};
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel VadotFor dra7xx:
43*c66ec88fSEmmanuel Vadotqspi: qspi@4b300000 {
44*c66ec88fSEmmanuel Vadot	compatible = "ti,dra7xxx-qspi";
45*c66ec88fSEmmanuel Vadot	reg = <0x4b300000 0x100>,
46*c66ec88fSEmmanuel Vadot	      <0x5c000000 0x4000000>,
47*c66ec88fSEmmanuel Vadot	reg-names = "qspi_base", "qspi_mmap";
48*c66ec88fSEmmanuel Vadot	syscon-chipselects = <&scm_conf 0x558>;
49*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
50*c66ec88fSEmmanuel Vadot	#size-cells = <0>;
51*c66ec88fSEmmanuel Vadot	spi-max-frequency = <48000000>;
52*c66ec88fSEmmanuel Vadot	ti,hwmods = "qspi";
53*c66ec88fSEmmanuel Vadot};
54