Le 19/05/2016 01:29, Rob Herring a écrit : > On Wed, May 18, 2016 at 06:02:46PM +0530, Raashid Muhammed wrote: >> From: Raashid Muhammed <raashidmuhammed@xxxxxxxxxxx> >> >> sam9-l9260 is a low cost board designed by Olimex. >> >> More infomation is available at: >> https://www.olimex.com/Products/ARM/Atmel/SAM9-L9260/ >> >> Signed-off-by: Raashid Muhammed <raashidmuhammed@xxxxxxxxxxx> >> Reviewed-by: Vijay Kumar B. <vijaykumar@xxxxxxxxxxxx> >> --- >> .../devicetree/bindings/arm/olimex-at91.txt | 6 ++ >> arch/arm/boot/dts/Makefile | 1 + >> arch/arm/boot/dts/sam9-l9260.dts | 108 +++++++++++++++++++++ For AT91-based boards, please use this prefix: "at91-" as stated in the Atmel README file: http://lxr.free-electrons.com/source/Documentation/arm/Atmel/README#L127 So I would recommend this name instead: at91-sam9-l9260.dts >> 3 files changed, 115 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/arm/olimex-at91.txt >> create mode 100644 arch/arm/boot/dts/sam9-l9260.dts >> >> diff --git a/Documentation/devicetree/bindings/arm/olimex-at91.txt b/Documentation/devicetree/bindings/arm/olimex-at91.txt >> new file mode 100644 >> index 0000000..0587d63 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/arm/olimex-at91.txt >> @@ -0,0 +1,6 @@ >> +Olimex AT91 Device Tree Bindings >> +-------------------------------- > > There's not an existing at91 or olimex file this would fit into? We > don't need 1 file per board. > >> + >> +SAM9-L9260 Board >> +Required root node properties: >> + - compatible = "olimex,sam9-l9260", "atmel,at91sam9260"; I don't think this file is needed at all actually. We have a lot of board files and none of them have a dedicated or particular entry for them. >> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile >> index 95c1923..ae3b50f 100644 >> --- a/arch/arm/boot/dts/Makefile >> +++ b/arch/arm/boot/dts/Makefile >> @@ -19,6 +19,7 @@ dtb-$(CONFIG_SOC_SAM_V4_V5) += \ >> usb_a9260.dtb \ >> at91sam9261ek.dtb \ >> at91sam9263ek.dtb \ >> + sam9-l9260.dtb \ Ditto about the file name. >> tny_a9263.dtb \ >> usb_a9263.dtb \ >> at91-foxg20.dtb \ >> diff --git a/arch/arm/boot/dts/sam9-l9260.dts b/arch/arm/boot/dts/sam9-l9260.dts >> new file mode 100644 >> index 0000000..3ddf7af >> --- /dev/null >> +++ b/arch/arm/boot/dts/sam9-l9260.dts >> @@ -0,0 +1,108 @@ >> +/* >> + * sam9-l9260.dts - Device Tree file for Olimex SAM9-L9260 board >> + * >> + * Copyright (C) 2016 Raashid Muhammed <raashidmuhammed@xxxxxxxxxxx> >> + * >> + * Licensed under GPLv2 or later. >> + */ >> +/dts-v1/; >> +#include "at91sam9260.dtsi" >> + >> +/ { >> + model = "Olimex sam9-l9260"; >> + compatible = "olimex,sam9-l9260", "atmel,at91sam9260", "atmel,at91sam9"; >> + >> + chosen { >> + bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs"; > > use stdout-path instead of console on the command line. Actually, you > should then drop the rest of the bootargs. They are all user specific. example of stdout-path: http://lxr.free-electrons.com/source/arch/arm/boot/dts/at91-sama5d2_xplained.dts#L55 >> + }; >> + >> + memory { >> + reg = <0x20000000 0x4000000>; >> + }; >> + >> + clocks { >> + slow_xtal { >> + clock-frequency = <32768>; >> + }; >> + >> + main_xtal { >> + clock-frequency = <18432000>; >> + }; >> + }; >> + >> + ahb { >> + apb { >> + dbgu: serial@fffff200 { We like to sort node by their address: can you rearrange them like this? >> + status = "okay"; >> + }; >> + >> + macb0: ethernet@fffc4000 { >> + phy-mode = "mii"; >> + status = "okay"; I advice you to add the phy address for any Ethernet interface like: phy0: ethernet-phy@1 { reg = <1>; }; for a phy address configured as 0x1. >> + }; >> + >> + spi0: spi@fffc8000 { >> + status = "okay"; Nitpicking: "status" property is usually the last one of the node (before the child nodes if they exist) >> + cs-gpios = <&pioC 11 0>, <0>, <0>, <0>; >> + mtd_dataflash@0 { >> + compatible = "atmel,at45", "atmel,dataflash"; >> + spi-max-frequency = <15000000>; >> + reg = <0>; >> + }; >> + }; >> + >> + mmc0: mmc@fffa8000 { >> + pinctrl-0 = < >> + &pinctrl_board_mmc0 >> + &pinctrl_mmc0_clk >> + &pinctrl_mmc0_slot1_cmd_dat0 >> + &pinctrl_mmc0_slot1_dat1_3>; >> + status = "okay"; >> + slot@1 { >> + reg = <1>; >> + bus-width = <4>; >> + cd-gpios = <&pioC 8 GPIO_ACTIVE_HIGH>; >> + wp-gpios = <&pioC 4 GPIO_ACTIVE_HIGH>; >> + }; >> + }; >> + >> + pinctrl@fffff400 { >> + mmc0 { >> + pinctrl_board_mmc0: mmc0-board { >> + atmel,pins = >> + <AT91_PIOC 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH /* PC08 gpio CD pin pull up and deglitch */ Here, you can remove the duplicate information in the comments: just keep useful "CD" or "WP" information. >> + AT91_PIOC 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PC04 gpio WP pin pull up */ >> + }; >> + }; >> + }; >> + >> + >> + }; >> + >> + usb0: ohci@00500000 { > > Drop the leading 0. You'll need to fixup the base dts. > >> + status = "okay"; >> + }; >> + >> + nand0: nand@40000000 { >> + nand-bus-width = <8>; >> + nand-ecc-mode = "soft"; >> + nand-on-flash-bbt = <1>; >> + status = "okay"; >> + }; >> + }; >> + >> + i2c@0 { >> + status = "okay"; >> + }; >> + >> + leds { >> + compatible = "gpio-leds"; >> + >> + b0 { >> + label = "b0"; >> + gpios = <&pioA 6 GPIO_ACTIVE_HIGH>; >> + linux,default-trigger = "heartbeat"; >> + }; >> + >> + }; >> +}; >> -- >> 2.1.4 Thanks a lot for this board .dts file. I'll be happy to add the support for this Olimex board! Bye, -- Nicolas Ferre -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html