xref: /linux/Documentation/devicetree/bindings/hsi/omap-ssi.txt (revision 8635d6b3afe68cdde2f646c2a3bbd8149c031e8c)
1dc9df315SSebastian ReichelOMAP SSI controller bindings
2dc9df315SSebastian Reichel
3*8635d6b3STony LindgrenOMAP3's Synchronous Serial Interface (SSI) controller implements a
4*8635d6b3STony Lindgrenlegacy variant of MIPI's High Speed Synchronous Serial Interface (HSI),
5*8635d6b3STony Lindgrenwhile the controller found inside OMAP4 is supposed to be fully compliant
6*8635d6b3STony Lindgrenwith the HSI standard.
7dc9df315SSebastian Reichel
8dc9df315SSebastian ReichelRequired properties:
9*8635d6b3STony Lindgren- compatible:		Should include "ti,omap3-ssi" or "ti,omap4-hsi"
10dc9df315SSebastian Reichel- reg-names:		Contains the values "sys" and "gdd" (in this order).
11dc9df315SSebastian Reichel- reg:			Contains a matching register specifier for each entry
12dc9df315SSebastian Reichel			in reg-names.
13dc9df315SSebastian Reichel- interrupt-names:	Contains the value "gdd_mpu".
14dc9df315SSebastian Reichel- interrupts: 		Contains matching interrupt information for each entry
15dc9df315SSebastian Reichel			in interrupt-names.
16dc9df315SSebastian Reichel- ranges:		Represents the bus address mapping between the main
17dc9df315SSebastian Reichel			controller node and the child nodes below.
18dc9df315SSebastian Reichel- clock-names:		Must include the following entries:
19dc9df315SSebastian Reichel  "ssi_ssr_fck": The OMAP clock of that name
20dc9df315SSebastian Reichel  "ssi_sst_fck": The OMAP clock of that name
21dc9df315SSebastian Reichel  "ssi_ick": The OMAP clock of that name
22dc9df315SSebastian Reichel- clocks:		Contains a matching clock specifier for each entry in
23dc9df315SSebastian Reichel			clock-names.
24dc9df315SSebastian Reichel- #address-cells:	Should be set to <1>
25dc9df315SSebastian Reichel- #size-cells:		Should be set to <1>
26dc9df315SSebastian Reichel
27dc9df315SSebastian ReichelEach port is represented as a sub-node of the ti,omap3-ssi device.
28dc9df315SSebastian Reichel
29dc9df315SSebastian ReichelRequired Port sub-node properties:
30dc9df315SSebastian Reichel- compatible:		Should be set to the following value
31dc9df315SSebastian Reichel			ti,omap3-ssi-port (applicable to OMAP34xx devices)
32*8635d6b3STony Lindgren			ti,omap4-hsi-port (applicable to OMAP44xx devices)
33dc9df315SSebastian Reichel- reg-names:		Contains the values "tx" and "rx" (in this order).
34dc9df315SSebastian Reichel- reg:			Contains a matching register specifier for each entry
35dc9df315SSebastian Reichel			in reg-names.
36dc9df315SSebastian Reichel- interrupt-parent	Should be a phandle for the interrupt controller
37dc9df315SSebastian Reichel- interrupts:		Should contain interrupt specifiers for mpu interrupts
38dc9df315SSebastian Reichel			0 and 1 (in this order).
39dc9df315SSebastian Reichel- ti,ssi-cawake-gpio:	Defines which GPIO pin is used to signify CAWAKE
40dc9df315SSebastian Reichel			events for the port. This is an optional board-specific
41dc9df315SSebastian Reichel			property. If it's missing the port will not be
42dc9df315SSebastian Reichel			enabled.
43dc9df315SSebastian Reichel
44*8635d6b3STony LindgrenOptional properties:
45*8635d6b3STony Lindgren- ti,hwmods:		Shall contain TI interconnect module name if needed
46*8635d6b3STony Lindgren			by the SoC
47*8635d6b3STony Lindgren
48dc9df315SSebastian ReichelExample for Nokia N900:
49dc9df315SSebastian Reichel
50dc9df315SSebastian Reichelssi-controller@48058000 {
51dc9df315SSebastian Reichel	compatible = "ti,omap3-ssi";
52dc9df315SSebastian Reichel
53dc9df315SSebastian Reichel	/* needed until hwmod is updated to use the compatible string */
54dc9df315SSebastian Reichel	ti,hwmods = "ssi";
55dc9df315SSebastian Reichel
56dc9df315SSebastian Reichel	reg = <0x48058000 0x1000>,
57dc9df315SSebastian Reichel	      <0x48059000 0x1000>;
58dc9df315SSebastian Reichel	reg-names = "sys",
59dc9df315SSebastian Reichel		    "gdd";
60dc9df315SSebastian Reichel
61dc9df315SSebastian Reichel	interrupts = <55>;
62dc9df315SSebastian Reichel	interrupt-names = "gdd_mpu";
63dc9df315SSebastian Reichel
64dc9df315SSebastian Reichel	clocks = <&ssi_ssr_fck>,
65dc9df315SSebastian Reichel		 <&ssi_sst_fck>,
66dc9df315SSebastian Reichel		 <&ssi_ick>;
67dc9df315SSebastian Reichel	clock-names = "ssi_ssr_fck",
68dc9df315SSebastian Reichel		      "ssi_sst_fck",
69dc9df315SSebastian Reichel		      "ssi_ick";
70dc9df315SSebastian Reichel
71dc9df315SSebastian Reichel	#address-cells = <1>;
72dc9df315SSebastian Reichel	#size-cells = <1>;
73dc9df315SSebastian Reichel	ranges;
74dc9df315SSebastian Reichel
75dc9df315SSebastian Reichel	ssi-port@4805a000 {
76dc9df315SSebastian Reichel		compatible = "ti,omap3-ssi-port";
77dc9df315SSebastian Reichel
78dc9df315SSebastian Reichel		reg = <0x4805a000 0x800>,
79dc9df315SSebastian Reichel		      <0x4805a800 0x800>;
80dc9df315SSebastian Reichel		reg-names = "tx",
81dc9df315SSebastian Reichel			    "rx";
82dc9df315SSebastian Reichel
83dc9df315SSebastian Reichel		interrupt-parent = <&intc>;
84dc9df315SSebastian Reichel		interrupts = <67>,
85dc9df315SSebastian Reichel			     <68>;
86dc9df315SSebastian Reichel
87dc9df315SSebastian Reichel		ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
88dc9df315SSebastian Reichel	}
89dc9df315SSebastian Reichel
90dc9df315SSebastian Reichel	ssi-port@4805a000 {
91dc9df315SSebastian Reichel		compatible = "ti,omap3-ssi-port";
92dc9df315SSebastian Reichel
93dc9df315SSebastian Reichel		reg = <0x4805b000 0x800>,
94dc9df315SSebastian Reichel		      <0x4805b800 0x800>;
95dc9df315SSebastian Reichel		reg-names = "tx",
96dc9df315SSebastian Reichel			    "rx";
97dc9df315SSebastian Reichel
98dc9df315SSebastian Reichel		interrupt-parent = <&intc>;
99dc9df315SSebastian Reichel		interrupts = <69>,
100dc9df315SSebastian Reichel			     <70>;
101dc9df315SSebastian Reichel
102dc9df315SSebastian Reichel	}
103dc9df315SSebastian Reichel}
104