On Wed, Jun 12, 2013 at 02:34:07PM +0200, Jonas Jensen wrote:
> 
> Signed-off-by: Jonas Jensen <[email protected]>

Hi,

You should add a bindings description for the MOXA SoC platforms, similar to
how others do it, under Documentation/devicetree/bindings/arm/.

Same goes for other device bindings below -- they all need to be added to the
bindings documentation. You might be better off removing some of them until you
post and merge the corresponding drivers.


> ---
>  arch/arm/boot/dts/Makefile            |    1 +
>  arch/arm/boot/dts/moxart-uc7112lx.dts |   89 
> +++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/moxart.dtsi         |   84 +++++++++++++++++++++++++++++++
>  3 files changed, 174 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/boot/dts/moxart-uc7112lx.dts
>  create mode 100644 arch/arm/boot/dts/moxart.dtsi
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 0d1e98b..059e6d3 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -217,6 +217,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
>       wm8750-apc8750.dtb \
>       wm8850-w70v2.dtb
>  dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb
> +dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb
>  
>  targets += dtbs
>  targets += $(dtb-y)
> diff --git a/arch/arm/boot/dts/moxart-uc7112lx.dts 
> b/arch/arm/boot/dts/moxart-uc7112lx.dts
> new file mode 100644
> index 0000000..c2bb7dc
> --- /dev/null
> +++ b/arch/arm/boot/dts/moxart-uc7112lx.dts
> @@ -0,0 +1,89 @@
> +/* moxart-uc7112lx.dts - Device Tree file for MOXA UC-7112-LX
> + *
> + * Copyright (C) 2013 Jonas Jensen <[email protected]>
> + *
> + * Licensed under GPLv2 or later. */

*/ on new line


> +
> +/dts-v1/;
> +/include/ "moxart.dtsi"
> +
> +/ {
> +     model = "MOXA UC-7112-LX";
> +     compatible = "moxa,moxart-uc-7112-lx";

Is there a generic board design / eval board that you can have as a fallback
compatible value? That way you won't have to add every board to the table in
the c file.

> +
> +     memory {
> +             reg = <0x00000000 0x02000000>;
> +     };
> +
> +     flash@80000000,0 {
> +             /* JS28F128 J3D75 A9087684 - Numonyx Embedded Flash Memory (J3 
> v. D) */
> +             compatible = "numonyx,js28f128", "cfi-flash";
> +             reg = <0x80000000 0x01000000>;
> +             bank-width = <2>;
> +             #address-cells = <1>;
> +             #size-cells = <1>;
> +             partition@0 {
> +                     label = "bootloader";
> +                     reg = <0x00000000 0x00040000>;
> +             };
> +             partition@40000 {
> +                     label = "linux kernel";
> +                     reg = <0x00040000 0x001C0000>;
> +             };
> +             partition@200000 {
> +                     label = "root filesystem";
> +                     reg = <0x00200000 0x00800000>;
> +             };
> +             partition@a00000 {
> +                     label = "user filesystem";
> +                     reg = <0x00a00000 0x00600000>;
> +             };
> +     };
> +
> +     mmc@98e00000 {
> +             compatible = "moxa,moxart-mmc";
> +             reg =   <0x98e00000 0x00001000>;
> +             interrupts = <5 0>;
> +             clock-names = "sys_clk";
> +             clocks = <&sys_clk>;
> +     };
> +
> +     mxser@98200040 {
> +             compatible = "moxa,moxart-mxser";
> +             reg =   <0x98200040 0x00000080>,        /* UART "3" base */
> +                             <0x982000e4 0x00000080>,        /* UART mode 
> base */
> +                             <0x982000c0 0x00000020>;        /* UART 
> interrupt vector */

Are there other registers for other devices inbetween, or could you just do one
large memory area here?

> +             interrupts = <31 1>;
> +     };
> +
> +     mac0: mac@90900000 {
> +             compatible = "moxa,moxart-mac0";
> +             reg =   <0x90900000 0x1000>,
> +                             <0x80000050 0x5>;                       /* MAC 
> address stored on flash */

This is a pretty unusal way to indicate mac address location. While I suppose
it works, I'd like to get the device tree maintainers in the loop. ADding them
to cc.

Also, there should be a bindings doc for this device (and a driver)

I'm also surprised that you have a 5-byte mac address. 6 bytes is much more
common. :)

Finally, are the two MACs using the same driver? if so, using the same
compatible value makes more sense.

Also, while we're not super-strict about line lengths, please check your
tabbing and try to bring the comments in a bit.

> +             interrupts = <25 0>;
> +     };
> +
> +     mac1: mac@92000000 {
> +             compatible = "moxa,moxart-mac1";
> +             reg =   <0x92000000 0x1000>,
> +                             <0x80000056 0x5>;                       /* MAC 
> address stored on flash */
> +             interrupts = <27 0>;
> +     };
> +
> +     uart0: uart@98200000 {
> +             compatible = "ns16550a";
> +             reg = <0x98200000 0x20>;
> +             interrupts = <31 0>;
> +             reg-shift = <2>;
> +             reg-io-width = <4>;
> +             clock-frequency = <14745600>;
> +             status = "okay";
> +     };
> +
> +     chosen {
> +             /* uncomment to use on board flash root
> +             bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 
> rootfstype=jffs2 rw";
> +             */

Just leave that out, I'd say.

> +             bootargs = "console=ttyS0,115200n8 root=/dev/mmcblk0p1 rw 
> rootwait";
> +     };
> +};
> diff --git a/arch/arm/boot/dts/moxart.dtsi b/arch/arm/boot/dts/moxart.dtsi
> new file mode 100644
> index 0000000..debedb7
> --- /dev/null
> +++ b/arch/arm/boot/dts/moxart.dtsi
> @@ -0,0 +1,84 @@
> +/* moxart.dtsi - Device Tree Include file for MOXA ART family SoC
> + *
> + * Copyright (C) 2013 Jonas Jensen <[email protected]>
> + *
> + * Licensed under GPLv2 or later. */
> +
> +/include/ "skeleton.dtsi"
> +
> +/ {
> +     interrupt-parent = <&intc>;
> +
> +     cpus {
> +             cpu@0 {
> +                     compatible = "faraday,fa526";

There are a couple of more properties required here. See recent postings on cpu
bindings.

> +             };
> +     };
> +
> +     clocks {
> +             #address-cells = <1>;
> +             #size-cells = <0>;
> +
> +             osc: oscillator {
> +                     #clock-cells = <0>;
> +                     compatible = "fixed-clock";
> +                     clock-frequency = <24000000>;
> +             };
> +     };
> +
> +     soc {
> +             compatible = "simple-bus";
> +             #address-cells = <1>;
> +             #size-cells = <1>;
> +             reg = <0x90000000 0x10000000>;
> +             ranges;
> +
> +             intc: interrupt-controller@98800000 {
> +                     compatible = "moxa,moxart-interrupt-controller";
> +                     reg = <0x98800000 0x38>;
> +                     interrupt-controller;
> +                     #interrupt-cells = <2>;
> +                     interrupt-mask = <0x00080000>;          /* single 
> register vector, interrupts 0-31, 1s signify edge */

Very long line, here and below.

> +             };
> +
> +             timer: timer@98400000 {
> +                     compatible = "moxa,moxart-timer";
> +                     reg = <0x98400000 0x10>;
> +                     interrupts = <19 1>;
> +             };
> +
> +             gpio: gpio@98700000 {
> +                     compatible = "moxa,moxart-gpio";
> +                     reg =   <0x98700000 0x1000>,
> +                                     <0x98100100 0x4>;                       
> /*      Power Management Unit
> +                                                                             
>                         enable/disable pin 0-31 (32bit register) */
> +             };
> +
> +             rtc: rtc {
> +                     compatible = "moxa,moxart-rtc";
> +             };
> +
> +             dma: dma@90500000 {
> +                     compatible = "moxa,moxart-dma";
> +                     reg = <0x90500000 0x1000>;
> +                     interrupts = <24 0>;
> +             };
> +
> +             watchdog: watchdog@98500000 {
> +                     compatible = "moxa,moxart-watchdog";
> +                     reg = <0x98500000 0x1000>;
> +             };
> +
> +             pmu: pmu@98100000 {                                             
> /* Power Management Unit */
> +                     compatible = "moxa,moxart-pmu";
> +                     reg = <0x98100000 0x34>;                        /* 
> offset mul @ 0x30, val @ 0x0c (2 * 32 bit registers) */
> +                     clocks {
> +                             sys_clk: sys_clk {
> +                                     #clock-cells = <0>;
> +                                     compatible = "moxa,moxart-sysclk";
> +                                     clock-output-names = "sys_clk";
> +                             };
> +                     };
> +             };
> +     };
> +};
> -- 
> 1.7.2.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to