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

Grant Likely grant.likely at secretlab.ca
Thu Feb 17 11:34:34 EST 2011


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.abraham at 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 at 0{
> +			compatible = "arm,cortex-a9";

reg = <0>;

> +		};
> +
> +		cpu at 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 at 0x10500000 {
> +			#interrupt-cells = <1>;
> +			interrupt-controller;
> +			reg = <0x10500000 0x1000>;
> +			compatible = "samsung,s5pv310-gic","arm,gic";
> +		};
> +
> +		watchdog at 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 at 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 at 0x13810000 {
> +			reg = <0x13810000 0x100>;
> +			interrupts = <20 22 21>;
> +			reg-defaults = <0x3c5 0x3 0x111>;
> +			compatible = "samsung,s5pv310-uart","samsung,s3c2410-uart";
> +		};
> +
> +		serial at 0x13820000 {
> +			reg = <0x13820000 0x100>;
> +			interrupts = <24 26 25>;
> +			reg-defaults = <0x3c5 0x3 0x111>;
> +			compatible = "samsung,s5pv310-uart","samsung,s3c2410-uart";
> +		};
> +
> +		serial at 0x13830000 {
> +			reg = <0x13830000 0x100>;
> +			interrupts = <28 30 29>;
> +			reg-defaults = <0x3c5 0x3 0x111>;
> +			compatible = "samsung,s5pv310-uart","samsung,s3c2410-uart";
> +		};
> +	};
> +};
> -- 
> 1.6.6.rc2
> 


More information about the devicetree-discuss mailing list