blob: 4b836ad17b197fc16c20476fa8174bd7f2a54e70 [file] [log] [blame]
Bastian Hechtcf9c86e2012-12-12 12:54:48 +01001Renesas MSIOF spi controller
2
3Required properties:
Fabrizio Castro4702f4b2017-09-25 09:54:20 +01004- compatible : "renesas,msiof-r8a7743" (RZ/G1M)
Biju Dasaeb8a432018-09-28 14:01:49 +01005 "renesas,msiof-r8a7744" (RZ/G1N)
Fabrizio Castro4702f4b2017-09-25 09:54:20 +01006 "renesas,msiof-r8a7745" (RZ/G1E)
Fabrizio Castro86482222018-08-17 15:58:34 +01007 "renesas,msiof-r8a774a1" (RZ/G2M)
Fabrizio Castro4702f4b2017-09-25 09:54:20 +01008 "renesas,msiof-r8a7790" (R-Car H2)
Geert Uytterhoevene221cc92014-08-28 10:11:03 +02009 "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 Uytterhoeven3d108f12017-07-12 12:24:07 +020013 "renesas,msiof-r8a7795" (R-Car H3)
Geert Uytterhoeveneb51cff2016-11-21 18:24:55 +010014 "renesas,msiof-r8a7796" (R-Car M3-W)
Geert Uytterhoeven7bb5e542018-03-27 15:04:25 +020015 "renesas,msiof-r8a77965" (R-Car M3-N)
Sergei Shtylyova27ee742018-10-16 22:22:05 +030016 "renesas,msiof-r8a77970" (R-Car V3M)
17 "renesas,msiof-r8a77980" (R-Car V3H)
Geert Uytterhoeven38061122018-09-03 19:25:12 +020018 "renesas,msiof-r8a77990" (R-Car E3)
Ulrich Hecht04c55a32018-09-03 19:25:11 +020019 "renesas,msiof-r8a77995" (R-Car D3)
Geert Uytterhoevenec7f9eb2015-11-30 15:14:00 +010020 "renesas,msiof-sh73a0" (SH-Mobile AG5)
Simon Horman4286db82016-12-12 10:49:35 +010021 "renesas,sh-mobile-msiof" (generic SH-Mobile compatibile device)
Fabrizio Castro4702f4b2017-09-25 09:54:20 +010022 "renesas,rcar-gen2-msiof" (generic R-Car Gen2 and RZ/G1 compatible device)
Fabrizio Castro86482222018-08-17 15:58:34 +010023 "renesas,rcar-gen3-msiof" (generic R-Car Gen3 and RZ/G2 compatible device)
Simon Horman4286db82016-12-12 10:49:35 +010024 "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 Uytterhoevena6be4de2014-08-06 14:59:05 +020031- 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 Uytterhoeven32d3b2d2014-02-25 11:21:08 +010038- interrupts : Interrupt specifier
39- #address-cells : Must be <1>
40- #size-cells : Must be <0>
Bastian Hechtcf9c86e2012-12-12 12:54:48 +010041
42Optional properties:
Geert Uytterhoeven32d3b2d2014-02-25 11:21:08 +010043- clocks : Must contain a reference to the functional clock.
Geert Uytterhoeven9cce8822017-12-13 20:05:11 +010044- 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 Uytterhoevenc99182f2017-12-13 20:05:13 +010049 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 Uytterhoevena6be4de2014-08-06 14:59:05 +020059- 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 Nakamuracf9e4782017-05-22 15:11:43 +020063- spi-slave : Empty property indicating the SPI controller is used
64 in slave mode.
Yoshihiro Shimoda31106282014-12-19 17:15:53 +090065- 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 Uytterhoevenbeb74bb2014-02-25 11:21:10 +010081
82Optional properties, deprecated for soctype-specific bindings:
Geert Uytterhoeven32d3b2d2014-02-25 11:21:08 +010083- 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 Uytterhoeveneb8d0ac2015-09-28 15:28:03 +020086 (default is 64)
Geert Uytterhoeven32d3b2d2014-02-25 11:21:08 +010087
88Pinctrl properties might be needed, too. See
89Documentation/devicetree/bindings/pinctrl/renesas,*.
Geert Uytterhoevenbeb74bb2014-02-25 11:21:10 +010090
91Example:
92
93 msiof0: spi@e6e20000 {
Simon Horman4286db82016-12-12 10:49:35 +010094 compatible = "renesas,msiof-r8a7791",
95 "renesas,rcar-gen2-msiof";
Ryo Kataokacb6d08a2015-04-05 01:55:12 +090096 reg = <0 0xe6e20000 0 0x0064>;
Geert Uytterhoevenbeb74bb2014-02-25 11:21:10 +010097 interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
98 clocks = <&mstp0_clks R8A7791_CLK_MSIOF0>;
Geert Uytterhoevena6be4de2014-08-06 14:59:05 +020099 dmas = <&dmac0 0x51>, <&dmac0 0x52>;
100 dma-names = "tx", "rx";
Geert Uytterhoevenbeb74bb2014-02-25 11:21:10 +0100101 #address-cells = <1>;
102 #size-cells = <0>;
Geert Uytterhoevenbeb74bb2014-02-25 11:21:10 +0100103 };