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 <thomas.abra...@linaro.org>
Structure looks good. Some comments below, but it is getting close. > --- > 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). > + #address-cells = <1>; > + #size-cells = <1>; > + > + cpus { #address-cells = <1>; #size-cells = <0>; > + cpu@0{ > + compatible = "arm,cortex-a9"; reg = <0>; > + }; > + > + cpu@1 { > + compatible = "arm,cortex-a9"; reg = <1>; > + }; > + }; > + > + 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. > + }; > + > + 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. > + 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 > _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev