From mboxrd@z Thu Jan 1 00:00:00 1970 From: nicolas.ferre@atmel.com (Nicolas Ferre) Date: Mon, 25 Mar 2013 15:10:47 +0100 Subject: [PATCH] ARM: at91: add Acme Systems Aria G25 board In-Reply-To: <5150559D.3030109@interlog.com> References: <1364201369-12047-1-git-send-email-nicolas.ferre@atmel.com> <20130325122220.GF2001@game.jcrosoft.org> <5150559D.3030109@interlog.com> Message-ID: <51505AE7.1010208@atmel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 03/25/2013 02:48 PM, Douglas Gilbert : > On 13-03-25 08:22 AM, Jean-Christophe PLAGNIOL-VILLARD wrote: >> On 09:49 Mon 25 Mar , Nicolas Ferre wrote: >>> From: Douglas Gilbert >>> >>> Signed-off-by: Douglas Gilbert >>> Signed-off-by: Nicolas Ferre >>> --- >>> arch/arm/boot/dts/ariag25.dts | 168 >>> ++++++++++++++++++++++++++++++++++++++++++ >>> 1 file changed, 168 insertions(+) >>> create mode 100644 arch/arm/boot/dts/ariag25.dts >>> >>> diff --git a/arch/arm/boot/dts/ariag25.dts >>> b/arch/arm/boot/dts/ariag25.dts >>> new file mode 100644 >>> index 0000000..d18ef50 >>> --- /dev/null >>> +++ b/arch/arm/boot/dts/ariag25.dts >>> @@ -0,0 +1,168 @@ >>> +/* >>> + * ariag25.dts - Device Tree file for Acme Systems Aria G25 >>> (AT91SAM9G25 based) >>> + * >>> + * Copyright (C) 2013 Douglas Gilbert , >>> + * Robert Nelson >>> + * >>> + * Licensed under GPLv2 or later. >>> + */ >>> +/dts-v1/; >>> +/include/ "at91sam9g25.dtsi" >>> + >>> +/ { >>> + model = "Acme Systems Aria G25"; >>> + compatible = "acme,ariag25", "atmel,at91sam9g25ek", >>> "atmel,at91sam9x5ek", >>> + "atmel,at91sam9x5", "atmel,at91sam9"; >> I doube the code is compatible with the 9g25ek >> >> specially when you do not include it >>> + >>> + aliases { >>> + serial4 = &usart3; >>> + serial5 = &uart0; >>> + }; >> you need to specify all >>> + >>> + chosen { >>> + bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw >>> rootwait"; >>> + }; >>> + >>> + memory { >>> + /* 128 MB, change this for 256 MB revision */ >>> + reg = <0x20000000 0x8000000>; >>> + }; >>> + >>> + clocks { >>> + #address-cells = <1>; >>> + #size-cells = <1>; >>> + ranges; >>> + >>> + main_clock: clock at 0 { >>> + compatible = "atmel,osc", "fixed-clock"; >>> + clock-frequency = <12000000>; >>> + }; >>> + }; >>> + >>> + ahb { >>> + apb { >>> + mmc0: mmc at f0008000 { >>> + /* N.B. Aria has no SD card detect (CD), assumed >>> present */ >>> + >>> + pinctrl-0 = < >>> + &pinctrl_mmc0_slot0_clk_cmd_dat0 >>> + &pinctrl_mmc0_slot0_dat1_3>; >>> + status = "okay"; >>> + slot at 0 { >>> + reg = <0>; >>> + bus-width = <4>; >>> + }; >>> + }; >>> + >>> + i2c0: i2c at f8010000 { >>> + status = "okay"; >>> + }; >>> + >>> + i2c1: i2c at f8014000 { >>> + status = "okay"; >>> + }; >>> + >>> + /* TWD2+TCLK2 hidden behind ethernet, so no i2c2 */ >>> + >>> + usart0: serial at f801c000 { >>> + pinctrl-0 = <&pinctrl_usart0 >>> + &pinctrl_usart0_rts >>> + &pinctrl_usart0_cts>; >>> + status = "okay"; >>> + }; >>> + >>> + usart1: serial at f8020000 { >>> + pinctrl-0 = <&pinctrl_usart1 >>> + /* &pinctrl_usart1_rts */ >>> + /* &pinctrl_usart1_cts */ >>> + >; >>> + status = "okay"; >>> + }; >>> + >>> + usart2: serial at f8024000 { >>> + /* cannot activate RTS2+CTS2, clash with >>> + * ethernet on PB0 and PB1 */ >>> + pinctrl-0 = <&pinctrl_usart2>; >>> + status = "okay"; >>> + }; >>> + >>> + usart3: serial at f8028000 { >>> + compatible = "atmel,at91sam9260-usart"; >>> + reg = <0xf8028000 0x200>; >>> + interrupts = <8 4 5>; >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&pinctrl_usart3 >>> + /* &pinctrl_usart3_rts */ >>> + /* &pinctrl_usart3_cts */ >>> + >; >>> + status = "okay"; >>> + }; >>> + >>> + macb0: ethernet at f802c000 { >>> + phy-mode = "rmii"; >>> + /* following can be overwritten by uboot 'ftd set' >>> command */ >>> + local-mac-address = [00 04 25 dd 10 01]; >> drop this, this is board specific >>> + status = "okay"; > > Also the local-mac-address line is needed since it is edited > by u-boot via this line: > > mod_dtb=fdt addr 0x27FF0000 ; fdt set ${eth0_dt_path} local-mac-address > [ ${my_ethaddr} ] > > Interesting technique that: editing the dtb from u-boot prior to the > Linux kernel using it ... > > So the u-boot environment file actually sets the MAC address. The Aria > G25 has no NAND, flash or switches for setting a quasi unique MAC > address. There seems to be no way to pass the MAC address on the > kernel boot line (there was in the past). That leaves the microSD card > and IMO u-boot is the best place to set that MAC address. My guess > is that the Aria G25 is not the only board that has this "setting the > MAC address" challenge. > > Finally of course that line is "board specific", that is why the > file is called ariag25.dts :-) Absolutely: for all those reasons (the strongest one beeing: it is so simple), I won't modify this part. Bye, -- Nicolas Ferre