18c2ecf20Sopenharmony_ci* Cadence Quad SPI controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible : should be one of the following:
58c2ecf20Sopenharmony_ci	Generic default - "cdns,qspi-nor".
68c2ecf20Sopenharmony_ci	For TI 66AK2G SoC - "ti,k2g-qspi", "cdns,qspi-nor".
78c2ecf20Sopenharmony_ci	For TI AM654 SoC  - "ti,am654-ospi", "cdns,qspi-nor".
88c2ecf20Sopenharmony_ci- reg : Contains two entries, each of which is a tuple consisting of a
98c2ecf20Sopenharmony_ci	physical address and length. The first entry is the address and
108c2ecf20Sopenharmony_ci	length of the controller register set. The second entry is the
118c2ecf20Sopenharmony_ci	address and length of the QSPI Controller data area.
128c2ecf20Sopenharmony_ci- interrupts : Unit interrupt specifier for the controller interrupt.
138c2ecf20Sopenharmony_ci- clocks : phandle to the Quad SPI clock.
148c2ecf20Sopenharmony_ci- cdns,fifo-depth : Size of the data FIFO in words.
158c2ecf20Sopenharmony_ci- cdns,fifo-width : Bus width of the data FIFO in bytes.
168c2ecf20Sopenharmony_ci- cdns,trigger-address : 32-bit indirect AHB trigger address.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciOptional properties:
198c2ecf20Sopenharmony_ci- cdns,is-decoded-cs : Flag to indicate whether decoder is used or not.
208c2ecf20Sopenharmony_ci- cdns,rclk-en : Flag to indicate that QSPI return clock is used to latch
218c2ecf20Sopenharmony_ci  the read data rather than the QSPI clock. Make sure that QSPI return
228c2ecf20Sopenharmony_ci  clock is populated on the board before using this property.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciOptional subnodes:
258c2ecf20Sopenharmony_ciSubnodes of the Cadence Quad SPI controller are spi slave nodes with additional
268c2ecf20Sopenharmony_cicustom properties:
278c2ecf20Sopenharmony_ci- cdns,read-delay : Delay for read capture logic, in clock cycles
288c2ecf20Sopenharmony_ci- cdns,tshsl-ns : Delay in nanoseconds for the length that the master
298c2ecf20Sopenharmony_ci                  mode chip select outputs are de-asserted between
308c2ecf20Sopenharmony_ci		  transactions.
318c2ecf20Sopenharmony_ci- cdns,tsd2d-ns : Delay in nanoseconds between one chip select being
328c2ecf20Sopenharmony_ci                  de-activated and the activation of another.
338c2ecf20Sopenharmony_ci- cdns,tchsh-ns : Delay in nanoseconds between last bit of current
348c2ecf20Sopenharmony_ci                  transaction and deasserting the device chip select
358c2ecf20Sopenharmony_ci		  (qspi_n_ss_out).
368c2ecf20Sopenharmony_ci- cdns,tslch-ns : Delay in nanoseconds between setting qspi_n_ss_out low
378c2ecf20Sopenharmony_ci                  and first bit transfer.
388c2ecf20Sopenharmony_ci- resets	: Must contain an entry for each entry in reset-names.
398c2ecf20Sopenharmony_ci		  See ../reset/reset.txt for details.
408c2ecf20Sopenharmony_ci- reset-names	: Must include either "qspi" and/or "qspi-ocp".
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciExample:
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci	qspi: spi@ff705000 {
458c2ecf20Sopenharmony_ci		compatible = "cdns,qspi-nor";
468c2ecf20Sopenharmony_ci		#address-cells = <1>;
478c2ecf20Sopenharmony_ci		#size-cells = <0>;
488c2ecf20Sopenharmony_ci		reg = <0xff705000 0x1000>,
498c2ecf20Sopenharmony_ci		      <0xffa00000 0x1000>;
508c2ecf20Sopenharmony_ci		interrupts = <0 151 4>;
518c2ecf20Sopenharmony_ci		clocks = <&qspi_clk>;
528c2ecf20Sopenharmony_ci		cdns,is-decoded-cs;
538c2ecf20Sopenharmony_ci		cdns,fifo-depth = <128>;
548c2ecf20Sopenharmony_ci		cdns,fifo-width = <4>;
558c2ecf20Sopenharmony_ci		cdns,trigger-address = <0x00000000>;
568c2ecf20Sopenharmony_ci		resets = <&rst QSPI_RESET>, <&rst QSPI_OCP_RESET>;
578c2ecf20Sopenharmony_ci		reset-names = "qspi", "qspi-ocp";
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci		flash0: n25q00@0 {
608c2ecf20Sopenharmony_ci			...
618c2ecf20Sopenharmony_ci			cdns,read-delay = <4>;
628c2ecf20Sopenharmony_ci			cdns,tshsl-ns = <50>;
638c2ecf20Sopenharmony_ci			cdns,tsd2d-ns = <50>;
648c2ecf20Sopenharmony_ci			cdns,tchsh-ns = <4>;
658c2ecf20Sopenharmony_ci			cdns,tslch-ns = <4>;
668c2ecf20Sopenharmony_ci		};
678c2ecf20Sopenharmony_ci	};
68