[PATCH 3/3] ARM: omap: pass minimal SoC/board data for UART from dt

Rajendra Nayak rnayak at ti.com
Wed Nov 16 22:02:26 EST 2011


Pass minimal data needed for console boot, from dt, for
OMAP4 panda/sdp and OMAP3 beagle boards, and get rid of the
static initialization from generic board file.

Signed-off-by: Rajendra Nayak <rnayak at ti.com>
---
 arch/arm/boot/dts/omap3-beagle.dts  |   17 +++++++++++++++++
 arch/arm/boot/dts/omap3.dtsi        |   27 +++++++++++++++++++++++++++
 arch/arm/boot/dts/omap4-panda.dts   |   17 +++++++++++++++++
 arch/arm/boot/dts/omap4-sdp.dts     |   17 +++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi        |   24 ++++++++++++++++++++++++
 arch/arm/mach-omap2/board-generic.c |    1 -
 6 files changed, 102 insertions(+), 1 deletions(-)

diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts
index 9486be6..4c8f11e 100644
--- a/arch/arm/boot/dts/omap3-beagle.dts
+++ b/arch/arm/boot/dts/omap3-beagle.dts
@@ -27,3 +27,20 @@
 		reg = <0x80000000 0x20000000>; /* 512 MB */
 	};
 };
+
+&uart1 {
+	clock-frequency = <48000000>;
+};
+
+&uart2 {
+	clock-frequency = <48000000>;
+};
+
+&uart3 {
+	ti,console_hwmod;
+	clock-frequency = <48000000>;
+};
+
+&uart4 {
+	clock-frequency = <48000000>;
+};
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index d202bb5..ea591c5 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -13,6 +13,13 @@
 / {
 	compatible = "ti,omap3430", "ti,omap3";
 
+	aliases {
+		uart1 = &uart1;
+		uart2 = &uart2;
+		uart3 = &uart3;
+		uart4 = &uart4;
+	};
+
 	cpus {
 		cpu at 0 {
 			compatible = "arm,cortex-a8";
@@ -59,5 +66,25 @@
 			interrupt-controller;
 			#interrupt-cells = <1>;
 		};
+
+		uart1: uart at 1 {
+			compatible = "ti,omap-uart";
+			ti,hwmods = "uart1";
+		};
+
+		uart2: uart at 2 {
+			compatible = "ti,omap-uart";
+			ti,hwmods = "uart2";
+		};
+
+		uart3: uart at 3 {
+			compatible = "ti,omap-uart";
+			ti,hwmods = "uart3";
+		};
+
+		uart4: uart at 4 {
+			compatible = "ti,omap-uart";
+			ti,hwmods = "uart4";
+		};
 	};
 };
diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts
index c702657..aa65449 100644
--- a/arch/arm/boot/dts/omap4-panda.dts
+++ b/arch/arm/boot/dts/omap4-panda.dts
@@ -27,3 +27,20 @@
 		reg = <0x80000000 0x40000000>; /* 1 GB */
 	};
 };
+
+&uart1 {
+	clock-frequency = <48000000>;
+};
+
+&uart2 {
+	clock-frequency = <48000000>;
+};
+
+&uart3 {
+	ti,console_hwmod;
+	clock-frequency = <48000000>;
+};
+
+&uart4 {
+	clock-frequency = <48000000>;
+};
diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
index 066e28c..524f5bf 100644
--- a/arch/arm/boot/dts/omap4-sdp.dts
+++ b/arch/arm/boot/dts/omap4-sdp.dts
@@ -27,3 +27,20 @@
 		reg = <0x80000000 0x40000000>; /* 1 GB */
 	};
 };
+
+&uart1 {
+	clock-frequency = <48000000>;
+};
+
+&uart2 {
+	clock-frequency = <48000000>;
+};
+
+&uart3 {
+	ti,console_hwmod;
+	clock-frequency = <48000000>;
+};
+
+&uart4 {
+	clock-frequency = <48000000>;
+};
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 4c61c82..2378d1e 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -21,6 +21,10 @@
 	interrupt-parent = <&gic>;
 
 	aliases {
+		uart1 = &uart1;
+		uart2 = &uart2;
+		uart3 = &uart3;
+		uart4 = &uart4;
 	};
 
 	cpus {
@@ -99,5 +103,25 @@
 			reg = <0x48241000 0x1000>,
 			      <0x48240100 0x0100>;
 		};
+
+		uart1: uart at 1 {
+			compatible = "ti,omap-uart";
+			ti,hwmods = "uart1";
+		};
+
+		uart2: uart at 2 {
+			compatible = "ti,omap-uart";
+			ti,hwmods = "uart2";
+		};
+
+		uart3: uart at 3 {
+			compatible = "ti,omap-uart";
+			ti,hwmods = "uart3";
+		};
+
+		uart4: uart at 4 {
+			compatible = "ti,omap-uart";
+			ti,hwmods = "uart4";
+		};
 	};
 };
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index fb55fa3..bb72809 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -70,7 +70,6 @@ static void __init omap_generic_init(void)
 	if (node)
 		irq_domain_add_simple(node, 0);
 
-	omap_serial_init();
 	omap_sdrc_init(NULL, NULL);
 
 	of_platform_populate(NULL, omap_dt_match_table, NULL, NULL);
-- 
1.7.1



More information about the devicetree-discuss mailing list