summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2013-09-14 00:41:07 +0200
committerSebastian Reichel <sre@ring0.de>2013-09-14 00:41:07 +0200
commite2bc78149a66de44df68a1d33a19e3e71584461d (patch)
treea5ce100e21cfcdf5e62570964a50a1bae16ce68a
parentd3300093e92c5ab033eb1a769f3e01bd96d5f943 (diff)
downloadlinux-e2bc78149a66de44df68a1d33a19e3e71584461d.tar.bz2
ARM: dts: N900: Add SSI information
Add SSI device tree data for OMAP34xx and Nokia N900. Signed-off-by: Sebastian Reichel <sre@ring0.de>
-rw-r--r--Documentation/devicetree/bindings/hsi/omap_ssi.txt73
-rw-r--r--arch/arm/boot/dts/omap3-n900.dts8
-rw-r--r--arch/arm/boot/dts/omap34xx.dtsi49
3 files changed, 130 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/hsi/omap_ssi.txt b/Documentation/devicetree/bindings/hsi/omap_ssi.txt
new file mode 100644
index 000000000000..e3597ebd76c7
--- /dev/null
+++ b/Documentation/devicetree/bindings/hsi/omap_ssi.txt
@@ -0,0 +1,73 @@
+OMAP SSI controller bindings
+
+Required properties:
+- compatible: Should be set to the following value
+ ti,omap3-ssi (applicable to OMAP34xx devices)
+- ti,hwmods: Name of the hwmod associated to the controller, which
+ is "ssi".
+- reg: Contains SSI register address range (base address and
+ length).
+- reg-names: Contains the names of the address ranges. It's
+ expected, that "sys" and "gdd" address ranges are
+ provided.
+- interrupts: Contains the interrupt information for the controller.
+- interrupt-names: Contains the names of the interrupts. It's expected,
+ that "gdd_mpu" is provided.
+- ranges Required as an empty node
+- #address-cells Should be set to <1>
+- #size-cells Should be set to <1>
+
+Each port is represented as a sub-node of the ti,omap3-ssi device.
+
+Required Port sub-node properties:
+- compatible: Should be set to the following value
+ ti,omap3-ssi-port (applicable to OMAP34xx devices)
+- reg: Contains port's register address range (base address
+ and length).
+- reg-names: Contains the names of the address ranges. It's
+ expected, that "tx" and "rx" address ranges are
+ provided.
+- interrupt-parent Should be a phandle for the interrupt controller
+- interrupts: Contains the interrupt information for the port.
+- interrupt-names: Contains the names of the interrupts. It's expected,
+ that "mpu_irq0" and "mpu_irq1" are provided.
+- ti,ssi-cawake-gpio: Defines which GPIO pin is used to signify CAWAKE
+ events for the port. This is an optional board-specific
+ property. If it's missing the port will not be
+ enabled.
+
+Example for Nokia N900:
+
+ssi-controller@48058000 {
+ compatible = "ti,omap3-ssi";
+ ti,hwmods = "ssi";
+
+ reg = <0x48058000 0x1000>,
+ <0x48059000 0x1000>;
+ reg-names = "sys",
+ "gdd";
+
+ interrupts = <55>;
+ interrupt-names = "gdd_mpu";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ ssi-port@0 {
+ compatible = "ti,omap3-ssi-port";
+
+ reg = <0x4805a000 0x800>,
+ <0x4805a800 0x800>;
+ reg-names = "tx",
+ "rx";
+
+ interrupt-parent = <&intc>;
+ interrupts = <51>,
+ <52>;
+ interrupt-names = "mpu_irq0",
+ "mpu_irq1";
+
+ ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
+ }
+}
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 0582356ef0f4..cc4a3e2e398a 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -186,6 +186,14 @@
power = <50>;
};
+&ssi_port1 {
+ ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
+};
+
+&ssi_port2 {
+ status = "disabled";
+};
+
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
diff --git a/arch/arm/boot/dts/omap34xx.dtsi b/arch/arm/boot/dts/omap34xx.dtsi
index 5355d6173748..393b7a712bc5 100644
--- a/arch/arm/boot/dts/omap34xx.dtsi
+++ b/arch/arm/boot/dts/omap34xx.dtsi
@@ -25,4 +25,53 @@
clock-latency = <300000>; /* From legacy driver */
};
};
+
+ ocp {
+ ssi: ssi-controller@48058000 {
+ compatible = "ti,omap3-ssi";
+ ti,hwmods = "ssi";
+
+ reg = <0x48058000 0x1000>,
+ <0x48059000 0x1000>;
+ reg-names = "sys",
+ "gdd";
+
+ interrupts = <55>;
+ interrupt-names = "gdd_mpu";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ ssi_port1: ssi-port@0 {
+ compatible = "ti,omap3-ssi-port";
+
+ reg = <0x4805a000 0x800>,
+ <0x4805a800 0x800>;
+ reg-names = "tx",
+ "rx";
+
+ interrupt-parent = <&intc>;
+ interrupts = <51>,
+ <52>;
+ interrupt-names = "mpu_irq0",
+ "mpu_irq1";
+ };
+
+ ssi_port2: ssi-port@1 {
+ compatible = "ti,omap3-ssi-port";
+
+ reg = <0x4805b000 0x800>,
+ <0x4805b800 0x800>;
+ reg-names = "tx",
+ "rx";
+
+ interrupt-parent = <&intc>;
+ interrupts = <53>,
+ <54>;
+ interrupt-names = "mpu_irq0",
+ "mpu_irq1";
+ };
+ };
+ };
};