Message ID | 1384527006-9040-2-git-send-email-plagnioj@jcrosoft.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 15/11/2013 15:49, Jean-Christophe PLAGNIOL-VILLARD wrote: > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> > Cc: Nicolas Ferre <nicolas.ferre@atmel.com> > --- > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/at91-1arm.dts | 70 +++++++++++++++++++++++++ > arch/arm/configs/at91rm9200_defconfig | 1 - > arch/arm/mach-at91/Kconfig.non_dt | 6 --- > arch/arm/mach-at91/Makefile | 1 - > arch/arm/mach-at91/board-1arm.c | 99 ----------------------------------- > 6 files changed, 71 insertions(+), 107 deletions(-) > create mode 100644 arch/arm/boot/dts/at91-1arm.dts > delete mode 100644 arch/arm/mach-at91/board-1arm.c > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 802720e..f1fb6d7 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -3,6 +3,7 @@ ifeq ($(CONFIG_OF),y) > # Keep at91 dtb files sorted alphabetically for each SoC > # rm9200 > dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb > +dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb > dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb > # sam9260 > dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb > diff --git a/arch/arm/boot/dts/at91-1arm.dts b/arch/arm/boot/dts/at91-1arm.dts > new file mode 100644 > index 0000000..39b0c56 > --- /dev/null > +++ b/arch/arm/boot/dts/at91-1arm.dts > @@ -0,0 +1,70 @@ > +/* > + * at91-1arm.dts - Device Tree file for Ajeco 1ARM single board computer > + * > + * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> > + * > + * Licensed under GPLv2 only > + */ > +/dts-v1/; > +#include "at91rm9200_pqfp.dtsi" > + > +/ { > + model = "Ajeco 1ARM single board computer"; > + compatible = "ajeco,1arm", "atmel,at91rm9200-pqfp", "atmel,at91rm9200"; > + > + clocks { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + main_clock: clock@0 { > + compatible = "atmel,osc", "fixed-clock"; > + clock-frequency = <18432000>; > + }; > + }; > + > + ahb { > + apb { > + dbgu: serial@fffff200 { > + status = "okay"; > + }; > + > + usart0: serial@fffc0000 { > + pinctrl-0 = > + <&pinctrl_uart0 > + &pinctrl_uart0_rts > + &pinctrl_uart0_cts>; > + > + status = "okay"; > + }; > + > + usart1: serial@fffc4000 { > + pinctrl-0 = > + <&pinctrl_uart1 > + &pinctrl_uart1_rts > + &pinctrl_uart1_cts > + &pinctrl_uart1_dtr_dsr > + &pinctrl_uart1_dcd > + &pinctrl_uart1_ri>; > + status = "okay"; > + }; > + > + macb0: ethernet@fffbc000 { > + phy-mode = "rmii"; > + /* phy irq PC4 */ > + status = "okay"; > + }; Could you add a phy node in macb0 node (see https://lkml.org/lkml/2013/8/28/183) ? In this node you can describe phy irq and even phy id (if it is hardcoded). The same goes for all rm9200 boards except rm9200ek (I already posted a series for this one). Best Regards, Boris > + > + usb1: gadget@fffb0000 { > + atmel,vbus-gpio = <&pioC 2 0>; > + atmel,pullup-gpio = <&pioC 3 0>; > + status = "okay"; > + }; > + }; > + > + usb0: ohci@00300000 { > + num-ports = <1>; > + status = "okay"; > + }; > + }; > +}; > diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig > index 75502c4..d333250 100644 > --- a/arch/arm/configs/at91rm9200_defconfig > +++ b/arch/arm/configs/at91rm9200_defconfig > @@ -17,7 +17,6 @@ CONFIG_MODULE_SRCVERSION_ALL=y > # CONFIG_IOSCHED_CFQ is not set > CONFIG_ARCH_AT91=y > CONFIG_ARCH_AT91RM9200=y > -CONFIG_MACH_ONEARM=y > CONFIG_MACH_AT91RM9200EK=y > CONFIG_MACH_CSB337=y > CONFIG_MACH_CSB637=y > diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt > index ca900be..4dcf706 100644 > --- a/arch/arm/mach-at91/Kconfig.non_dt > +++ b/arch/arm/mach-at91/Kconfig.non_dt > @@ -56,12 +56,6 @@ if ARCH_AT91RM9200 > > comment "AT91RM9200 Board Type" > > -config MACH_ONEARM > - bool "Ajeco 1ARM Single Board Computer" > - help > - Select this if you are using Ajeco's 1ARM Single Board Computer. > - <http://www.ajeco.fi/> > - > config MACH_AT91RM9200EK > bool "Atmel AT91RM9200-EK Evaluation Kit" > select HAVE_AT91_DATAFLASH_CARD > diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile > index 3b0a953..5c5534c 100644 > --- a/arch/arm/mach-at91/Makefile > +++ b/arch/arm/mach-at91/Makefile > @@ -33,7 +33,6 @@ obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45_devices.o > obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o > > # AT91RM9200 board-specific support > -obj-$(CONFIG_MACH_ONEARM) += board-1arm.o > obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o > obj-$(CONFIG_MACH_CSB337) += board-csb337.o > obj-$(CONFIG_MACH_CSB637) += board-csb637.o > diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c > deleted file mode 100644 > index 35ab632..0000000 > --- a/arch/arm/mach-at91/board-1arm.c > +++ /dev/null > @@ -1,99 +0,0 @@ > -/* > - * linux/arch/arm/mach-at91/board-1arm.c > - * > - * Copyright (C) 2005 SAN People > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; either version 2 of the License, or > - * (at your option) any later version. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, write to the Free Software > - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > - */ > - > -#include <linux/types.h> > -#include <linux/gpio.h> > -#include <linux/init.h> > -#include <linux/mm.h> > -#include <linux/module.h> > -#include <linux/platform_device.h> > - > -#include <mach/hardware.h> > -#include <asm/setup.h> > -#include <asm/mach-types.h> > -#include <asm/irq.h> > - > -#include <asm/mach/arch.h> > -#include <asm/mach/map.h> > -#include <asm/mach/irq.h> > - > -#include <mach/cpu.h> > - > -#include "at91_aic.h" > -#include "board.h" > -#include "generic.h" > - > - > -static void __init onearm_init_early(void) > -{ > - /* Set cpu type: PQFP */ > - at91rm9200_set_type(ARCH_REVISON_9200_PQFP); > - > - /* Initialize processor: 18.432 MHz crystal */ > - at91_initialize(18432000); > -} > - > -static struct macb_platform_data __initdata onearm_eth_data = { > - .phy_irq_pin = AT91_PIN_PC4, > - .is_rmii = 1, > -}; > - > -static struct at91_usbh_data __initdata onearm_usbh_data = { > - .ports = 1, > - .vbus_pin = {-EINVAL, -EINVAL}, > - .overcurrent_pin= {-EINVAL, -EINVAL}, > -}; > - > -static struct at91_udc_data __initdata onearm_udc_data = { > - .vbus_pin = AT91_PIN_PC2, > - .pullup_pin = AT91_PIN_PC3, > -}; > - > -static void __init onearm_board_init(void) > -{ > - /* Serial */ > - /* DBGU on ttyS0. (Rx & Tx only) */ > - at91_register_uart(0, 0, 0); > - > - /* USART0 on ttyS1 (Rx, Tx, CTS, RTS) */ > - at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); > - > - /* USART1 on ttyS2 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ > - at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS > - | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD > - | ATMEL_UART_RI); > - at91_add_device_serial(); > - /* Ethernet */ > - at91_add_device_eth(&onearm_eth_data); > - /* USB Host */ > - at91_add_device_usbh(&onearm_usbh_data); > - /* USB Device */ > - at91_add_device_udc(&onearm_udc_data); > -} > - > -MACHINE_START(ONEARM, "Ajeco 1ARM single board computer") > - /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */ > - .init_time = at91rm9200_timer_init, > - .map_io = at91_map_io, > - .handle_irq = at91_aic_handle_irq, > - .init_early = onearm_init_early, > - .init_irq = at91_init_irq_default, > - .init_machine = onearm_board_init, > -MACHINE_END >
On 15/11/2013 15:49, Jean-Christophe PLAGNIOL-VILLARD wrote: > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> > Cc: Nicolas Ferre <nicolas.ferre@atmel.com> > --- > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/at91-1arm.dts | 70 +++++++++++++++++++++++++ > arch/arm/configs/at91rm9200_defconfig | 1 - > arch/arm/mach-at91/Kconfig.non_dt | 6 --- > arch/arm/mach-at91/Makefile | 1 - > arch/arm/mach-at91/board-1arm.c | 99 ----------------------------------- > 6 files changed, 71 insertions(+), 107 deletions(-) > create mode 100644 arch/arm/boot/dts/at91-1arm.dts > delete mode 100644 arch/arm/mach-at91/board-1arm.c > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 802720e..f1fb6d7 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -3,6 +3,7 @@ ifeq ($(CONFIG_OF),y) > # Keep at91 dtb files sorted alphabetically for each SoC > # rm9200 > dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb > +dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb > dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb > # sam9260 > dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb > diff --git a/arch/arm/boot/dts/at91-1arm.dts b/arch/arm/boot/dts/at91-1arm.dts > new file mode 100644 > index 0000000..39b0c56 > --- /dev/null > +++ b/arch/arm/boot/dts/at91-1arm.dts > @@ -0,0 +1,70 @@ > +/* > + * at91-1arm.dts - Device Tree file for Ajeco 1ARM single board computer > + * > + * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> > + * > + * Licensed under GPLv2 only > + */ > +/dts-v1/; > +#include "at91rm9200_pqfp.dtsi" > + > +/ { > + model = "Ajeco 1ARM single board computer"; > + compatible = "ajeco,1arm", "atmel,at91rm9200-pqfp", "atmel,at91rm9200"; > + > + clocks { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + main_clock: clock@0 { > + compatible = "atmel,osc", "fixed-clock"; > + clock-frequency = <18432000>; > + }; > + }; > + > + ahb { > + apb { > + dbgu: serial@fffff200 { > + status = "okay"; > + }; > + > + usart0: serial@fffc0000 { > + pinctrl-0 = > + <&pinctrl_uart0 > + &pinctrl_uart0_rts > + &pinctrl_uart0_cts>; > + > + status = "okay"; > + }; > + > + usart1: serial@fffc4000 { > + pinctrl-0 = > + <&pinctrl_uart1 > + &pinctrl_uart1_rts > + &pinctrl_uart1_cts > + &pinctrl_uart1_dtr_dsr > + &pinctrl_uart1_dcd > + &pinctrl_uart1_ri>; > + status = "okay"; > + }; > + > + macb0: ethernet@fffbc000 { > + phy-mode = "rmii"; > + /* phy irq PC4 */ > + status = "okay"; > + }; > + > + usb1: gadget@fffb0000 { > + atmel,vbus-gpio = <&pioC 2 0>; > + atmel,pullup-gpio = <&pioC 3 0>; Shouldn't you use GPIO_ACTIVE_HIGH macro instead of the plain 0 value (as done in other dts files) ? > + status = "okay"; > + }; > + }; > + > + usb0: ohci@00300000 { > + num-ports = <1>; > + status = "okay"; > + }; > + }; > +}; > diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig > index 75502c4..d333250 100644 > --- a/arch/arm/configs/at91rm9200_defconfig > +++ b/arch/arm/configs/at91rm9200_defconfig > @@ -17,7 +17,6 @@ CONFIG_MODULE_SRCVERSION_ALL=y > # CONFIG_IOSCHED_CFQ is not set > CONFIG_ARCH_AT91=y > CONFIG_ARCH_AT91RM9200=y > -CONFIG_MACH_ONEARM=y > CONFIG_MACH_AT91RM9200EK=y > CONFIG_MACH_CSB337=y > CONFIG_MACH_CSB637=y > diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt > index ca900be..4dcf706 100644 > --- a/arch/arm/mach-at91/Kconfig.non_dt > +++ b/arch/arm/mach-at91/Kconfig.non_dt > @@ -56,12 +56,6 @@ if ARCH_AT91RM9200 > > comment "AT91RM9200 Board Type" > > -config MACH_ONEARM > - bool "Ajeco 1ARM Single Board Computer" > - help > - Select this if you are using Ajeco's 1ARM Single Board Computer. > - <http://www.ajeco.fi/> > - > config MACH_AT91RM9200EK > bool "Atmel AT91RM9200-EK Evaluation Kit" > select HAVE_AT91_DATAFLASH_CARD > diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile > index 3b0a953..5c5534c 100644 > --- a/arch/arm/mach-at91/Makefile > +++ b/arch/arm/mach-at91/Makefile > @@ -33,7 +33,6 @@ obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45_devices.o > obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o > > # AT91RM9200 board-specific support > -obj-$(CONFIG_MACH_ONEARM) += board-1arm.o > obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o > obj-$(CONFIG_MACH_CSB337) += board-csb337.o > obj-$(CONFIG_MACH_CSB637) += board-csb637.o > diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c > deleted file mode 100644 > index 35ab632..0000000 > --- a/arch/arm/mach-at91/board-1arm.c > +++ /dev/null > @@ -1,99 +0,0 @@ > -/* > - * linux/arch/arm/mach-at91/board-1arm.c > - * > - * Copyright (C) 2005 SAN People > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; either version 2 of the License, or > - * (at your option) any later version. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, write to the Free Software > - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > - */ > - > -#include <linux/types.h> > -#include <linux/gpio.h> > -#include <linux/init.h> > -#include <linux/mm.h> > -#include <linux/module.h> > -#include <linux/platform_device.h> > - > -#include <mach/hardware.h> > -#include <asm/setup.h> > -#include <asm/mach-types.h> > -#include <asm/irq.h> > - > -#include <asm/mach/arch.h> > -#include <asm/mach/map.h> > -#include <asm/mach/irq.h> > - > -#include <mach/cpu.h> > - > -#include "at91_aic.h" > -#include "board.h" > -#include "generic.h" > - > - > -static void __init onearm_init_early(void) > -{ > - /* Set cpu type: PQFP */ > - at91rm9200_set_type(ARCH_REVISON_9200_PQFP); > - > - /* Initialize processor: 18.432 MHz crystal */ > - at91_initialize(18432000); > -} > - > -static struct macb_platform_data __initdata onearm_eth_data = { > - .phy_irq_pin = AT91_PIN_PC4, > - .is_rmii = 1, > -}; > - > -static struct at91_usbh_data __initdata onearm_usbh_data = { > - .ports = 1, > - .vbus_pin = {-EINVAL, -EINVAL}, > - .overcurrent_pin= {-EINVAL, -EINVAL}, > -}; > - > -static struct at91_udc_data __initdata onearm_udc_data = { > - .vbus_pin = AT91_PIN_PC2, > - .pullup_pin = AT91_PIN_PC3, > -}; > - > -static void __init onearm_board_init(void) > -{ > - /* Serial */ > - /* DBGU on ttyS0. (Rx & Tx only) */ > - at91_register_uart(0, 0, 0); > - > - /* USART0 on ttyS1 (Rx, Tx, CTS, RTS) */ > - at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); > - > - /* USART1 on ttyS2 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ > - at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS > - | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD > - | ATMEL_UART_RI); > - at91_add_device_serial(); > - /* Ethernet */ > - at91_add_device_eth(&onearm_eth_data); > - /* USB Host */ > - at91_add_device_usbh(&onearm_usbh_data); > - /* USB Device */ > - at91_add_device_udc(&onearm_udc_data); > -} > - > -MACHINE_START(ONEARM, "Ajeco 1ARM single board computer") > - /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */ > - .init_time = at91rm9200_timer_init, > - .map_io = at91_map_io, > - .handle_irq = at91_aic_handle_irq, > - .init_early = onearm_init_early, > - .init_irq = at91_init_irq_default, > - .init_machine = onearm_board_init, > -MACHINE_END >
On 17:10 Fri 15 Nov , boris brezillon wrote: > On 15/11/2013 15:49, Jean-Christophe PLAGNIOL-VILLARD wrote: > >Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> > >Cc: Nicolas Ferre <nicolas.ferre@atmel.com> > >--- > > arch/arm/boot/dts/Makefile | 1 + > > arch/arm/boot/dts/at91-1arm.dts | 70 +++++++++++++++++++++++++ > > arch/arm/configs/at91rm9200_defconfig | 1 - > > arch/arm/mach-at91/Kconfig.non_dt | 6 --- > > arch/arm/mach-at91/Makefile | 1 - > > arch/arm/mach-at91/board-1arm.c | 99 ----------------------------------- > > 6 files changed, 71 insertions(+), 107 deletions(-) > > create mode 100644 arch/arm/boot/dts/at91-1arm.dts > > delete mode 100644 arch/arm/mach-at91/board-1arm.c > > > >diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > >index 802720e..f1fb6d7 100644 > >--- a/arch/arm/boot/dts/Makefile > >+++ b/arch/arm/boot/dts/Makefile > >@@ -3,6 +3,7 @@ ifeq ($(CONFIG_OF),y) > > # Keep at91 dtb files sorted alphabetically for each SoC > > # rm9200 > > dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb > >+dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb > > dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb > > # sam9260 > > dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb > >diff --git a/arch/arm/boot/dts/at91-1arm.dts b/arch/arm/boot/dts/at91-1arm.dts > >new file mode 100644 > >index 0000000..39b0c56 > >--- /dev/null > >+++ b/arch/arm/boot/dts/at91-1arm.dts > >@@ -0,0 +1,70 @@ > >+/* > >+ * at91-1arm.dts - Device Tree file for Ajeco 1ARM single board computer > >+ * > >+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> > >+ * > >+ * Licensed under GPLv2 only > >+ */ > >+/dts-v1/; > >+#include "at91rm9200_pqfp.dtsi" > >+ > >+/ { > >+ model = "Ajeco 1ARM single board computer"; > >+ compatible = "ajeco,1arm", "atmel,at91rm9200-pqfp", "atmel,at91rm9200"; > >+ > >+ clocks { > >+ #address-cells = <1>; > >+ #size-cells = <1>; > >+ ranges; > >+ > >+ main_clock: clock@0 { > >+ compatible = "atmel,osc", "fixed-clock"; > >+ clock-frequency = <18432000>; > >+ }; > >+ }; > >+ > >+ ahb { > >+ apb { > >+ dbgu: serial@fffff200 { > >+ status = "okay"; > >+ }; > >+ > >+ usart0: serial@fffc0000 { > >+ pinctrl-0 = > >+ <&pinctrl_uart0 > >+ &pinctrl_uart0_rts > >+ &pinctrl_uart0_cts>; > >+ > >+ status = "okay"; > >+ }; > >+ > >+ usart1: serial@fffc4000 { > >+ pinctrl-0 = > >+ <&pinctrl_uart1 > >+ &pinctrl_uart1_rts > >+ &pinctrl_uart1_cts > >+ &pinctrl_uart1_dtr_dsr > >+ &pinctrl_uart1_dcd > >+ &pinctrl_uart1_ri>; > >+ status = "okay"; > >+ }; > >+ > >+ macb0: ethernet@fffbc000 { > >+ phy-mode = "rmii"; > >+ /* phy irq PC4 */ > >+ status = "okay"; > >+ }; > > > Could you add a phy node in macb0 node (see > https://lkml.org/lkml/2013/8/28/183) ? > In this node you can describe phy irq and even phy id (if it is hardcoded). > > The same goes for all rm9200 boards except rm9200ek (I already > posted a series for this one). I did not do this as this code was never tested on those board as the driver was not supporting it so as I can not test it I do not want to do it Best Regards, J.
On 15/11/2013 18:41, Jean-Christophe PLAGNIOL-VILLARD wrote: > On 17:10 Fri 15 Nov , boris brezillon wrote: >> On 15/11/2013 15:49, Jean-Christophe PLAGNIOL-VILLARD wrote: >>> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> >>> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> >>> --- >>> arch/arm/boot/dts/Makefile | 1 + >>> arch/arm/boot/dts/at91-1arm.dts | 70 +++++++++++++++++++++++++ >>> arch/arm/configs/at91rm9200_defconfig | 1 - >>> arch/arm/mach-at91/Kconfig.non_dt | 6 --- >>> arch/arm/mach-at91/Makefile | 1 - >>> arch/arm/mach-at91/board-1arm.c | 99 ----------------------------------- >>> 6 files changed, 71 insertions(+), 107 deletions(-) >>> create mode 100644 arch/arm/boot/dts/at91-1arm.dts >>> delete mode 100644 arch/arm/mach-at91/board-1arm.c >>> >>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile >>> index 802720e..f1fb6d7 100644 >>> --- a/arch/arm/boot/dts/Makefile >>> +++ b/arch/arm/boot/dts/Makefile >>> @@ -3,6 +3,7 @@ ifeq ($(CONFIG_OF),y) >>> # Keep at91 dtb files sorted alphabetically for each SoC >>> # rm9200 >>> dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb >>> +dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb >>> dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb >>> # sam9260 >>> dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb >>> diff --git a/arch/arm/boot/dts/at91-1arm.dts b/arch/arm/boot/dts/at91-1arm.dts >>> new file mode 100644 >>> index 0000000..39b0c56 >>> --- /dev/null >>> +++ b/arch/arm/boot/dts/at91-1arm.dts >>> @@ -0,0 +1,70 @@ >>> +/* >>> + * at91-1arm.dts - Device Tree file for Ajeco 1ARM single board computer >>> + * >>> + * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> >>> + * >>> + * Licensed under GPLv2 only >>> + */ >>> +/dts-v1/; >>> +#include "at91rm9200_pqfp.dtsi" >>> + >>> +/ { >>> + model = "Ajeco 1ARM single board computer"; >>> + compatible = "ajeco,1arm", "atmel,at91rm9200-pqfp", "atmel,at91rm9200"; >>> + >>> + clocks { >>> + #address-cells = <1>; >>> + #size-cells = <1>; >>> + ranges; >>> + >>> + main_clock: clock@0 { >>> + compatible = "atmel,osc", "fixed-clock"; >>> + clock-frequency = <18432000>; >>> + }; >>> + }; >>> + >>> + ahb { >>> + apb { >>> + dbgu: serial@fffff200 { >>> + status = "okay"; >>> + }; >>> + >>> + usart0: serial@fffc0000 { >>> + pinctrl-0 = >>> + <&pinctrl_uart0 >>> + &pinctrl_uart0_rts >>> + &pinctrl_uart0_cts>; >>> + >>> + status = "okay"; >>> + }; >>> + >>> + usart1: serial@fffc4000 { >>> + pinctrl-0 = >>> + <&pinctrl_uart1 >>> + &pinctrl_uart1_rts >>> + &pinctrl_uart1_cts >>> + &pinctrl_uart1_dtr_dsr >>> + &pinctrl_uart1_dcd >>> + &pinctrl_uart1_ri>; >>> + status = "okay"; >>> + }; >>> + >>> + macb0: ethernet@fffbc000 { >>> + phy-mode = "rmii"; >>> + /* phy irq PC4 */ >>> + status = "okay"; >>> + }; >> >> Could you add a phy node in macb0 node (see >> https://lkml.org/lkml/2013/8/28/183) ? >> In this node you can describe phy irq and even phy id (if it is hardcoded). >> >> The same goes for all rm9200 boards except rm9200ek (I already >> posted a series for this one). > I did not do this as this code was never tested on those board as the driver > was not supporting it so as I can not test it I do not want to do it How could this be a valid argument ? I'm not telling that this should be mainlined without any tests, but IMHO dropping new features because we don't have time to test it is not a good approach. Moreover, the non-dt versions of these boards provide phy irq functionality and I think we should at least provide the same level of functionality when migrating to dt. I implemented the phy dt definition support for macb (and implicitely for at91_ether) ethernet drivers, and I think this should be used for all new dt boards. Anyway, this is not my decision, and let at91 maintainers (including you) decide wether this should be dropped for this version. Best Regards, Boris > > Best Regards, > J.
On 19:27 Fri 15 Nov , boris brezillon wrote: > On 15/11/2013 18:41, Jean-Christophe PLAGNIOL-VILLARD wrote: > >On 17:10 Fri 15 Nov , boris brezillon wrote: > >>On 15/11/2013 15:49, Jean-Christophe PLAGNIOL-VILLARD wrote: > >>>Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> > >>>Cc: Nicolas Ferre <nicolas.ferre@atmel.com> > >>>--- > >>> arch/arm/boot/dts/Makefile | 1 + > >>> arch/arm/boot/dts/at91-1arm.dts | 70 +++++++++++++++++++++++++ > >>> arch/arm/configs/at91rm9200_defconfig | 1 - > >>> arch/arm/mach-at91/Kconfig.non_dt | 6 --- > >>> arch/arm/mach-at91/Makefile | 1 - > >>> arch/arm/mach-at91/board-1arm.c | 99 ----------------------------------- > >>> 6 files changed, 71 insertions(+), 107 deletions(-) > >>> create mode 100644 arch/arm/boot/dts/at91-1arm.dts > >>> delete mode 100644 arch/arm/mach-at91/board-1arm.c > >>> > >>>diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > >>>index 802720e..f1fb6d7 100644 > >>>--- a/arch/arm/boot/dts/Makefile > >>>+++ b/arch/arm/boot/dts/Makefile > >>>@@ -3,6 +3,7 @@ ifeq ($(CONFIG_OF),y) > >>> # Keep at91 dtb files sorted alphabetically for each SoC > >>> # rm9200 > >>> dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb > >>>+dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb > >>> dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb > >>> # sam9260 > >>> dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb > >>>diff --git a/arch/arm/boot/dts/at91-1arm.dts b/arch/arm/boot/dts/at91-1arm.dts > >>>new file mode 100644 > >>>index 0000000..39b0c56 > >>>--- /dev/null > >>>+++ b/arch/arm/boot/dts/at91-1arm.dts > >>>@@ -0,0 +1,70 @@ > >>>+/* > >>>+ * at91-1arm.dts - Device Tree file for Ajeco 1ARM single board computer > >>>+ * > >>>+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> > >>>+ * > >>>+ * Licensed under GPLv2 only > >>>+ */ > >>>+/dts-v1/; > >>>+#include "at91rm9200_pqfp.dtsi" > >>>+ > >>>+/ { > >>>+ model = "Ajeco 1ARM single board computer"; > >>>+ compatible = "ajeco,1arm", "atmel,at91rm9200-pqfp", "atmel,at91rm9200"; > >>>+ > >>>+ clocks { > >>>+ #address-cells = <1>; > >>>+ #size-cells = <1>; > >>>+ ranges; > >>>+ > >>>+ main_clock: clock@0 { > >>>+ compatible = "atmel,osc", "fixed-clock"; > >>>+ clock-frequency = <18432000>; > >>>+ }; > >>>+ }; > >>>+ > >>>+ ahb { > >>>+ apb { > >>>+ dbgu: serial@fffff200 { > >>>+ status = "okay"; > >>>+ }; > >>>+ > >>>+ usart0: serial@fffc0000 { > >>>+ pinctrl-0 = > >>>+ <&pinctrl_uart0 > >>>+ &pinctrl_uart0_rts > >>>+ &pinctrl_uart0_cts>; > >>>+ > >>>+ status = "okay"; > >>>+ }; > >>>+ > >>>+ usart1: serial@fffc4000 { > >>>+ pinctrl-0 = > >>>+ <&pinctrl_uart1 > >>>+ &pinctrl_uart1_rts > >>>+ &pinctrl_uart1_cts > >>>+ &pinctrl_uart1_dtr_dsr > >>>+ &pinctrl_uart1_dcd > >>>+ &pinctrl_uart1_ri>; > >>>+ status = "okay"; > >>>+ }; > >>>+ > >>>+ macb0: ethernet@fffbc000 { > >>>+ phy-mode = "rmii"; > >>>+ /* phy irq PC4 */ > >>>+ status = "okay"; > >>>+ }; > >> > >>Could you add a phy node in macb0 node (see > >>https://lkml.org/lkml/2013/8/28/183) ? > >>In this node you can describe phy irq and even phy id (if it is hardcoded). > >> > >>The same goes for all rm9200 boards except rm9200ek (I already > >>posted a series for this one). > >I did not do this as this code was never tested on those board as the driver > >was not supporting it so as I can not test it I do not want to do it > > How could this be a valid argument ? > I'm not telling that this should be mainlined without any tests, but > IMHO dropping > new features because we don't have time to test it is not a good approach. execpt here the board code was never tested as when the board was merged the cadence driver did NOT support phy IRQ so I can garanti it will work so I do not prodive the DT support if the board maintainer care about its board it will fix it > > Moreover, the non-dt versions of these boards provide phy irq > functionality and I think > we should at least provide the same level of functionality when > migrating to dt. > > I implemented the phy dt definition support for macb (and implicitely for > at91_ether) ethernet drivers, and I think this should be used for > all new dt boards. If you want to use it and work on the HW here I'm note sure so I play safe Best Regards, J.
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 802720e..f1fb6d7 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -3,6 +3,7 @@ ifeq ($(CONFIG_OF),y) # Keep at91 dtb files sorted alphabetically for each SoC # rm9200 dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb +dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb # sam9260 dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb diff --git a/arch/arm/boot/dts/at91-1arm.dts b/arch/arm/boot/dts/at91-1arm.dts new file mode 100644 index 0000000..39b0c56 --- /dev/null +++ b/arch/arm/boot/dts/at91-1arm.dts @@ -0,0 +1,70 @@ +/* + * at91-1arm.dts - Device Tree file for Ajeco 1ARM single board computer + * + * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> + * + * Licensed under GPLv2 only + */ +/dts-v1/; +#include "at91rm9200_pqfp.dtsi" + +/ { + model = "Ajeco 1ARM single board computer"; + compatible = "ajeco,1arm", "atmel,at91rm9200-pqfp", "atmel,at91rm9200"; + + clocks { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + main_clock: clock@0 { + compatible = "atmel,osc", "fixed-clock"; + clock-frequency = <18432000>; + }; + }; + + ahb { + apb { + dbgu: serial@fffff200 { + status = "okay"; + }; + + usart0: serial@fffc0000 { + pinctrl-0 = + <&pinctrl_uart0 + &pinctrl_uart0_rts + &pinctrl_uart0_cts>; + + status = "okay"; + }; + + usart1: serial@fffc4000 { + pinctrl-0 = + <&pinctrl_uart1 + &pinctrl_uart1_rts + &pinctrl_uart1_cts + &pinctrl_uart1_dtr_dsr + &pinctrl_uart1_dcd + &pinctrl_uart1_ri>; + status = "okay"; + }; + + macb0: ethernet@fffbc000 { + phy-mode = "rmii"; + /* phy irq PC4 */ + status = "okay"; + }; + + usb1: gadget@fffb0000 { + atmel,vbus-gpio = <&pioC 2 0>; + atmel,pullup-gpio = <&pioC 3 0>; + status = "okay"; + }; + }; + + usb0: ohci@00300000 { + num-ports = <1>; + status = "okay"; + }; + }; +}; diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig index 75502c4..d333250 100644 --- a/arch/arm/configs/at91rm9200_defconfig +++ b/arch/arm/configs/at91rm9200_defconfig @@ -17,7 +17,6 @@ CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_IOSCHED_CFQ is not set CONFIG_ARCH_AT91=y CONFIG_ARCH_AT91RM9200=y -CONFIG_MACH_ONEARM=y CONFIG_MACH_AT91RM9200EK=y CONFIG_MACH_CSB337=y CONFIG_MACH_CSB637=y diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt index ca900be..4dcf706 100644 --- a/arch/arm/mach-at91/Kconfig.non_dt +++ b/arch/arm/mach-at91/Kconfig.non_dt @@ -56,12 +56,6 @@ if ARCH_AT91RM9200 comment "AT91RM9200 Board Type" -config MACH_ONEARM - bool "Ajeco 1ARM Single Board Computer" - help - Select this if you are using Ajeco's 1ARM Single Board Computer. - <http://www.ajeco.fi/> - config MACH_AT91RM9200EK bool "Atmel AT91RM9200-EK Evaluation Kit" select HAVE_AT91_DATAFLASH_CARD diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index 3b0a953..5c5534c 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile @@ -33,7 +33,6 @@ obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45_devices.o obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o # AT91RM9200 board-specific support -obj-$(CONFIG_MACH_ONEARM) += board-1arm.o obj-$(CONFIG_MACH_AT91RM9200EK) += board-rm9200ek.o obj-$(CONFIG_MACH_CSB337) += board-csb337.o obj-$(CONFIG_MACH_CSB637) += board-csb637.o diff --git a/arch/arm/mach-at91/board-1arm.c b/arch/arm/mach-at91/board-1arm.c deleted file mode 100644 index 35ab632..0000000 --- a/arch/arm/mach-at91/board-1arm.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * linux/arch/arm/mach-at91/board-1arm.c - * - * Copyright (C) 2005 SAN People - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include <linux/types.h> -#include <linux/gpio.h> -#include <linux/init.h> -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/platform_device.h> - -#include <mach/hardware.h> -#include <asm/setup.h> -#include <asm/mach-types.h> -#include <asm/irq.h> - -#include <asm/mach/arch.h> -#include <asm/mach/map.h> -#include <asm/mach/irq.h> - -#include <mach/cpu.h> - -#include "at91_aic.h" -#include "board.h" -#include "generic.h" - - -static void __init onearm_init_early(void) -{ - /* Set cpu type: PQFP */ - at91rm9200_set_type(ARCH_REVISON_9200_PQFP); - - /* Initialize processor: 18.432 MHz crystal */ - at91_initialize(18432000); -} - -static struct macb_platform_data __initdata onearm_eth_data = { - .phy_irq_pin = AT91_PIN_PC4, - .is_rmii = 1, -}; - -static struct at91_usbh_data __initdata onearm_usbh_data = { - .ports = 1, - .vbus_pin = {-EINVAL, -EINVAL}, - .overcurrent_pin= {-EINVAL, -EINVAL}, -}; - -static struct at91_udc_data __initdata onearm_udc_data = { - .vbus_pin = AT91_PIN_PC2, - .pullup_pin = AT91_PIN_PC3, -}; - -static void __init onearm_board_init(void) -{ - /* Serial */ - /* DBGU on ttyS0. (Rx & Tx only) */ - at91_register_uart(0, 0, 0); - - /* USART0 on ttyS1 (Rx, Tx, CTS, RTS) */ - at91_register_uart(AT91RM9200_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS); - - /* USART1 on ttyS2 (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ - at91_register_uart(AT91RM9200_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS - | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD - | ATMEL_UART_RI); - at91_add_device_serial(); - /* Ethernet */ - at91_add_device_eth(&onearm_eth_data); - /* USB Host */ - at91_add_device_usbh(&onearm_usbh_data); - /* USB Device */ - at91_add_device_udc(&onearm_udc_data); -} - -MACHINE_START(ONEARM, "Ajeco 1ARM single board computer") - /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */ - .init_time = at91rm9200_timer_init, - .map_io = at91_map_io, - .handle_irq = at91_aic_handle_irq, - .init_early = onearm_init_early, - .init_irq = at91_init_irq_default, - .init_machine = onearm_board_init, -MACHINE_END
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/at91-1arm.dts | 70 +++++++++++++++++++++++++ arch/arm/configs/at91rm9200_defconfig | 1 - arch/arm/mach-at91/Kconfig.non_dt | 6 --- arch/arm/mach-at91/Makefile | 1 - arch/arm/mach-at91/board-1arm.c | 99 ----------------------------------- 6 files changed, 71 insertions(+), 107 deletions(-) create mode 100644 arch/arm/boot/dts/at91-1arm.dts delete mode 100644 arch/arm/mach-at91/board-1arm.c