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