Bastian Hecht | cf9c86e | 2012-12-12 12:54:48 +0100 | [diff] [blame] | 1 | Renesas MSIOF spi controller |
| 2 | |
| 3 | Required properties: |
Fabrizio Castro | 4702f4b | 2017-09-25 09:54:20 +0100 | [diff] [blame] | 4 | - compatible : "renesas,msiof-r8a7743" (RZ/G1M) |
Biju Das | aeb8a43 | 2018-09-28 14:01:49 +0100 | [diff] [blame] | 5 | "renesas,msiof-r8a7744" (RZ/G1N) |
Fabrizio Castro | 4702f4b | 2017-09-25 09:54:20 +0100 | [diff] [blame] | 6 | "renesas,msiof-r8a7745" (RZ/G1E) |
Fabrizio Castro | 8648222 | 2018-08-17 15:58:34 +0100 | [diff] [blame] | 7 | "renesas,msiof-r8a774a1" (RZ/G2M) |
Fabrizio Castro | 4702f4b | 2017-09-25 09:54:20 +0100 | [diff] [blame] | 8 | "renesas,msiof-r8a7790" (R-Car H2) |
Geert Uytterhoeven | e221cc9 | 2014-08-28 10:11:03 +0200 | [diff] [blame] | 9 | "renesas,msiof-r8a7791" (R-Car M2-W) |
| 10 | "renesas,msiof-r8a7792" (R-Car V2H) |
| 11 | "renesas,msiof-r8a7793" (R-Car M2-N) |
| 12 | "renesas,msiof-r8a7794" (R-Car E2) |
Geert Uytterhoeven | 3d108f1 | 2017-07-12 12:24:07 +0200 | [diff] [blame] | 13 | "renesas,msiof-r8a7795" (R-Car H3) |
Geert Uytterhoeven | eb51cff | 2016-11-21 18:24:55 +0100 | [diff] [blame] | 14 | "renesas,msiof-r8a7796" (R-Car M3-W) |
Geert Uytterhoeven | 7bb5e54 | 2018-03-27 15:04:25 +0200 | [diff] [blame] | 15 | "renesas,msiof-r8a77965" (R-Car M3-N) |
Sergei Shtylyov | a27ee74 | 2018-10-16 22:22:05 +0300 | [diff] [blame] | 16 | "renesas,msiof-r8a77970" (R-Car V3M) |
| 17 | "renesas,msiof-r8a77980" (R-Car V3H) |
Geert Uytterhoeven | 3806112 | 2018-09-03 19:25:12 +0200 | [diff] [blame] | 18 | "renesas,msiof-r8a77990" (R-Car E3) |
Ulrich Hecht | 04c55a3 | 2018-09-03 19:25:11 +0200 | [diff] [blame] | 19 | "renesas,msiof-r8a77995" (R-Car D3) |
Geert Uytterhoeven | ec7f9eb | 2015-11-30 15:14:00 +0100 | [diff] [blame] | 20 | "renesas,msiof-sh73a0" (SH-Mobile AG5) |
Simon Horman | 4286db8 | 2016-12-12 10:49:35 +0100 | [diff] [blame] | 21 | "renesas,sh-mobile-msiof" (generic SH-Mobile compatibile device) |
Fabrizio Castro | 4702f4b | 2017-09-25 09:54:20 +0100 | [diff] [blame] | 22 | "renesas,rcar-gen2-msiof" (generic R-Car Gen2 and RZ/G1 compatible device) |
Fabrizio Castro | 8648222 | 2018-08-17 15:58:34 +0100 | [diff] [blame] | 23 | "renesas,rcar-gen3-msiof" (generic R-Car Gen3 and RZ/G2 compatible device) |
Simon Horman | 4286db8 | 2016-12-12 10:49:35 +0100 | [diff] [blame] | 24 | "renesas,sh-msiof" (deprecated) |
| 25 | |
| 26 | When compatible with the generic version, nodes |
| 27 | must list the SoC-specific version corresponding |
| 28 | to the platform first followed by the generic |
| 29 | version. |
| 30 | |
Geert Uytterhoeven | a6be4de | 2014-08-06 14:59:05 +0200 | [diff] [blame] | 31 | - reg : A list of offsets and lengths of the register sets for |
| 32 | the device. |
| 33 | If only one register set is present, it is to be used |
| 34 | by both the CPU and the DMA engine. |
| 35 | If two register sets are present, the first is to be |
| 36 | used by the CPU, and the second is to be used by the |
| 37 | DMA engine. |
Geert Uytterhoeven | 32d3b2d | 2014-02-25 11:21:08 +0100 | [diff] [blame] | 38 | - interrupts : Interrupt specifier |
| 39 | - #address-cells : Must be <1> |
| 40 | - #size-cells : Must be <0> |
Bastian Hecht | cf9c86e | 2012-12-12 12:54:48 +0100 | [diff] [blame] | 41 | |
| 42 | Optional properties: |
Geert Uytterhoeven | 32d3b2d | 2014-02-25 11:21:08 +0100 | [diff] [blame] | 43 | - clocks : Must contain a reference to the functional clock. |
Geert Uytterhoeven | 9cce882 | 2017-12-13 20:05:11 +0100 | [diff] [blame] | 44 | - num-cs : Total number of chip selects (default is 1). |
| 45 | Up to 3 native chip selects are supported: |
| 46 | 0: MSIOF_SYNC |
| 47 | 1: MSIOF_SS1 |
| 48 | 2: MSIOF_SS2 |
Geert Uytterhoeven | c99182f | 2017-12-13 20:05:13 +0100 | [diff] [blame] | 49 | Hardware limitations related to chip selects: |
| 50 | - Native chip selects are always deasserted in |
| 51 | between transfers that are part of the same |
| 52 | message. Use cs-gpios to work around this. |
| 53 | - All slaves using native chip selects must use the |
| 54 | same spi-cs-high configuration. Use cs-gpios to |
| 55 | work around this. |
| 56 | - When using GPIO chip selects, at least one native |
| 57 | chip select must be left unused, as it will be |
| 58 | driven anyway. |
Geert Uytterhoeven | a6be4de | 2014-08-06 14:59:05 +0200 | [diff] [blame] | 59 | - dmas : Must contain a list of two references to DMA |
| 60 | specifiers, one for transmission, and one for |
| 61 | reception. |
| 62 | - dma-names : Must contain a list of two DMA names, "tx" and "rx". |
Hisashi Nakamura | cf9e478 | 2017-05-22 15:11:43 +0200 | [diff] [blame] | 63 | - spi-slave : Empty property indicating the SPI controller is used |
| 64 | in slave mode. |
Yoshihiro Shimoda | 3110628 | 2014-12-19 17:15:53 +0900 | [diff] [blame] | 65 | - renesas,dtdl : delay sync signal (setup) in transmit mode. |
| 66 | Must contain one of the following values: |
| 67 | 0 (no bit delay) |
| 68 | 50 (0.5-clock-cycle delay) |
| 69 | 100 (1-clock-cycle delay) |
| 70 | 150 (1.5-clock-cycle delay) |
| 71 | 200 (2-clock-cycle delay) |
| 72 | |
| 73 | - renesas,syncdl : delay sync signal (hold) in transmit mode. |
| 74 | Must contain one of the following values: |
| 75 | 0 (no bit delay) |
| 76 | 50 (0.5-clock-cycle delay) |
| 77 | 100 (1-clock-cycle delay) |
| 78 | 150 (1.5-clock-cycle delay) |
| 79 | 200 (2-clock-cycle delay) |
| 80 | 300 (3-clock-cycle delay) |
Geert Uytterhoeven | beb74bb | 2014-02-25 11:21:10 +0100 | [diff] [blame] | 81 | |
| 82 | Optional properties, deprecated for soctype-specific bindings: |
Geert Uytterhoeven | 32d3b2d | 2014-02-25 11:21:08 +0100 | [diff] [blame] | 83 | - renesas,tx-fifo-size : Overrides the default tx fifo size given in words |
| 84 | (default is 64) |
| 85 | - renesas,rx-fifo-size : Overrides the default rx fifo size given in words |
Geert Uytterhoeven | eb8d0ac | 2015-09-28 15:28:03 +0200 | [diff] [blame] | 86 | (default is 64) |
Geert Uytterhoeven | 32d3b2d | 2014-02-25 11:21:08 +0100 | [diff] [blame] | 87 | |
| 88 | Pinctrl properties might be needed, too. See |
| 89 | Documentation/devicetree/bindings/pinctrl/renesas,*. |
Geert Uytterhoeven | beb74bb | 2014-02-25 11:21:10 +0100 | [diff] [blame] | 90 | |
| 91 | Example: |
| 92 | |
| 93 | msiof0: spi@e6e20000 { |
Simon Horman | 4286db8 | 2016-12-12 10:49:35 +0100 | [diff] [blame] | 94 | compatible = "renesas,msiof-r8a7791", |
| 95 | "renesas,rcar-gen2-msiof"; |
Ryo Kataoka | cb6d08a | 2015-04-05 01:55:12 +0900 | [diff] [blame] | 96 | reg = <0 0xe6e20000 0 0x0064>; |
Geert Uytterhoeven | beb74bb | 2014-02-25 11:21:10 +0100 | [diff] [blame] | 97 | interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>; |
| 98 | clocks = <&mstp0_clks R8A7791_CLK_MSIOF0>; |
Geert Uytterhoeven | a6be4de | 2014-08-06 14:59:05 +0200 | [diff] [blame] | 99 | dmas = <&dmac0 0x51>, <&dmac0 0x52>; |
| 100 | dma-names = "tx", "rx"; |
Geert Uytterhoeven | beb74bb | 2014-02-25 11:21:10 +0100 | [diff] [blame] | 101 | #address-cells = <1>; |
| 102 | #size-cells = <0>; |
Geert Uytterhoeven | beb74bb | 2014-02-25 11:21:10 +0100 | [diff] [blame] | 103 | }; |