Thread (1 message) 1 message, 1 author, 2011-02-17

Re: [PATCH 2/7] ARM: s5pv310-dt: Add a basic dts file for SMDKV310 machine

From: Grant Likely <hidden>
Date: 2011-02-17 00:34:34

On Sat, Feb 12, 2011 at 06:17:00PM +0530, Thomas Abraham wrote:
This patch adds a basic dts file for Samsung's SMDKV310 board which
is based on the s5pv310 machine.

Signed-off-by: Thomas Abraham <redacted>
Structure looks good.  Some comments below, but it is getting close.
quoted hunk
---
 arch/arm/mach-s5pv310/mach-smdkv310.dts |   78 +++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 0 deletions(-)
 create mode 100755 arch/arm/mach-s5pv310/mach-smdkv310.dts
diff --git a/arch/arm/mach-s5pv310/mach-smdkv310.dts b/arch/arm/mach-s5pv310/mach-smdkv310.dts
new file mode 100755
index 0000000..75aa76d
--- /dev/null
+++ b/arch/arm/mach-s5pv310/mach-smdkv310.dts
@@ -0,0 +1,78 @@
+/dts-v1/;
+
+/ {
+	model = "smdkv310";
You can be verbose and human-friendly here.  ie. "Samsung SMDKv310 eval board"
+	compatible = "samsung,s5pv310","samsung,smdkv310";
The specific board should come first (most compatible) followed by the
value for the soc (less specific).
quoted hunk
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	cpus {
#address-cells = <1>;
#size-cells = <0>;
+		cpu@0{
+			compatible = "arm,cortex-a9";
reg = <0>;
quoted hunk
+		};
+
+		cpu@1 {
+			compatible = "arm,cortex-a9";
reg = <1>;
quoted hunk
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x40000000 0x08000000>;
+	};
+
+	chosen {
+		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc";
initrd address should be passed via the linux,initrd-start and
linux,initrd-end properties.  U-Boot already knows how to do this so
it shouldn't be encoded in the kernel parameters list.
+		console-defaults = <0x3c5 0x3 0x111>;
Drop console-defaults.  The configuration should be encoded in the
uart's device tree node.
+		xtal-frequency = <24000000>;
It looks like this is misplaced.  If this is the primary frequency for
the system, then it should go either in the root node,  the soc node,
or the cpu nodes.
quoted hunk
+	};
+
+	soc {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		interrupt-parent = <&GIC>;
+		compatible = "samsung,s5pv310-soc","simple-bus";
+		ranges;
+
+		GIC:gic@0x10500000 {
+			#interrupt-cells = <1>;
+			interrupt-controller;
+			reg = <0x10500000 0x1000>;
+			compatible = "samsung,s5pv310-gic","arm,gic";
+		};
+
+		watchdog@0x10060000 {
+			reg = <0x10060000 0x400>;
+			interrupts = <552>;
This of course will need to be fixed up when we get the irq
infrastructure properly handling cascaded irq controllers.  It is fine
for the time being though.
quoted hunk
+			compatible = "samsung,s5pv310-wdt","samsung,s3c2410-wdt";
+		};
+
+		serial@0x13800000 {
+			reg = <0x13800000 0x100>;
+			interrupts = <16 18 17>;
+			reg-defaults = <0x3c5 0x3 0x111>;
reg-defaults doesn't sound like a very good binding.  It's better when
the properties reflect what is trying to be configured instead of a
set of magic values.  (That said, sometimes magic values are
appropriate, but even then it needs to be well documented so that
mere-mortals have a fighting chance of understanding and manipulating it).
+			compatible = "samsung,s5pv310-uart","samsung,s3c2410-uart";
+		};
+
+		serial@0x13810000 {
+			reg = <0x13810000 0x100>;
+			interrupts = <20 22 21>;
+			reg-defaults = <0x3c5 0x3 0x111>;
+			compatible = "samsung,s5pv310-uart","samsung,s3c2410-uart";
+		};
+
+		serial@0x13820000 {
+			reg = <0x13820000 0x100>;
+			interrupts = <24 26 25>;
+			reg-defaults = <0x3c5 0x3 0x111>;
+			compatible = "samsung,s5pv310-uart","samsung,s3c2410-uart";
+		};
+
+		serial@0x13830000 {
+			reg = <0x13830000 0x100>;
+			interrupts = <28 30 29>;
+			reg-defaults = <0x3c5 0x3 0x111>;
+			compatible = "samsung,s5pv310-uart","samsung,s3c2410-uart";
+		};
+	};
+};
-- 
1.6.6.rc2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help