162306a36Sopenharmony_ciOMAP SSI controller bindings
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciOMAP3's Synchronous Serial Interface (SSI) controller implements a
462306a36Sopenharmony_cilegacy variant of MIPI's High Speed Synchronous Serial Interface (HSI),
562306a36Sopenharmony_ciwhile the controller found inside OMAP4 is supposed to be fully compliant
662306a36Sopenharmony_ciwith the HSI standard.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciRequired properties:
962306a36Sopenharmony_ci- compatible:		Should include "ti,omap3-ssi" or "ti,omap4-hsi"
1062306a36Sopenharmony_ci- reg-names:		Contains the values "sys" and "gdd" (in this order).
1162306a36Sopenharmony_ci- reg:			Contains a matching register specifier for each entry
1262306a36Sopenharmony_ci			in reg-names.
1362306a36Sopenharmony_ci- interrupt-names:	Contains the value "gdd_mpu".
1462306a36Sopenharmony_ci- interrupts: 		Contains matching interrupt information for each entry
1562306a36Sopenharmony_ci			in interrupt-names.
1662306a36Sopenharmony_ci- ranges:		Represents the bus address mapping between the main
1762306a36Sopenharmony_ci			controller node and the child nodes below.
1862306a36Sopenharmony_ci- clock-names:		Must include the following entries:
1962306a36Sopenharmony_ci  "ssi_ssr_fck": The OMAP clock of that name
2062306a36Sopenharmony_ci  "ssi_sst_fck": The OMAP clock of that name
2162306a36Sopenharmony_ci  "ssi_ick": The OMAP clock of that name
2262306a36Sopenharmony_ci- clocks:		Contains a matching clock specifier for each entry in
2362306a36Sopenharmony_ci			clock-names.
2462306a36Sopenharmony_ci- #address-cells:	Should be set to <1>
2562306a36Sopenharmony_ci- #size-cells:		Should be set to <1>
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciEach port is represented as a sub-node of the ti,omap3-ssi device.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciRequired Port sub-node properties:
3062306a36Sopenharmony_ci- compatible:		Should be set to the following value
3162306a36Sopenharmony_ci			ti,omap3-ssi-port (applicable to OMAP34xx devices)
3262306a36Sopenharmony_ci			ti,omap4-hsi-port (applicable to OMAP44xx devices)
3362306a36Sopenharmony_ci- reg-names:		Contains the values "tx" and "rx" (in this order).
3462306a36Sopenharmony_ci- reg:			Contains a matching register specifier for each entry
3562306a36Sopenharmony_ci			in reg-names.
3662306a36Sopenharmony_ci- interrupts:		Should contain interrupt specifiers for mpu interrupts
3762306a36Sopenharmony_ci			0 and 1 (in this order).
3862306a36Sopenharmony_ci- ti,ssi-cawake-gpio:	Defines which GPIO pin is used to signify CAWAKE
3962306a36Sopenharmony_ci			events for the port. This is an optional board-specific
4062306a36Sopenharmony_ci			property. If it's missing the port will not be
4162306a36Sopenharmony_ci			enabled.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciOptional properties:
4462306a36Sopenharmony_ci- ti,hwmods:		Shall contain TI interconnect module name if needed
4562306a36Sopenharmony_ci			by the SoC
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciExample for Nokia N900:
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_cissi-controller@48058000 {
5062306a36Sopenharmony_ci	compatible = "ti,omap3-ssi";
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	/* needed until hwmod is updated to use the compatible string */
5362306a36Sopenharmony_ci	ti,hwmods = "ssi";
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	reg = <0x48058000 0x1000>,
5662306a36Sopenharmony_ci	      <0x48059000 0x1000>;
5762306a36Sopenharmony_ci	reg-names = "sys",
5862306a36Sopenharmony_ci		    "gdd";
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	interrupts = <55>;
6162306a36Sopenharmony_ci	interrupt-names = "gdd_mpu";
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci	clocks = <&ssi_ssr_fck>,
6462306a36Sopenharmony_ci		 <&ssi_sst_fck>,
6562306a36Sopenharmony_ci		 <&ssi_ick>;
6662306a36Sopenharmony_ci	clock-names = "ssi_ssr_fck",
6762306a36Sopenharmony_ci		      "ssi_sst_fck",
6862306a36Sopenharmony_ci		      "ssi_ick";
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	#address-cells = <1>;
7162306a36Sopenharmony_ci	#size-cells = <1>;
7262306a36Sopenharmony_ci	ranges;
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	ssi-port@4805a000 {
7562306a36Sopenharmony_ci		compatible = "ti,omap3-ssi-port";
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci		reg = <0x4805a000 0x800>,
7862306a36Sopenharmony_ci		      <0x4805a800 0x800>;
7962306a36Sopenharmony_ci		reg-names = "tx",
8062306a36Sopenharmony_ci			    "rx";
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci		interrupt-parent = <&intc>;
8362306a36Sopenharmony_ci		interrupts = <67>,
8462306a36Sopenharmony_ci			     <68>;
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci		ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
8762306a36Sopenharmony_ci	}
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci	ssi-port@4805a000 {
9062306a36Sopenharmony_ci		compatible = "ti,omap3-ssi-port";
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci		reg = <0x4805b000 0x800>,
9362306a36Sopenharmony_ci		      <0x4805b800 0x800>;
9462306a36Sopenharmony_ci		reg-names = "tx",
9562306a36Sopenharmony_ci			    "rx";
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci		interrupt-parent = <&intc>;
9862306a36Sopenharmony_ci		interrupts = <69>,
9962306a36Sopenharmony_ci			     <70>;
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	}
10262306a36Sopenharmony_ci}
103