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

Reply via email to