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