Graham Moore | b584399 | 2016-06-04 02:39:33 +0200 | [diff] [blame] | 1 | * Cadence Quad SPI controller |
| 2 | |
| 3 | Required properties: |
| 4 | - compatible : Should be "cdns,qspi-nor". |
| 5 | - reg : Contains two entries, each of which is a tuple consisting of a |
| 6 | physical address and length. The first entry is the address and |
| 7 | length of the controller register set. The second entry is the |
| 8 | address and length of the QSPI Controller data area. |
| 9 | - interrupts : Unit interrupt specifier for the controller interrupt. |
| 10 | - clocks : phandle to the Quad SPI clock. |
| 11 | - cdns,fifo-depth : Size of the data FIFO in words. |
| 12 | - cdns,fifo-width : Bus width of the data FIFO in bytes. |
| 13 | - cdns,trigger-address : 32-bit indirect AHB trigger address. |
| 14 | |
| 15 | Optional properties: |
| 16 | - cdns,is-decoded-cs : Flag to indicate whether decoder is used or not. |
| 17 | |
| 18 | Optional subnodes: |
| 19 | Subnodes of the Cadence Quad SPI controller are spi slave nodes with additional |
| 20 | custom properties: |
| 21 | - cdns,read-delay : Delay for read capture logic, in clock cycles |
| 22 | - cdns,tshsl-ns : Delay in nanoseconds for the length that the master |
| 23 | mode chip select outputs are de-asserted between |
| 24 | transactions. |
| 25 | - cdns,tsd2d-ns : Delay in nanoseconds between one chip select being |
| 26 | de-activated and the activation of another. |
| 27 | - cdns,tchsh-ns : Delay in nanoseconds between last bit of current |
| 28 | transaction and deasserting the device chip select |
| 29 | (qspi_n_ss_out). |
| 30 | - cdns,tslch-ns : Delay in nanoseconds between setting qspi_n_ss_out low |
| 31 | and first bit transfer. |
| 32 | |
| 33 | Example: |
| 34 | |
| 35 | qspi: spi@ff705000 { |
| 36 | compatible = "cdns,qspi-nor"; |
| 37 | #address-cells = <1>; |
| 38 | #size-cells = <0>; |
| 39 | reg = <0xff705000 0x1000>, |
| 40 | <0xffa00000 0x1000>; |
| 41 | interrupts = <0 151 4>; |
| 42 | clocks = <&qspi_clk>; |
| 43 | cdns,is-decoded-cs; |
| 44 | cdns,fifo-depth = <128>; |
| 45 | cdns,fifo-width = <4>; |
| 46 | cdns,trigger-address = <0x00000000>; |
| 47 | |
| 48 | flash0: n25q00@0 { |
| 49 | ... |
| 50 | cdns,read-delay = <4>; |
| 51 | cdns,tshsl-ns = <50>; |
| 52 | cdns,tsd2d-ns = <50>; |
| 53 | cdns,tchsh-ns = <4>; |
| 54 | cdns,tslch-ns = <4>; |
| 55 | }; |
| 56 | }; |