All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] ARM: at91: DT: switch C board to DT
@ 2013-11-15 14:38 Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
  2013-12-09 11:42 ` [PATCH 00/11] ARM: at91: DT: switch C board to DT Nicolas Ferre
  0 siblings, 2 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:38 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

	As we have now enough DT support we can start to drop C board support
	for some boards

	Here is the first batch of boards (10) droping.

The following changes since commit 5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52:

  Linux 3.12 (2013-11-03 15:41:51 -0800)

are available in the git repository at:

  git://github.com/at91linux/linux-at91.git j/for-3.14-dt-switch

for you to fetch changes up to 10dd7da058bcb77db271d0ed023fe5dc5be0f75d:

  ARM: at91: switch Calao QIL-A9260 board to DT (2013-11-15 05:06:39 +0800)

----------------------------------------------------------------
Jean-Christophe PLAGNIOL-VILLARD (11):
      ARM: at91: dt: at91rm9200ek: add emac and nor flash support
      ARM: at91: switch 1arm to DT
      ARM: at91: switch carmeva to DT
      ARM: at91: switch kafa board to DT
      ARM: at91: switch flexibity to DT
      ARM: at91: switch RSI EWS board to DT
      ARM: at91: switch Picotux 200 board to DT
      ARM: at91: switch ecbat91 board to DT
      ARM: at91: switch kb9202 board to DT
      ARM: at91: switch csb637 board to DT
      ARM: at91: switch Calao QIL-A9260 board to DT

 arch/arm/boot/dts/Makefile                  |  10 +++++++
 arch/arm/boot/dts/at91-1arm.dts             |  70 ++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-carmeva.dts          | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-csb637.dts           |  83 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-ecbat91.dts          | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-flexibity.dts        | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-kafa.dts             |  79 +++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-kb9202.dts           | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-picotux-200.dts      |  93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-qil_a9260.dts        | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91-rsi-ews.dts          | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91rm9200ek.dts          |  34 +++++++++++++++++++++
 arch/arm/configs/at91rm9200_defconfig       |   7 -----
 arch/arm/configs/at91sam9260_9g20_defconfig |   2 --
 arch/arm/mach-at91/Kconfig.non_dt           |  60 -------------------------------------
 arch/arm/mach-at91/Makefile                 |  10 -------
 arch/arm/mach-at91/board-1arm.c             |  99 --------------------------------------------------------------
 arch/arm/mach-at91/board-carmeva.c          | 166 -------------------------------------------------------------------------------------------------------
 arch/arm/mach-at91/board-csb637.c           | 141 ---------------------------------------------------------------------------------------
 arch/arm/mach-at91/board-ecbat91.c          | 190 ----------------------------------------------------------------------------------------------------------------------
 arch/arm/mach-at91/board-flexibity.c        | 168 --------------------------------------------------------------------------------------------------------
 arch/arm/mach-at91/board-kafa.c             | 112 ----------------------------------------------------------------------
 arch/arm/mach-at91/board-kb9202.c           | 158 --------------------------------------------------------------------------------------------------
 arch/arm/mach-at91/board-picotux200.c       | 128 -------------------------------------------------------------------------------
 arch/arm/mach-at91/board-qil-a9260.c        | 266 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
 arch/arm/mach-at91/board-rsi-ews.c          | 231 -----------------------------------------------------------------------------------------------------------------------------------------------
 26 files changed, 1293 insertions(+), 1738 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-1arm.dts
 create mode 100644 arch/arm/boot/dts/at91-carmeva.dts
 create mode 100644 arch/arm/boot/dts/at91-csb637.dts
 create mode 100644 arch/arm/boot/dts/at91-ecbat91.dts
 create mode 100644 arch/arm/boot/dts/at91-flexibity.dts
 create mode 100644 arch/arm/boot/dts/at91-kafa.dts
 create mode 100644 arch/arm/boot/dts/at91-kb9202.dts
 create mode 100644 arch/arm/boot/dts/at91-picotux-200.dts
 create mode 100644 arch/arm/boot/dts/at91-qil_a9260.dts
 create mode 100644 arch/arm/boot/dts/at91-rsi-ews.dts
 delete mode 100644 arch/arm/mach-at91/board-1arm.c
 delete mode 100644 arch/arm/mach-at91/board-carmeva.c
 delete mode 100644 arch/arm/mach-at91/board-csb637.c
 delete mode 100644 arch/arm/mach-at91/board-ecbat91.c
 delete mode 100644 arch/arm/mach-at91/board-flexibity.c
 delete mode 100644 arch/arm/mach-at91/board-kafa.c
 delete mode 100644 arch/arm/mach-at91/board-kb9202.c
 delete mode 100644 arch/arm/mach-at91/board-picotux200.c
 delete mode 100644 arch/arm/mach-at91/board-qil-a9260.c
 delete mode 100644 arch/arm/mach-at91/board-rsi-ews.c

Best Regards,
J.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support
  2013-11-15 14:38 [PATCH 00/11] ARM: at91: DT: switch C board to DT Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:49 ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:49   ` [PATCH 02/11] ARM: at91: switch 1arm to DT Jean-Christophe PLAGNIOL-VILLARD
                     ` (10 more replies)
  2013-12-09 11:42 ` [PATCH 00/11] ARM: at91: DT: switch C board to DT Nicolas Ferre
  1 sibling, 11 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:49 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/boot/dts/at91rm9200ek.dts | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm/boot/dts/at91rm9200ek.dts b/arch/arm/boot/dts/at91rm9200ek.dts
index d2d72c3..3ad79b0 100644
--- a/arch/arm/boot/dts/at91rm9200ek.dts
+++ b/arch/arm/boot/dts/at91rm9200ek.dts
@@ -63,12 +63,46 @@
 					reg = <0>;
 				};
 			};
+
+			macb0: ethernet at fffbc000 {
+				phy-mode = "rmii";
+				status = "okay";
+			};
 		};
 
 		usb0: ohci at 00300000 {
 			num-ports = <2>;
 			status = "okay";
 		};
+
+		nor_flash at 10000000 {
+			compatible = "cfi-flash";
+			reg = <0x10000000 0x800000>;
+			linux,mtd-name = "physmap-flash.0";
+			bank-width = <2>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			barebox at 0 {
+				label = "barebox";
+				reg = <0x00000 0x40000>;
+			};
+
+			bareboxenv at 40000 {
+				label = "bareboxenv";
+				reg = <0x40000 0x10000>;
+			};
+
+			kernel at 50000 {
+				label = "kernel";
+				reg = <0x50000 0x300000>;
+			};
+
+			root at 350000  {
+				label = "root";
+				reg = <0x350000 0x4B0000>;
+			};
+		};
 	};
 
 	leds {
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 02/11] ARM: at91: switch 1arm to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:49   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 16:10     ` boris brezillon
  2013-11-15 17:27     ` boris brezillon
  2013-11-15 14:49   ` [PATCH 03/11] ARM: at91: switch carmeva " Jean-Christophe PLAGNIOL-VILLARD
                     ` (9 subsequent siblings)
  10 siblings, 2 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:49 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <18432000>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usart0: serial at fffc0000 {
+				pinctrl-0 =
+						<&pinctrl_uart0
+						 &pinctrl_uart0_rts
+						 &pinctrl_uart0_cts>;
+
+				status = "okay";
+			};
+
+			usart1: serial at 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 at fffbc000 {
+				phy-mode = "rmii";
+				/* phy irq PC4 */
+				status = "okay";
+			};
+
+			usb1: gadget at fffb0000 {
+				atmel,vbus-gpio = <&pioC 2 0>;
+				atmel,pullup-gpio = <&pioC 3 0>;
+				status = "okay";
+			};
+		};
+
+		usb0: ohci at 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
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 03/11] ARM: at91: switch carmeva to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:49   ` [PATCH 02/11] ARM: at91: switch 1arm to DT Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:49   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:49   ` [PATCH 04/11] ARM: at91: switch kafa board " Jean-Christophe PLAGNIOL-VILLARD
                     ` (8 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:49 UTC (permalink / raw)
  To: linux-arm-kernel

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-carmeva.dts    | 150 ++++++++++++++++++++++++++++++
 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-carmeva.c    | 166 ----------------------------------
 6 files changed, 151 insertions(+), 174 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-carmeva.dts
 delete mode 100644 arch/arm/mach-at91/board-carmeva.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index f1fb6d7..5724a51 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -4,6 +4,7 @@ ifeq ($(CONFIG_OF),y)
 # rm9200
 dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-carmeva.dtb
 dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
 # sam9260
 dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
diff --git a/arch/arm/boot/dts/at91-carmeva.dts b/arch/arm/boot/dts/at91-carmeva.dts
new file mode 100644
index 0000000..bbf8f31
--- /dev/null
+++ b/arch/arm/boot/dts/at91-carmeva.dts
@@ -0,0 +1,150 @@
+/*
+ * at91-carmeva.dts - Device Tree file for Conitec Datasystems Carmeva board
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+#include "at91rm9200.dtsi"
+
+/ {
+	model = "Conitec Datasystems Carmeva board";
+	compatible = "conitec,carmeva", "atmel,at91rm9200";
+
+	memory {
+		reg = <0x20000000 0x4000000>;
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <20000000>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usart1: serial at 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 at fffbc000 {
+				phy-mode = "rmii";
+				/* phy irq PC4 */
+				status = "okay";
+			};
+
+			usb1: gadget at fffb0000 {
+				atmel,vbus-gpio = <&pioD 12 GPIO_ACTIVE_HIGH>;
+				atmel,pullup-gpio = <&pioD 9 GPIO_ACTIVE_HIGH>;
+				status = "okay";
+			};
+
+			mmc0: mmc at fffb4000 {
+				pinctrl-0 = <
+					&pinctrl_board_mmc0
+					&pinctrl_mmc0_clk
+					&pinctrl_mmc0_slot0_cmd_dat0
+					&pinctrl_mmc0_slot0_dat1_3>;
+				status = "okay";
+				slot at 0 {
+					reg = <0>;
+					bus-width = <4>;
+					cd-gpios = <&pioB 10 GPIO_ACTIVE_HIGH>;
+					wp-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
+				};
+			};
+
+			pinctrl at fffff400 {
+				mmc0 {
+					pinctrl_board_mmc0: mmc0-board {
+						atmel,pins =
+							<AT91_PIOB 10 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH
+							 AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+					};
+				};
+			};
+
+			spi0: spi at fffe0000 {
+				status = "okay";
+				cs-gpios = <&pioA 3 GPIO_ACTIVE_HIGH>,
+					   <&pioA 4 GPIO_ACTIVE_HIGH>,
+					   <&pioA 5 GPIO_ACTIVE_HIGH>,
+					   <&pioA 6 GPIO_ACTIVE_HIGH>;
+				mtd_dataflash at 0 {
+					compatible = "atmel,at45", "atmel,dataflash";
+					spi-max-frequency = <10000000>;
+					reg = <0>;
+				};
+
+				spidev at 1 {
+					compatible = "spidev";
+					spi-max-frequency = <250000>;
+					reg = <1>;
+				};
+
+				spidev at 2 {
+					compatible = "spidev";
+					spi-max-frequency = <1000000>;
+					reg = <2>;
+				};
+
+				spidev at 3 {
+					compatible = "spidev";
+					spi-max-frequency = <10000000>;
+					reg = <3>;
+				};
+			};
+		};
+
+		usb0: ohci at 00300000 {
+			num-ports = <2>;
+			status = "okay";
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led9 {
+			label = "led9";
+			gpios = <&pioA 21 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "heartbeat";
+		};
+
+		led10 {
+			label = "led10";
+			gpios = <&pioA 25 GPIO_ACTIVE_LOW>;
+		};
+
+		led11 {
+			label = "led11";
+			gpios = <&pioA 26 GPIO_ACTIVE_LOW>;
+		};
+
+		led12 {
+			label = "led12";
+			gpios = <&pioA 18 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+	};
+};
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig
index d333250..3b76a63 100644
--- a/arch/arm/configs/at91rm9200_defconfig
+++ b/arch/arm/configs/at91rm9200_defconfig
@@ -20,7 +20,6 @@ CONFIG_ARCH_AT91RM9200=y
 CONFIG_MACH_AT91RM9200EK=y
 CONFIG_MACH_CSB337=y
 CONFIG_MACH_CSB637=y
-CONFIG_MACH_CARMEVA=y
 CONFIG_MACH_ATEB9200=y
 CONFIG_MACH_KB9200=y
 CONFIG_MACH_PICOTUX2XX=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index 4dcf706..867c547 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -75,12 +75,6 @@ config MACH_CSB637
 	  Select this if you are using Cogent's CSB637 board.
 	  <http://www.cogcomp.com/csb_csb637.htm>
 
-config MACH_CARMEVA
-	bool "Conitec ARM&EVA"
-	help
-	  Select this if you are using Conitec's AT91RM9200-MCU-Module.
-	  <http://www.conitec.net/english/linuxboard.php>
-
 config MACH_ATEB9200
 	bool "Embest ATEB9200"
 	help
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 5c5534c..dc2308b 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -36,7 +36,6 @@ obj-$(CONFIG_ARCH_AT91X40)	+= at91x40.o at91x40_time.o
 obj-$(CONFIG_MACH_AT91RM9200EK)	+= board-rm9200ek.o
 obj-$(CONFIG_MACH_CSB337)	+= board-csb337.o
 obj-$(CONFIG_MACH_CSB637)	+= board-csb637.o
-obj-$(CONFIG_MACH_CARMEVA)	+= board-carmeva.o
 obj-$(CONFIG_MACH_KB9200)	+= board-kb9202.o
 obj-$(CONFIG_MACH_ATEB9200)	+= board-eb9200.o
 obj-$(CONFIG_MACH_KAFA)		+= board-kafa.o
diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c
deleted file mode 100644
index 9298305..0000000
--- a/arch/arm/mach-at91/board-carmeva.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * linux/arch/arm/mach-at91/board-carmeva.c
- *
- *  Copyright (c) 2005 Peer Georgi
- *  		       Conitec Datasystems
- *
- * 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 <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/hardware.h>
-
-#include "at91_aic.h"
-#include "board.h"
-#include "generic.h"
-
-
-static void __init carmeva_init_early(void)
-{
-	/* Initialize processor: 20.000 MHz crystal */
-	at91_initialize(20000000);
-}
-
-static struct macb_platform_data __initdata carmeva_eth_data = {
-	.phy_irq_pin	= AT91_PIN_PC4,
-	.is_rmii	= 1,
-};
-
-static struct at91_usbh_data __initdata carmeva_usbh_data = {
-	.ports		= 2,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-static struct at91_udc_data __initdata carmeva_udc_data = {
-	.vbus_pin	= AT91_PIN_PD12,
-	.pullup_pin	= AT91_PIN_PD9,
-};
-
-/* FIXME: user dependent */
-// static struct at91_cf_data __initdata carmeva_cf_data = {
-//	.det_pin	= AT91_PIN_PB0,
-//	.rst_pin	= AT91_PIN_PC5,
-	// .irq_pin	= -EINVAL,
-	// .vcc_pin	= -EINVAL,
-// };
-
-static struct mci_platform_data __initdata carmeva_mci0_data = {
-	.slot[0] = {
-		.bus_width	= 4,
-		.detect_pin	= AT91_PIN_PB10,
-		.wp_pin		= AT91_PIN_PC14,
-	},
-};
-
-static struct spi_board_info carmeva_spi_devices[] = {
-	{ /* DataFlash chip */
-		.modalias = "mtd_dataflash",
-		.chip_select  = 0,
-		.max_speed_hz = 10 * 1000 * 1000,
-	},
-	{ /* User accessible spi - cs1 (250KHz) */
-		.modalias = "spi-cs1",
-		.chip_select  = 1,
-		.max_speed_hz = 250 *  1000,
-	},
-	{ /* User accessible spi - cs2 (1MHz) */
-		.modalias = "spi-cs2",
-		.chip_select  = 2,
-		.max_speed_hz = 1 * 1000 *  1000,
-	},
-	{ /* User accessible spi - cs3 (10MHz) */
-		.modalias = "spi-cs3",
-		.chip_select  = 3,
-		.max_speed_hz = 10 * 1000 *  1000,
-	},
-};
-
-static struct gpio_led carmeva_leds[] = {
-	{ /* "user led 1", LED9 */
-		.name			= "led9",
-		.gpio			= AT91_PIN_PA21,
-		.active_low		= 1,
-		.default_trigger	= "heartbeat",
-	},
-	{ /* "user led 2", LED10 */
-		.name			= "led10",
-		.gpio			= AT91_PIN_PA25,
-		.active_low		= 1,
-	},
-	{ /* "user led 3", LED11 */
-		.name			= "led11",
-		.gpio			= AT91_PIN_PA26,
-		.active_low		= 1,
-	},
-	{ /* "user led 4", LED12 */
-		.name			= "led12",
-		.gpio			= AT91_PIN_PA18,
-		.active_low		= 1,
-	}
-};
-
-static void __init carmeva_board_init(void)
-{
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	at91_register_uart(0, 0, 0);
-
-	/* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
-	at91_register_uart(AT91RM9200_ID_US1, 1, 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(&carmeva_eth_data);
-	/* USB Host */
-	at91_add_device_usbh(&carmeva_usbh_data);
-	/* USB Device */
-	at91_add_device_udc(&carmeva_udc_data);
-	/* I2C */
-	at91_add_device_i2c(NULL, 0);
-	/* SPI */
-	at91_add_device_spi(carmeva_spi_devices, ARRAY_SIZE(carmeva_spi_devices));
-	/* Compact Flash */
-//	at91_add_device_cf(&carmeva_cf_data);
-	/* MMC */
-	at91_add_device_mci(0, &carmeva_mci0_data);
-	/* LEDs */
-	at91_gpio_leds(carmeva_leds, ARRAY_SIZE(carmeva_leds));
-}
-
-MACHINE_START(CARMEVA, "Carmeva")
-	/* Maintainer: Conitec Datasystems */
-	.init_time	= at91rm9200_timer_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= carmeva_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= carmeva_board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 04/11] ARM: at91: switch kafa board to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:49   ` [PATCH 02/11] ARM: at91: switch 1arm to DT Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:49   ` [PATCH 03/11] ARM: at91: switch carmeva " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:49   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:50   ` [PATCH 05/11] ARM: at91: switch flexibity " Jean-Christophe PLAGNIOL-VILLARD
                     ` (7 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:49 UTC (permalink / raw)
  To: linux-arm-kernel

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-kafa.dts       |  79 ++++++++++++++++++++++++
 arch/arm/configs/at91rm9200_defconfig |   1 -
 arch/arm/mach-at91/Kconfig.non_dt     |   5 --
 arch/arm/mach-at91/Makefile           |   1 -
 arch/arm/mach-at91/board-kafa.c       | 112 ----------------------------------
 6 files changed, 80 insertions(+), 119 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-kafa.dts
 delete mode 100644 arch/arm/mach-at91/board-kafa.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5724a51..de02fc7 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -5,6 +5,7 @@ ifeq ($(CONFIG_OF),y)
 dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-carmeva.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-kafa.dtb
 dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
 # sam9260
 dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
diff --git a/arch/arm/boot/dts/at91-kafa.dts b/arch/arm/boot/dts/at91-kafa.dts
new file mode 100644
index 0000000..0ad458f
--- /dev/null
+++ b/arch/arm/boot/dts/at91-kafa.dts
@@ -0,0 +1,79 @@
+/*
+ * at91-kafa.dts - Device Tree file for Sperry-Sun KAFA boar
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+#include "at91rm9200_pqfp.dtsi"
+
+/ {
+	model = "Sperry-Sun KAFA board";
+	compatible = "sperry,kafa", "atmel,at91rm9200-pqfp", "atmel,at91rm9200";
+
+	memory {
+		reg = <0x20000000 0x4000000>;
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <18432000>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usart0: serial at fffc0000 {
+				pinctrl-0 =
+						<&pinctrl_uart0
+						 &pinctrl_uart0_rts
+						 &pinctrl_uart0_cts>;
+				status = "okay";
+			};
+
+			macb0: ethernet at fffbc000 {
+				phy-mode = "rmii";
+				status = "okay";
+			};
+
+			usb1: gadget at fffb0000 {
+				atmel,vbus-gpio = <&pioB 6 GPIO_ACTIVE_HIGH>;
+				atmel,pullup-gpio = <&pioB 7 GPIO_ACTIVE_HIGH>;
+				status = "okay";
+			};
+
+			spi0: spi at fffe0000 {
+				status = "okay";
+			};
+		};
+
+		usb0: ohci at 00300000 {
+			num-ports = <1>;
+			status = "okay";
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led1 {
+			label = "led1";
+			gpios = <&pioB 4 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+	};
+};
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig
index 3b76a63..f9a2f5f 100644
--- a/arch/arm/configs/at91rm9200_defconfig
+++ b/arch/arm/configs/at91rm9200_defconfig
@@ -23,7 +23,6 @@ CONFIG_MACH_CSB637=y
 CONFIG_MACH_ATEB9200=y
 CONFIG_MACH_KB9200=y
 CONFIG_MACH_PICOTUX2XX=y
-CONFIG_MACH_KAFA=y
 CONFIG_MACH_ECBAT91=y
 CONFIG_MACH_YL9200=y
 CONFIG_MACH_CPUAT91=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index 867c547..cfef1de 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -93,11 +93,6 @@ config MACH_PICOTUX2XX
 	  Select this if you are using a picotux 200.
 	  <http://www.picotux.com/>
 
-config MACH_KAFA
-	bool "Sperry-Sun KAFA board"
-	help
-	  Select this if you are using Sperry-Sun's KAFA board.
-
 config MACH_ECBAT91
 	bool "emQbit ECB_AT91 SBC"
 	select HAVE_AT91_DATAFLASH_CARD
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index dc2308b..61c19d7 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -38,7 +38,6 @@ obj-$(CONFIG_MACH_CSB337)	+= board-csb337.o
 obj-$(CONFIG_MACH_CSB637)	+= board-csb637.o
 obj-$(CONFIG_MACH_KB9200)	+= board-kb9202.o
 obj-$(CONFIG_MACH_ATEB9200)	+= board-eb9200.o
-obj-$(CONFIG_MACH_KAFA)		+= board-kafa.o
 obj-$(CONFIG_MACH_PICOTUX2XX)	+= board-picotux200.o
 obj-$(CONFIG_MACH_ECBAT91)	+= board-ecbat91.o
 obj-$(CONFIG_MACH_YL9200)	+= board-yl-9200.o
diff --git a/arch/arm/mach-at91/board-kafa.c b/arch/arm/mach-at91/board-kafa.c
deleted file mode 100644
index 88e2f5d..0000000
--- a/arch/arm/mach-at91/board-kafa.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * linux/arch/arm/mach-at91/board-kafa.c
- *
- *  Copyright (C) 2006 Sperry-Sun
- *
- * 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 kafa_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 kafa_eth_data = {
-	.phy_irq_pin	= AT91_PIN_PC4,
-	.is_rmii	= 0,
-};
-
-static struct at91_usbh_data __initdata kafa_usbh_data = {
-	.ports		= 1,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-static struct at91_udc_data __initdata kafa_udc_data = {
-	.vbus_pin	= AT91_PIN_PB6,
-	.pullup_pin	= AT91_PIN_PB7,
-};
-
-/*
- * LEDs
- */
-static struct gpio_led kafa_leds[] = {
-	{	/* D1 */
-		.name			= "led1",
-		.gpio			= AT91_PIN_PB4,
-		.active_low		= 1,
-		.default_trigger	= "heartbeat",
-	},
-};
-
-static void __init kafa_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);
-	at91_add_device_serial();
-	/* Ethernet */
-	at91_add_device_eth(&kafa_eth_data);
-	/* USB Host */
-	at91_add_device_usbh(&kafa_usbh_data);
-	/* USB Device */
-	at91_add_device_udc(&kafa_udc_data);
-	/* I2C */
-	at91_add_device_i2c(NULL, 0);
-	/* SPI */
-	at91_add_device_spi(NULL, 0);
-	/* LEDs */
-	at91_gpio_leds(kafa_leds, ARRAY_SIZE(kafa_leds));
-}
-
-MACHINE_START(KAFA, "Sperry-Sun KAFA")
-	/* Maintainer: Sergei Sharonov */
-	.init_time	= at91rm9200_timer_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= kafa_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= kafa_board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 05/11] ARM: at91: switch flexibity to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
                     ` (2 preceding siblings ...)
  2013-11-15 14:49   ` [PATCH 04/11] ARM: at91: switch kafa board " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:50   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:50   ` [PATCH 06/11] ARM: at91: switch RSI EWS board " Jean-Christophe PLAGNIOL-VILLARD
                     ` (6 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:50 UTC (permalink / raw)
  To: linux-arm-kernel

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-flexibity.dts        | 144 ++++++++++++++++++++++++
 arch/arm/configs/at91sam9260_9g20_defconfig |   1 -
 arch/arm/mach-at91/Kconfig.non_dt           |   6 -
 arch/arm/mach-at91/Makefile                 |   1 -
 arch/arm/mach-at91/board-flexibity.c        | 168 ----------------------------
 6 files changed, 145 insertions(+), 176 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-flexibity.dts
 delete mode 100644 arch/arm/mach-at91/board-flexibity.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index de02fc7..a66de6d 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -5,6 +5,7 @@ ifeq ($(CONFIG_OF),y)
 dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-carmeva.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-flexibity.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-kafa.dtb
 dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
 # sam9260
diff --git a/arch/arm/boot/dts/at91-flexibity.dts b/arch/arm/boot/dts/at91-flexibity.dts
new file mode 100644
index 0000000..2eb9b51
--- /dev/null
+++ b/arch/arm/boot/dts/at91-flexibity.dts
@@ -0,0 +1,144 @@
+/*
+ * at91-flexibity.dts - Device Tree file for Flexibity Connect board
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+#include "at91sam9260.dtsi"
+
+/ {
+	model = "Flexibity Connect board";
+	compatible = "flexibity,connect", "atmel,at91sam9260", "atmel,at91sam9";
+
+	memory {
+		reg = <0x20000000 0x4000000>;
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <18432000>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usb1: gadget at fffa4000 {
+				atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
+				status = "okay";
+			};
+
+			mmc0: mmc at fffa8000 {
+				pinctrl-0 = <
+					&pinctrl_board_mmc0
+					&pinctrl_mmc0_clk
+					&pinctrl_mmc0_slot0_cmd_dat0
+					&pinctrl_mmc0_slot0_dat1_3>;
+				status = "okay";
+				slot at 0 {
+					reg = <0>;
+					bus-width = <4>;
+					cd-gpios = <&pioB 9 GPIO_ACTIVE_HIGH>;
+					wp-gpios = <&pioC 4 GPIO_ACTIVE_HIGH>;
+				};
+			};
+
+			pinctrl at fffff400 {
+				mmc0 {
+					pinctrl_board_mmc0: mmc0-board {
+						atmel,pins =
+							<AT91_PIOB 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH
+							 AT91_PIOC 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+					};
+				};
+			};
+
+			spi0: spi at fffc8000 {
+				status = "okay";
+				cs-gpios = <0>,
+					   <&pioC 11 GPIO_ACTIVE_HIGH>;
+				mtd_dataflash at 1 {
+					compatible = "atmel,at45", "atmel,dataflash";
+					spi-max-frequency = <15000000>;
+					reg = <1>;
+				};
+			};
+		};
+
+		usb0: ohci at 00500000 {
+			num-ports = <2>;
+			status = "okay";
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		usb1_green {
+			label = "usb1:green";
+			gpios = <&pioA 12 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		usb1_red {
+			label = "usb1:red";
+			gpios = <&pioA 13 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		usb2_green {
+			label = "usb2:green";
+			gpios = <&pioB 16 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		usb2_red {
+			label = "usb2:red";
+			gpios = <&pioB 27 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		usb3_green {
+			label = "usb3:green";
+			gpios = <&pioC 8 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		usb3_red {
+			label = "usb3:red";
+			gpios = <&pioC 6 13 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		usb4_green {
+			label = "usb4:green";
+			gpios = <&pioB 4 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+
+		usb4_red {
+			label = "usb4:red";
+			gpios = <&pioB 5 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+
+		rtc at 68 {
+			compatible = "dallas,ds1307";
+			reg = <0x68>;
+		};
+	};
+};
diff --git a/arch/arm/configs/at91sam9260_9g20_defconfig b/arch/arm/configs/at91sam9260_9g20_defconfig
index 69b6928..ab66867 100644
--- a/arch/arm/configs/at91sam9260_9g20_defconfig
+++ b/arch/arm/configs/at91sam9260_9g20_defconfig
@@ -17,7 +17,6 @@ CONFIG_MACH_SAM9_L9260=y
 CONFIG_MACH_AFEB9260=y
 CONFIG_MACH_QIL_A9260=y
 CONFIG_MACH_CPU9260=y
-CONFIG_MACH_FLEXIBITY=y
 CONFIG_MACH_AT91SAM9G20EK=y
 CONFIG_MACH_AT91SAM9G20EK_2MMC=y
 CONFIG_MACH_CPU9G20=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index cfef1de..694e959 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -171,12 +171,6 @@ config MACH_CPU9260
 	  Select this if you are using a Eukrea Electromatique's
 	  CPU9260 Board <http://www.eukrea.com/>
 
-config MACH_FLEXIBITY
-	bool "Flexibity Connect board"
-	help
-	  Select this if you are using Flexibity Connect board
-	  <http://www.flexibity.com>
-
 comment "AT91SAM9G20 Board Type"
 
 config MACH_AT91SAM9G20EK
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 61c19d7..70e2b22 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -52,7 +52,6 @@ obj-$(CONFIG_MACH_SAM9_L9260)	+= board-sam9-l9260.o
 obj-$(CONFIG_MACH_QIL_A9260)	+= board-qil-a9260.o
 obj-$(CONFIG_MACH_AFEB9260)	+= board-afeb-9260v1.o
 obj-$(CONFIG_MACH_CPU9260)	+= board-cpu9krea.o
-obj-$(CONFIG_MACH_FLEXIBITY)	+= board-flexibity.o
 
 # AT91SAM9261 board-specific support
 obj-$(CONFIG_MACH_AT91SAM9261EK) += board-sam9261ek.o
diff --git a/arch/arm/mach-at91/board-flexibity.c b/arch/arm/mach-at91/board-flexibity.c
deleted file mode 100644
index 737c085..0000000
--- a/arch/arm/mach-at91/board-flexibity.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * linux/arch/arm/mach-at91/board-flexibity.c
- *
- *  Copyright (C) 2010-2011 Flexibity
- *  Copyright (C) 2005 SAN People
- *  Copyright (C) 2006 Atmel
- *
- * 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/init.h>
-#include <linux/platform_device.h>
-#include <linux/spi/spi.h>
-#include <linux/input.h>
-#include <linux/gpio.h>
-
-#include <asm/mach-types.h>
-
-#include <asm/mach/arch.h>
-#include <asm/mach/map.h>
-#include <asm/mach/irq.h>
-
-#include <mach/hardware.h>
-
-#include "at91_aic.h"
-#include "board.h"
-#include "generic.h"
-
-static void __init flexibity_init_early(void)
-{
-	/* Initialize processor: 18.432 MHz crystal */
-	at91_initialize(18432000);
-}
-
-/* USB Host port */
-static struct at91_usbh_data __initdata flexibity_usbh_data = {
-	.ports		= 2,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-/* USB Device port */
-static struct at91_udc_data __initdata flexibity_udc_data = {
-	.vbus_pin	= AT91_PIN_PC5,
-	.pullup_pin	= -EINVAL,		/* pull-up driven by UDC */
-};
-
-/* I2C devices */
-static struct i2c_board_info __initdata flexibity_i2c_devices[] = {
-	{
-		I2C_BOARD_INFO("ds1307", 0x68),
-	},
-};
-
-/* SPI devices */
-static struct spi_board_info flexibity_spi_devices[] = {
-	{	/* DataFlash chip */
-		.modalias	= "mtd_dataflash",
-		.chip_select	= 1,
-		.max_speed_hz	= 15 * 1000 * 1000,
-		.bus_num	= 0,
-	},
-};
-
-/* MCI (SD/MMC) */
-static struct mci_platform_data __initdata flexibity_mci0_data = {
-	.slot[0] = {
-		.bus_width	= 4,
-		.detect_pin	= AT91_PIN_PC9,
-		.wp_pin		= AT91_PIN_PC4,
-	},
-};
-
-/* LEDs */
-static struct gpio_led flexibity_leds[] = {
-	{
-		.name			= "usb1:green",
-		.gpio			= AT91_PIN_PA12,
-		.active_low		= 1,
-		.default_trigger	= "default-on",
-	},
-	{
-		.name			= "usb1:red",
-		.gpio			= AT91_PIN_PA13,
-		.active_low		= 1,
-		.default_trigger	= "default-on",
-	},
-	{
-		.name			= "usb2:green",
-		.gpio			= AT91_PIN_PB26,
-		.active_low		= 1,
-		.default_trigger	= "default-on",
-	},
-	{
-		.name			= "usb2:red",
-		.gpio			= AT91_PIN_PB27,
-		.active_low		= 1,
-		.default_trigger	= "default-on",
-	},
-	{
-		.name			= "usb3:green",
-		.gpio			= AT91_PIN_PC8,
-		.active_low		= 1,
-		.default_trigger	= "default-on",
-	},
-	{
-		.name			= "usb3:red",
-		.gpio			= AT91_PIN_PC6,
-		.active_low		= 1,
-		.default_trigger	= "default-on",
-	},
-	{
-		.name			= "usb4:green",
-		.gpio			= AT91_PIN_PB4,
-		.active_low		= 1,
-		.default_trigger	= "default-on",
-	},
-	{
-		.name			= "usb4:red",
-		.gpio			= AT91_PIN_PB5,
-		.active_low		= 1,
-		.default_trigger	= "default-on",
-	}
-};
-
-static void __init flexibity_board_init(void)
-{
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	at91_register_uart(0, 0, 0);
-	at91_add_device_serial();
-	/* USB Host */
-	at91_add_device_usbh(&flexibity_usbh_data);
-	/* USB Device */
-	at91_add_device_udc(&flexibity_udc_data);
-	/* I2C */
-	at91_add_device_i2c(flexibity_i2c_devices,
-		ARRAY_SIZE(flexibity_i2c_devices));
-	/* SPI */
-	at91_add_device_spi(flexibity_spi_devices,
-		ARRAY_SIZE(flexibity_spi_devices));
-	/* MMC */
-	at91_add_device_mci(0, &flexibity_mci0_data);
-	/* LEDs */
-	at91_gpio_leds(flexibity_leds, ARRAY_SIZE(flexibity_leds));
-}
-
-MACHINE_START(FLEXIBITY, "Flexibity Connect")
-	/* Maintainer: Maxim Osipov */
-	.init_time	= at91sam926x_pit_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= flexibity_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= flexibity_board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 06/11] ARM: at91: switch RSI EWS board to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
                     ` (3 preceding siblings ...)
  2013-11-15 14:50   ` [PATCH 05/11] ARM: at91: switch flexibity " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:50   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:50   ` [PATCH 07/11] ARM: at91: switch Picotux 200 " Jean-Christophe PLAGNIOL-VILLARD
                     ` (5 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:50 UTC (permalink / raw)
  To: linux-arm-kernel

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-rsi-ews.dts | 175 ++++++++++++++++++++++++++++
 arch/arm/mach-at91/Kconfig.non_dt  |   6 -
 arch/arm/mach-at91/Makefile        |   1 -
 arch/arm/mach-at91/board-rsi-ews.c | 231 -------------------------------------
 5 files changed, 176 insertions(+), 238 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-rsi-ews.dts
 delete mode 100644 arch/arm/mach-at91/board-rsi-ews.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a66de6d..cdba9ce 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-carmeva.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-flexibity.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-kafa.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-rsi-ews.dtb
 dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
 # sam9260
 dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
diff --git a/arch/arm/boot/dts/at91-rsi-ews.dts b/arch/arm/boot/dts/at91-rsi-ews.dts
new file mode 100644
index 0000000..2ae5af8
--- /dev/null
+++ b/arch/arm/boot/dts/at91-rsi-ews.dts
@@ -0,0 +1,175 @@
+/*
+ * at91-rsi-ews.dts - Device Tree file for RSI EWS board
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+#include "at91rm9200.dtsi"
+
+/ {
+	model = "RSI EWS board";
+	compatible = "rsi,ews", "atmel,at91rm9200";
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <18432000>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usart1: serial at fffc4000 {
+				pinctrl-0 =
+						<&pinctrl_uart1
+						 &pinctrl_uart1_rts
+						 &pinctrl_uart1_cts
+						 &pinctrl_uart1_dtr_dsr
+						 &pinctrl_uart1_dcd
+						 &pinctrl_uart1_ri>;
+				status = "okay";
+			};
+
+			usart3: serial at fffcc000 {
+				pinctrl-0 =
+						<&pinctrl_uart3
+						 &pinctrl_uart3_rts>;
+				status = "okay";
+			};
+
+			macb0: ethernet at fffbc000 {
+				phy-mode = "rmii";
+				status = "okay";
+				/* phy irq on PC4 */
+			};
+
+			mmc0: mmc at fffb4000 {
+				pinctrl-0 = <
+					&pinctrl_board_mmc0
+					&pinctrl_mmc0_clk
+					&pinctrl_mmc0_slot0_cmd_dat0
+					&pinctrl_mmc0_slot0_dat1_3>;
+				status = "okay";
+				slot at 0 {
+					reg = <0>;
+					bus-width = <4>;
+					cd-gpios = <&pioB 27 GPIO_ACTIVE_HIGH>;
+					wp-gpios = <&pioB 29 GPIO_ACTIVE_HIGH>;
+				};
+			};
+
+			pinctrl at fffff400 {
+				mmc0 {
+					pinctrl_board_mmc0: mmc0-board {
+						atmel,pins =
+							<AT91_PIOB 27 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH
+							 AT91_PIOC 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+					};
+				};
+			};
+
+			spi0: spi at fffe0000 {
+				status = "okay";
+				cs-gpios = <&pioA 3 GPIO_ACTIVE_HIGH>, <&pioA 4 GPIO_ACTIVE_HIGH>, <0>, <0>;
+				mtd_dataflash at 0 {
+					compatible = "atmel,at45", "atmel,dataflash";
+					spi-max-frequency = <15000000>;
+					reg = <0>;
+				};
+
+				mtd_dataflash at 1 {
+					compatible = "atmel,at45", "atmel,dataflash";
+					spi-max-frequency = <15000000>;
+					reg = <1>;
+				};
+			};
+		};
+
+		usb0: ohci at 00300000 {
+			num-ports = <1>;
+			status = "okay";
+		};
+
+		nor_flash at 10000000 {
+			compatible = "cfi-flash";
+			reg = <0x10000000 0x1000000>;
+			linux,mtd-name = "physmap-flash.0";
+			bank-width = <2>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			boot at 0 {
+				label = "boot";
+				reg = <0x00000 0x60000>;
+			};
+
+			kernel at 60000 {
+				label = "kernel";
+				reg = <0x60000 0x1a0000>;
+			};
+
+			root at 200000 {
+				label = "kernel";
+				reg = <0x200000 0x800000>;
+			};
+
+			kernelupd at A00000  {
+				label = "kernelupd";
+				reg = <0xA00000 0x180000>;
+			};
+
+			rootupd at B80000  {
+				label = "rootupd";
+				reg = <0xB80000 0x480000>;
+			};
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led0 {
+			label = "led0";
+			gpios = <&pioB 6 GPIO_ACTIVE_HIGH>;
+		};
+
+		led1 {
+			label = "led1";
+			gpios = <&pioB 7 GPIO_ACTIVE_HIGH>;
+		};
+
+		led2 {
+			label = "led2";
+			gpios = <&pioB 8 GPIO_ACTIVE_HIGH>;
+		};
+
+		led3 {
+			label = "led3";
+			gpios = <&pioB 9 GPIO_ACTIVE_HIGH>;
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+
+		ds1337 at 68 {
+			compatible = "dallas,ds1337";
+			reg = <0x68>;
+		};
+
+		24c01 at 50 {
+			compatible = "at24,24c01";
+			reg = <0x50>;
+		};
+	};
+};
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index 694e959..af27414 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -115,12 +115,6 @@ config MACH_ECO920
 	bool "eco920"
 	help
 	  Select this if you are using the eco920 board
-
-config MACH_RSI_EWS
-	bool "RSI Embedded Webserver"
-	depends on ARCH_AT91RM9200
-	help
-	  Select this if you are using RSIs EWS board.
 endif
 
 # ----------------------------------------------------------
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 70e2b22..d0b2518 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -43,7 +43,6 @@ obj-$(CONFIG_MACH_ECBAT91)	+= board-ecbat91.o
 obj-$(CONFIG_MACH_YL9200)	+= board-yl-9200.o
 obj-$(CONFIG_MACH_CPUAT91)	+= board-cpuat91.o
 obj-$(CONFIG_MACH_ECO920)	+= board-eco920.o
-obj-$(CONFIG_MACH_RSI_EWS)	+= board-rsi-ews.o
 
 # AT91SAM9260 board-specific support
 obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o
diff --git a/arch/arm/mach-at91/board-rsi-ews.c b/arch/arm/mach-at91/board-rsi-ews.c
deleted file mode 100644
index f6d7f19..0000000
--- a/arch/arm/mach-at91/board-rsi-ews.c
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * board-rsi-ews.c
- *
- *  Copyright (C)
- *  2005 SAN People,
- *  2008-2011 R-S-I Elektrotechnik GmbH & Co. KG
- *
- * Licensed under GPLv2 or later.
- */
-
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/mm.h>
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/spi/spi.h>
-#include <linux/mtd/physmap.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/hardware.h>
-
-#include <linux/gpio.h>
-
-#include "at91_aic.h"
-#include "board.h"
-#include "generic.h"
-
-static void __init rsi_ews_init_early(void)
-{
-	/* Initialize processor: 18.432 MHz crystal */
-	at91_initialize(18432000);
-}
-
-/*
- * Ethernet
- */
-static struct macb_platform_data rsi_ews_eth_data __initdata = {
-	.phy_irq_pin	= AT91_PIN_PC4,
-	.is_rmii	= 1,
-};
-
-/*
- * USB Host
- */
-static struct at91_usbh_data rsi_ews_usbh_data __initdata = {
-	.ports		= 1,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-/*
- * SD/MC
- */
-static struct mci_platform_data __initdata rsi_ews_mci0_data = {
-	.slot[0] = {
-		.bus_width	= 4,
-		.detect_pin	= AT91_PIN_PB27,
-		.wp_pin		= AT91_PIN_PB29,
-	},
-};
-
-/*
- * I2C
- */
-static struct i2c_board_info rsi_ews_i2c_devices[] __initdata = {
-	{
-		I2C_BOARD_INFO("ds1337", 0x68),
-	},
-	{
-		I2C_BOARD_INFO("24c01", 0x50),
-	}
-};
-
-/*
- * LEDs
- */
-static struct gpio_led rsi_ews_leds[] = {
-	{
-		.name			= "led0",
-		.gpio			= AT91_PIN_PB6,
-		.active_low		= 0,
-	},
-	{
-		.name			= "led1",
-		.gpio			= AT91_PIN_PB7,
-		.active_low		= 0,
-	},
-	{
-		.name			= "led2",
-		.gpio			= AT91_PIN_PB8,
-		.active_low		= 0,
-	},
-	{
-		.name			= "led3",
-		.gpio			= AT91_PIN_PB9,
-		.active_low		= 0,
-	},
-};
-
-/*
- * DataFlash
- */
-static struct spi_board_info rsi_ews_spi_devices[] = {
-	{	/* DataFlash chip 1*/
-		.modalias	= "mtd_dataflash",
-		.chip_select	= 0,
-		.max_speed_hz	= 5 * 1000 * 1000,
-	},
-	{	/* DataFlash chip 2*/
-		.modalias	= "mtd_dataflash",
-		.chip_select	= 1,
-		.max_speed_hz	= 5 * 1000 * 1000,
-	},
-};
-
-/*
- * NOR flash
- */
-static struct mtd_partition rsiews_nor_partitions[] = {
-	{
-		.name		= "boot",
-		.offset		= 0,
-		.size		= 3 * SZ_128K,
-		.mask_flags	= MTD_WRITEABLE
-	},
-	{
-		.name		= "kernel",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= SZ_2M - (3 * SZ_128K)
-	},
-	{
-		.name		= "root",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= SZ_8M
-	},
-	{
-		.name		= "kernelupd",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= 3 * SZ_512K,
-		.mask_flags	= MTD_WRITEABLE
-	},
-	{
-		.name		= "rootupd",
-		.offset		= MTDPART_OFS_NXTBLK,
-		.size		= 9 * SZ_512K,
-		.mask_flags	= MTD_WRITEABLE
-	},
-};
-
-static struct physmap_flash_data rsiews_nor_data = {
-	.width		= 2,
-	.parts		= rsiews_nor_partitions,
-	.nr_parts	= ARRAY_SIZE(rsiews_nor_partitions),
-};
-
-#define NOR_BASE	AT91_CHIPSELECT_0
-#define NOR_SIZE	SZ_16M
-
-static struct resource nor_flash_resources[] = {
-	{
-		.start	= NOR_BASE,
-		.end	= NOR_BASE + NOR_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device rsiews_nor_flash = {
-	.name		= "physmap-flash",
-	.id		= 0,
-	.dev		= {
-				.platform_data	= &rsiews_nor_data,
-	},
-	.resource	= nor_flash_resources,
-	.num_resources	= ARRAY_SIZE(nor_flash_resources),
-};
-
-/*
- * Init Func
- */
-static void __init rsi_ews_board_init(void)
-{
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	/* This one is for debugging */
-	at91_register_uart(0, 0, 0);
-
-	/* USART1 on ttyS2. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
-	/* Dialin/-out modem interface */
-	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);
-
-	/* USART3 on ttyS4. (Rx, Tx, RTS) */
-	/* RS485 communication */
-	at91_register_uart(AT91RM9200_ID_US3, 4, ATMEL_UART_RTS);
-	at91_add_device_serial();
-	at91_set_gpio_output(AT91_PIN_PA21, 0);
-	/* Ethernet */
-	at91_add_device_eth(&rsi_ews_eth_data);
-	/* USB Host */
-	at91_add_device_usbh(&rsi_ews_usbh_data);
-	/* I2C */
-	at91_add_device_i2c(rsi_ews_i2c_devices,
-			ARRAY_SIZE(rsi_ews_i2c_devices));
-	/* SPI */
-	at91_add_device_spi(rsi_ews_spi_devices,
-			ARRAY_SIZE(rsi_ews_spi_devices));
-	/* MMC */
-	at91_add_device_mci(0, &rsi_ews_mci0_data);
-	/* NOR Flash */
-	platform_device_register(&rsiews_nor_flash);
-	/* LEDs */
-	at91_gpio_leds(rsi_ews_leds, ARRAY_SIZE(rsi_ews_leds));
-}
-
-MACHINE_START(RSI_EWS, "RSI EWS")
-	/* Maintainer: Josef Holzmayr <holzmayr@rsi-elektrotechnik.de> */
-	.init_time	= at91rm9200_timer_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= rsi_ews_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= rsi_ews_board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 07/11] ARM: at91: switch Picotux 200 board to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
                     ` (4 preceding siblings ...)
  2013-11-15 14:50   ` [PATCH 06/11] ARM: at91: switch RSI EWS board " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:50   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:50   ` [PATCH 08/11] ARM: at91: switch ecbat91 " Jean-Christophe PLAGNIOL-VILLARD
                     ` (4 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:50 UTC (permalink / raw)
  To: linux-arm-kernel

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-picotux-200.dts |  93 ++++++++++++++++++++++++
 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-picotux200.c  | 128 ---------------------------------
 6 files changed, 94 insertions(+), 136 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-picotux-200.dts
 delete mode 100644 arch/arm/mach-at91/board-picotux200.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index cdba9ce..ade7686 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-carmeva.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-flexibity.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-kafa.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-picotux-200.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-rsi-ews.dtb
 dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
 # sam9260
diff --git a/arch/arm/boot/dts/at91-picotux-200.dts b/arch/arm/boot/dts/at91-picotux-200.dts
new file mode 100644
index 0000000..84345b1
--- /dev/null
+++ b/arch/arm/boot/dts/at91-picotux-200.dts
@@ -0,0 +1,93 @@
+/*
+ * at91-picotux-200.dts - Device Tree file for Picotux 200 board
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+#include "at91rm9200.dtsi"
+
+/ {
+	model = "Picotux 200 board";
+	compatible = "keg,picotux-200", "atmel,at91rm9200";
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <18432000>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usart1: serial at 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 at fffbc000 {
+				phy-mode = "rmii";
+				status = "okay";
+				/* phy irq on PC4 */
+			};
+
+			mmc0: mmc at fffb4000 {
+				pinctrl-0 = <
+					&pinctrl_board_mmc0
+					&pinctrl_mmc0_clk
+					&pinctrl_mmc0_slot0_cmd_dat0
+					&pinctrl_mmc0_slot0_dat1_3>;
+				status = "okay";
+				slot at 0 {
+					reg = <0>;
+					bus-width = <4>;
+					cd-gpios = <&pioB 27 GPIO_ACTIVE_HIGH>;
+					wp-gpios = <&pioA 17 GPIO_ACTIVE_HIGH>;
+				};
+			};
+
+			pinctrl at fffff400 {
+				mmc0 {
+					pinctrl_board_mmc0: mmc0-board {
+						atmel,pins =
+							<AT91_PIOB 27 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH
+							 AT91_PIOA 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
+					};
+				};
+			};
+		};
+
+		usb0: ohci at 00300000 {
+			num-ports = <1>;
+			status = "okay";
+		};
+
+		nor_flash at 10000000 {
+			compatible = "cfi-flash";
+			reg = <0x10000000 0x400000>;
+			linux,mtd-name = "physmap-flash.0";
+			bank-width = <2>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+	};
+};
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig
index f9a2f5f..cbd5bf1 100644
--- a/arch/arm/configs/at91rm9200_defconfig
+++ b/arch/arm/configs/at91rm9200_defconfig
@@ -22,7 +22,6 @@ CONFIG_MACH_CSB337=y
 CONFIG_MACH_CSB637=y
 CONFIG_MACH_ATEB9200=y
 CONFIG_MACH_KB9200=y
-CONFIG_MACH_PICOTUX2XX=y
 CONFIG_MACH_ECBAT91=y
 CONFIG_MACH_YL9200=y
 CONFIG_MACH_CPUAT91=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index af27414..254166b 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -87,12 +87,6 @@ config MACH_KB9200
 	  Select this if you are using KwikByte's KB920x board.
 	  <http://www.kwikbyte.com/KB9202.html>
 
-config MACH_PICOTUX2XX
-	bool "picotux 200"
-	help
-	  Select this if you are using a picotux 200.
-	  <http://www.picotux.com/>
-
 config MACH_ECBAT91
 	bool "emQbit ECB_AT91 SBC"
 	select HAVE_AT91_DATAFLASH_CARD
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index d0b2518..6d08a51 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -38,7 +38,6 @@ obj-$(CONFIG_MACH_CSB337)	+= board-csb337.o
 obj-$(CONFIG_MACH_CSB637)	+= board-csb637.o
 obj-$(CONFIG_MACH_KB9200)	+= board-kb9202.o
 obj-$(CONFIG_MACH_ATEB9200)	+= board-eb9200.o
-obj-$(CONFIG_MACH_PICOTUX2XX)	+= board-picotux200.o
 obj-$(CONFIG_MACH_ECBAT91)	+= board-ecbat91.o
 obj-$(CONFIG_MACH_YL9200)	+= board-yl-9200.o
 obj-$(CONFIG_MACH_CPUAT91)	+= board-cpuat91.o
diff --git a/arch/arm/mach-at91/board-picotux200.c b/arch/arm/mach-at91/board-picotux200.c
deleted file mode 100644
index ab2b2ec..0000000
--- a/arch/arm/mach-at91/board-picotux200.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * linux/arch/arm/mach-at91/board-picotux200.c
- *
- *  Copyright (C) 2005 SAN People
- *  Copyright (C) 2007 Kleinhenz Elektronik GmbH
- *
- * 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 <linux/spi/spi.h>
-#include <linux/mtd/physmap.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/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
-
-#include "at91_aic.h"
-#include "board.h"
-#include "generic.h"
-
-
-static void __init picotux200_init_early(void)
-{
-	/* Initialize processor: 18.432 MHz crystal */
-	at91_initialize(18432000);
-}
-
-static struct macb_platform_data __initdata picotux200_eth_data = {
-	.phy_irq_pin	= AT91_PIN_PC4,
-	.is_rmii	= 1,
-};
-
-static struct at91_usbh_data __initdata picotux200_usbh_data = {
-	.ports		= 1,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-static struct mci_platform_data __initdata picotux200_mci0_data = {
-	.slot[0] = {
-		.bus_width	= 4,
-		.detect_pin	= AT91_PIN_PB27,
-		.wp_pin		= AT91_PIN_PA17,
-	},
-};
-
-#define PICOTUX200_FLASH_BASE	AT91_CHIPSELECT_0
-#define PICOTUX200_FLASH_SIZE	SZ_4M
-
-static struct physmap_flash_data picotux200_flash_data = {
-	.width	= 2,
-};
-
-static struct resource picotux200_flash_resource = {
-	.start		= PICOTUX200_FLASH_BASE,
-	.end		= PICOTUX200_FLASH_BASE + PICOTUX200_FLASH_SIZE - 1,
-	.flags		= IORESOURCE_MEM,
-};
-
-static struct platform_device picotux200_flash = {
-	.name		= "physmap-flash",
-	.id		= 0,
-	.dev		= {
-				.platform_data	= &picotux200_flash_data,
-			},
-	.resource	= &picotux200_flash_resource,
-	.num_resources	= 1,
-};
-
-static void __init picotux200_board_init(void)
-{
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	at91_register_uart(0, 0, 0);
-
-	/* USART1 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
-	at91_register_uart(AT91RM9200_ID_US1, 1, 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(&picotux200_eth_data);
-	/* USB Host */
-	at91_add_device_usbh(&picotux200_usbh_data);
-	/* I2C */
-	at91_add_device_i2c(NULL, 0);
-	/* MMC */
-	at91_set_gpio_output(AT91_PIN_PB22, 1);	/* this MMC card slot can optionally use SPI signaling (CS3). */
-	at91_add_device_mci(0, &picotux200_mci0_data);
-	/* NOR Flash */
-	platform_device_register(&picotux200_flash);
-}
-
-MACHINE_START(PICOTUX2XX, "picotux 200")
-	/* Maintainer: Kleinhenz Elektronik GmbH */
-	.init_time	= at91rm9200_timer_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= picotux200_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= picotux200_board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 08/11] ARM: at91: switch ecbat91 board to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
                     ` (5 preceding siblings ...)
  2013-11-15 14:50   ` [PATCH 07/11] ARM: at91: switch Picotux 200 " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:50   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:50   ` [PATCH 09/11] ARM: at91: switch kb9202 " Jean-Christophe PLAGNIOL-VILLARD
                     ` (3 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:50 UTC (permalink / raw)
  To: linux-arm-kernel

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-ecbat91.dts    | 135 ++++++++++++++++++++++++
 arch/arm/configs/at91rm9200_defconfig |   1 -
 arch/arm/mach-at91/Kconfig.non_dt     |   7 --
 arch/arm/mach-at91/Makefile           |   1 -
 arch/arm/mach-at91/board-ecbat91.c    | 190 ----------------------------------
 6 files changed, 136 insertions(+), 199 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-ecbat91.dts
 delete mode 100644 arch/arm/mach-at91/board-ecbat91.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index ade7686..d37d226 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -5,6 +5,7 @@ ifeq ($(CONFIG_OF),y)
 dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-carmeva.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-ecbat91.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-flexibity.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-kafa.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-picotux-200.dtb
diff --git a/arch/arm/boot/dts/at91-ecbat91.dts b/arch/arm/boot/dts/at91-ecbat91.dts
new file mode 100644
index 0000000..d9c1b6c
--- /dev/null
+++ b/arch/arm/boot/dts/at91-ecbat91.dts
@@ -0,0 +1,135 @@
+/*
+ * at91-ecbat91.dts - Device Tree file for ecbat91 board
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+#include "at91rm9200_pqfp.dtsi"
+
+/ {
+	model = "emQbit's ECB_AT91";
+	compatible = "emqbit,ecb-at91", "atmel,at91rm9200-pqfp", "atmel,at91rm9200";
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <18432000>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usart0: serial at fffc0000 {
+				status = "okay";
+			};
+
+			macb0: ethernet at fffbc000 {
+				phy-mode = "mii";
+				status = "okay";
+				/* phy irq on PC4 */
+				pinctrl-0 = <&pinctrl_macb_rmii &pinctrl_macb_rmii_mii>;
+			};
+
+			mmc0: mmc at fffb4000 {
+				pinctrl-0 = <
+					&pinctrl_mmc0_clk
+					&pinctrl_mmc0_slot0_cmd_dat0
+					&pinctrl_mmc0_slot0_dat1_3>;
+				status = "okay";
+				slot at 0 {
+					reg = <0>;
+					bus-width = <4>;
+				};
+			};
+
+			spi0: spi at fffe0000 {
+				status = "okay";
+				cs-gpios =
+					<&pioA 3 GPIO_ACTIVE_HIGH>,
+					<&pioA 4 GPIO_ACTIVE_HIGH>,
+					<&pioA 5 GPIO_ACTIVE_HIGH>,
+					<&pioA 6 GPIO_ACTIVE_HIGH>;
+
+				mtd_dataflash at 0 {
+					compatible = "atmel,at45", "atmel,dataflash";
+					spi-max-frequency = <10000000>;
+					reg = <0>;
+					#address-cells = <1>;
+					#size-cells = <1>;
+
+					darrell_loader at 0 {
+						label = "Darrell-loade";
+						reg = <0x00000 0x3180>;
+					};
+
+					uboot at 3180 {
+						label = "U-boot";
+						reg = <0x3180 0x1C5C0>;
+					};
+
+					ubootenv at 1F740 {
+						label = "UBoot-env";
+						reg = <0x1F740 0x2100>;
+					};
+
+					kernel at 21840  {
+						label = "Kernel";
+						reg = <0x21840 0x18B7C0>;
+					};
+
+					filesystem at 1ad000  {
+						label = "Filesystem";
+						reg = <0x1ad000 0x53000>;
+					};
+				};
+
+				spidev at 1 {
+					compatible = "spidev";
+					spi-max-frequency = <2500000>;
+					reg = <1>;
+				};
+
+				spidev at 2 {
+					compatible = "spidev";
+					spi-max-frequency = <1000000>;
+					reg = <2>;
+				};
+
+				spidev at 3 {
+					compatible = "spidev";
+					spi-max-frequency = <10000000>;
+					reg = <3>;
+				};
+			};
+		};
+
+		usb0: ohci at 00300000 {
+			num-ports = <1>;
+			status = "okay";
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led1 {
+			label = "led1";
+			gpios = <&pioC 7 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+	};
+};
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig
index cbd5bf1..92979f2 100644
--- a/arch/arm/configs/at91rm9200_defconfig
+++ b/arch/arm/configs/at91rm9200_defconfig
@@ -22,7 +22,6 @@ CONFIG_MACH_CSB337=y
 CONFIG_MACH_CSB637=y
 CONFIG_MACH_ATEB9200=y
 CONFIG_MACH_KB9200=y
-CONFIG_MACH_ECBAT91=y
 CONFIG_MACH_YL9200=y
 CONFIG_MACH_CPUAT91=y
 CONFIG_MACH_ECO920=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index 254166b..d60487a 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -87,13 +87,6 @@ config MACH_KB9200
 	  Select this if you are using KwikByte's KB920x board.
 	  <http://www.kwikbyte.com/KB9202.html>
 
-config MACH_ECBAT91
-	bool "emQbit ECB_AT91 SBC"
-	select HAVE_AT91_DATAFLASH_CARD
-	help
-	  Select this if you are using emQbit's ECB_AT91 board.
-	  <http://wiki.emqbit.com/free-ecb-at91>
-
 config MACH_YL9200
 	bool "ucDragon YL-9200"
 	help
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 6d08a51..983254a 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -38,7 +38,6 @@ obj-$(CONFIG_MACH_CSB337)	+= board-csb337.o
 obj-$(CONFIG_MACH_CSB637)	+= board-csb637.o
 obj-$(CONFIG_MACH_KB9200)	+= board-kb9202.o
 obj-$(CONFIG_MACH_ATEB9200)	+= board-eb9200.o
-obj-$(CONFIG_MACH_ECBAT91)	+= board-ecbat91.o
 obj-$(CONFIG_MACH_YL9200)	+= board-yl-9200.o
 obj-$(CONFIG_MACH_CPUAT91)	+= board-cpuat91.o
 obj-$(CONFIG_MACH_ECO920)	+= board-eco920.o
diff --git a/arch/arm/mach-at91/board-ecbat91.c b/arch/arm/mach-at91/board-ecbat91.c
deleted file mode 100644
index b2fcd71..0000000
--- a/arch/arm/mach-at91/board-ecbat91.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * linux/arch/arm/mach-at91rm9200/board-ecbat91.c
- * Copyright (C) 2007 emQbit.com.
- *
- * We started from board-dk.c, which is 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 <linux/spi/spi.h>
-#include <linux/spi/flash.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 ecb_at91init_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 ecb_at91eth_data = {
-	.phy_irq_pin	= AT91_PIN_PC4,
-	.is_rmii	= 0,
-};
-
-static struct at91_usbh_data __initdata ecb_at91usbh_data = {
-	.ports		= 1,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-static struct mci_platform_data __initdata ecbat91_mci0_data = {
-	.slot[0] = {
-		.bus_width	= 4,
-		.detect_pin	= -EINVAL,
-		.wp_pin		= -EINVAL,
-	},
-};
-
-
-#if defined(CONFIG_MTD_DATAFLASH)
-static struct mtd_partition __initdata my_flash0_partitions[] =
-{
-	{	/* 0x8400 */
-		.name	= "Darrell-loader",
-		.offset	= 0,
-		.size	= 12 * 1056,
-	},
-	{
-		.name	= "U-boot",
-		.offset	= MTDPART_OFS_NXTBLK,
-		.size	= 110 * 1056,
-	},
-	{	/* 1336 (167 blocks) pages * 1056 bytes = 0x158700 bytes */
-		.name	= "UBoot-env",
-		.offset	= MTDPART_OFS_NXTBLK,
-		.size	= 8 * 1056,
-	},
-	{	/* 1336 (167 blocks) pages * 1056 bytes = 0x158700 bytes */
-		.name	= "Kernel",
-		.offset	= MTDPART_OFS_NXTBLK,
-		.size	= 1534 * 1056,
-	},
-	{	/* 190200 - jffs2 root filesystem */
-		.name	= "Filesystem",
-		.offset	= MTDPART_OFS_NXTBLK,
-		.size	= MTDPART_SIZ_FULL,	/* 26 sectors */
-	}
-};
-
-static struct flash_platform_data __initdata my_flash0_platform = {
-	.name		= "Removable flash card",
-	.parts		= my_flash0_partitions,
-	.nr_parts	= ARRAY_SIZE(my_flash0_partitions)
-};
-
-#endif
-
-static struct spi_board_info __initdata ecb_at91spi_devices[] = {
-	{	/* DataFlash chip */
-		.modalias	= "mtd_dataflash",
-		.chip_select	= 0,
-		.max_speed_hz	= 10 * 1000 * 1000,
-		.bus_num	= 0,
-#if defined(CONFIG_MTD_DATAFLASH)
-		.platform_data	= &my_flash0_platform,
-#endif
-	},
-	{	/* User accessible spi - cs1 (250KHz) */
-		.modalias	= "spi-cs1",
-		.chip_select	= 1,
-		.max_speed_hz	= 250 * 1000,
-	},
-	{	/* User accessible spi - cs2 (1MHz) */
-		.modalias	= "spi-cs2",
-		.chip_select	= 2,
-		.max_speed_hz	= 1 * 1000 * 1000,
-	},
-	{	/* User accessible spi - cs3 (10MHz) */
-		.modalias	= "spi-cs3",
-		.chip_select	= 3,
-		.max_speed_hz	= 10 * 1000 * 1000,
-	},
-};
-
-/*
- * LEDs
- */
-static struct gpio_led ecb_leds[] = {
-	{	/* D1 */
-		.name			= "led1",
-		.gpio			= AT91_PIN_PC7,
-		.active_low		= 1,
-		.default_trigger	= "heartbeat",
-	}
-};
-
-static void __init ecb_at91board_init(void)
-{
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	at91_register_uart(0, 0, 0);
-
-	/* USART0 on ttyS1. (Rx & Tx only) */
-	at91_register_uart(AT91RM9200_ID_US0, 1, 0);
-	at91_add_device_serial();
-
-	/* Ethernet */
-	at91_add_device_eth(&ecb_at91eth_data);
-
-	/* USB Host */
-	at91_add_device_usbh(&ecb_at91usbh_data);
-
-	/* I2C */
-	at91_add_device_i2c(NULL, 0);
-
-	/* MMC */
-	at91_add_device_mci(0, &ecbat91_mci0_data);
-
-	/* SPI */
-	at91_add_device_spi(ecb_at91spi_devices, ARRAY_SIZE(ecb_at91spi_devices));
-
-	/* LEDs */
-	at91_gpio_leds(ecb_leds, ARRAY_SIZE(ecb_leds));
-}
-
-MACHINE_START(ECBAT91, "emQbit's ECB_AT91")
-	/* Maintainer: emQbit.com */
-	.init_time	= at91rm9200_timer_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= ecb_at91init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= ecb_at91board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 09/11] ARM: at91: switch kb9202 board to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
                     ` (6 preceding siblings ...)
  2013-11-15 14:50   ` [PATCH 08/11] ARM: at91: switch ecbat91 " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:50   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:50   ` [PATCH 10/11] ARM: at91: switch csb637 " Jean-Christophe PLAGNIOL-VILLARD
                     ` (2 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:50 UTC (permalink / raw)
  To: linux-arm-kernel

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-kb9202.dts     | 135 +++++++++++++++++++++++++++++
 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-kb9202.c     | 158 ----------------------------------
 6 files changed, 136 insertions(+), 166 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-kb9202.dts
 delete mode 100644 arch/arm/mach-at91/board-kb9202.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d37d226..bba996a 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-carmeva.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-ecbat91.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-flexibity.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-kafa.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-kb9202.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-picotux-200.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-rsi-ews.dtb
 dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
diff --git a/arch/arm/boot/dts/at91-kb9202.dts b/arch/arm/boot/dts/at91-kb9202.dts
new file mode 100644
index 0000000..8034c9e
--- /dev/null
+++ b/arch/arm/boot/dts/at91-kb9202.dts
@@ -0,0 +1,135 @@
+/*
+ * at91-kb9202.dtb - Device Tree file for RSI EWS board
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+#include "at91rm9200_pqfp.dtsi"
+
+/ {
+	model = "KB920x";
+	compatible = "kwikbyte,kb920x", "atmel,at91rm9200-pqfp", "atmel,at91rm9200";
+
+	aliases {
+		serial0 = &dbgu;
+		serial1 = &usart0;
+		serial2 = &usart1;
+		serial3 = &usart3;
+		serial4 = &usart2;
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <10000000>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usart0: serial at fffc0000 {
+				status = "okay";
+			};
+
+			usart1: serial at fffc4000 {
+				status = "okay";
+			};
+
+			usart3: serial at fffcc000 {
+				pinctrl-0 =
+						<&pinctrl_uart3
+						 &pinctrl_uart3_cts
+						 &pinctrl_uart3_rts>;
+				status = "okay";
+			};
+
+			macb0: ethernet at fffbc000 {
+				phy-mode = "mii";
+				status = "okay";
+				/* phy irq on PB29 */
+				pinctrl-0 = <&pinctrl_macb_rmii &pinctrl_macb_rmii_mii>;
+			};
+
+			mmc0: mmc at fffb4000 {
+				pinctrl-0 = <
+					&pinctrl_board_mmc0
+					&pinctrl_mmc0_clk
+					&pinctrl_mmc0_slot0_cmd_dat0
+					&pinctrl_mmc0_slot0_dat1_3>;
+				status = "okay";
+				slot at 0 {
+					reg = <0>;
+					bus-width = <4>;
+					cd-gpios = <&pioB 2 GPIO_ACTIVE_HIGH>;
+				};
+			};
+
+			pinctrl at fffff400 {
+				mmc0 {
+					pinctrl_board_mmc0: mmc0-board {
+						atmel,pins =
+							<AT91_PIOB 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
+					};
+				};
+			};
+
+			spi0: spi at fffe0000 {
+				status = "okay";
+			};
+
+			usb1: gadget at fffb0000 {
+				status = "okay";
+				atmel,vbus-gpio = <&pioB 24 GPIO_ACTIVE_HIGH>;
+				atmel,pullup-gpio = <&pioB 22 GPIO_ACTIVE_HIGH>;
+			};
+		};
+
+		usb0: ohci at 00300000 {
+			num-ports = <1>;
+			status = "okay";
+		};
+
+		nand0: nand at 40000000 {
+			status = "okay";
+			gpios = <&pioC 29 GPIO_ACTIVE_HIGH	/* rdy */
+				 &pioD 28 GPIO_ACTIVE_HIGH	/* nce */
+				 0		/* cd */
+			>;
+
+			nand_fs at 0 {
+				label = "nand_fs";
+				reg = <0x00000 0x10000000>;
+			};
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led0 {
+			label = "led0";
+			gpios = <&pioC 19 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "heartbeat";
+		};
+
+		led1 {
+			label = "led1";
+			gpios = <&pioC 18 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "timer";
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+	};
+};
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig
index 92979f2..e18adf8 100644
--- a/arch/arm/configs/at91rm9200_defconfig
+++ b/arch/arm/configs/at91rm9200_defconfig
@@ -21,7 +21,6 @@ CONFIG_MACH_AT91RM9200EK=y
 CONFIG_MACH_CSB337=y
 CONFIG_MACH_CSB637=y
 CONFIG_MACH_ATEB9200=y
-CONFIG_MACH_KB9200=y
 CONFIG_MACH_YL9200=y
 CONFIG_MACH_CPUAT91=y
 CONFIG_MACH_ECO920=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index d60487a..1d421f8 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -81,12 +81,6 @@ config MACH_ATEB9200
 	  Select this if you are using Embest's ATEB9200 board.
 	  <http://www.embedinfo.com/english/product/ATEB9200.asp>
 
-config MACH_KB9200
-	bool "KwikByte KB920x"
-	help
-	  Select this if you are using KwikByte's KB920x board.
-	  <http://www.kwikbyte.com/KB9202.html>
-
 config MACH_YL9200
 	bool "ucDragon YL-9200"
 	help
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 983254a..5e80783 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -36,7 +36,6 @@ obj-$(CONFIG_ARCH_AT91X40)	+= at91x40.o at91x40_time.o
 obj-$(CONFIG_MACH_AT91RM9200EK)	+= board-rm9200ek.o
 obj-$(CONFIG_MACH_CSB337)	+= board-csb337.o
 obj-$(CONFIG_MACH_CSB637)	+= board-csb637.o
-obj-$(CONFIG_MACH_KB9200)	+= board-kb9202.o
 obj-$(CONFIG_MACH_ATEB9200)	+= board-eb9200.o
 obj-$(CONFIG_MACH_YL9200)	+= board-yl-9200.o
 obj-$(CONFIG_MACH_CPUAT91)	+= board-cpuat91.o
diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c
deleted file mode 100644
index 0c519d9..0000000
--- a/arch/arm/mach-at91/board-kb9202.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * linux/arch/arm/mach-at91/board-kb9202.c
- *
- *  Copyright (c) 2005 kb_admin
- *  		       KwikByte, Inc.
- *
- * 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 <mach/at91rm9200_mc.h>
-#include <mach/at91_ramc.h>
-
-#include "at91_aic.h"
-#include "board.h"
-#include "generic.h"
-
-
-static void __init kb9202_init_early(void)
-{
-	/* Set cpu type: PQFP */
-	at91rm9200_set_type(ARCH_REVISON_9200_PQFP);
-
-	/* Initialize processor: 10 MHz crystal */
-	at91_initialize(10000000);
-}
-
-static struct macb_platform_data __initdata kb9202_eth_data = {
-	.phy_irq_pin	= AT91_PIN_PB29,
-	.is_rmii	= 0,
-};
-
-static struct at91_usbh_data __initdata kb9202_usbh_data = {
-	.ports		= 1,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-static struct at91_udc_data __initdata kb9202_udc_data = {
-	.vbus_pin	= AT91_PIN_PB24,
-	.pullup_pin	= AT91_PIN_PB22,
-};
-
-static struct mci_platform_data __initdata kb9202_mci0_data = {
-	.slot[0] = {
-		.bus_width	= 4,
-		.detect_pin	= AT91_PIN_PB2,
-		.wp_pin		= -EINVAL,
-	},
-};
-
-static struct mtd_partition __initdata kb9202_nand_partition[] = {
-	{
-		.name	= "nand_fs",
-		.offset	= 0,
-		.size	= MTDPART_SIZ_FULL,
-	},
-};
-
-static struct atmel_nand_data __initdata kb9202_nand_data = {
-	.ale		= 22,
-	.cle		= 21,
-	.det_pin	= -EINVAL,
-	.rdy_pin	= AT91_PIN_PC29,
-	.enable_pin	= AT91_PIN_PC28,
-	.ecc_mode	= NAND_ECC_SOFT,
-	.parts		= kb9202_nand_partition,
-	.num_parts	= ARRAY_SIZE(kb9202_nand_partition),
-};
-
-/*
- * LEDs
- */
-static struct gpio_led kb9202_leds[] = {
-	{	/* D1 */
-		.name			= "led1",
-		.gpio			= AT91_PIN_PC19,
-		.active_low		= 1,
-		.default_trigger	= "heartbeat",
-	},
-	{	/* D2 */
-		.name			= "led2",
-		.gpio			= AT91_PIN_PC18,
-		.active_low		= 1,
-		.default_trigger	= "timer",
-	}
-};
-
-static void __init kb9202_board_init(void)
-{
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	at91_register_uart(0, 0, 0);
-
-	/* USART0 on ttyS1 (Rx & Tx only) */
-	at91_register_uart(AT91RM9200_ID_US0, 1, 0);
-
-	/* USART1 on ttyS2 (Rx & Tx only) - IRDA (optional) */
-	at91_register_uart(AT91RM9200_ID_US1, 2, 0);
-
-	/* USART3 on ttyS3 (Rx, Tx, CTS, RTS) - RS485 (optional) */
-	at91_register_uart(AT91RM9200_ID_US3, 3, ATMEL_UART_CTS | ATMEL_UART_RTS);
-	at91_add_device_serial();
-	/* Ethernet */
-	at91_add_device_eth(&kb9202_eth_data);
-	/* USB Host */
-	at91_add_device_usbh(&kb9202_usbh_data);
-	/* USB Device */
-	at91_add_device_udc(&kb9202_udc_data);
-	/* MMC */
-	at91_add_device_mci(0, &kb9202_mci0_data);
-	/* I2C */
-	at91_add_device_i2c(NULL, 0);
-	/* SPI */
-	at91_add_device_spi(NULL, 0);
-	/* NAND */
-	at91_add_device_nand(&kb9202_nand_data);
-	/* LEDs */
-	at91_gpio_leds(kb9202_leds, ARRAY_SIZE(kb9202_leds));
-}
-
-MACHINE_START(KB9200, "KB920x")
-	/* Maintainer: KwikByte, Inc. */
-	.init_time	= at91rm9200_timer_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= kb9202_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= kb9202_board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 10/11] ARM: at91: switch csb637 board to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
                     ` (7 preceding siblings ...)
  2013-11-15 14:50   ` [PATCH 09/11] ARM: at91: switch kb9202 " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:50   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:50   ` [PATCH 11/11] ARM: at91: switch Calao QIL-A9260 " Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 16:03   ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support boris brezillon
  10 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:50 UTC (permalink / raw)
  To: linux-arm-kernel

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-csb637.dts     |  83 ++++++++++++++++++++
 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-csb637.c     | 141 ----------------------------------
 6 files changed, 84 insertions(+), 149 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-csb637.dts
 delete mode 100644 arch/arm/mach-at91/board-csb637.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index bba996a..d042c68 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -5,6 +5,7 @@ ifeq ($(CONFIG_OF),y)
 dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-1arm.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-carmeva.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-csb637.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-ecbat91.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-flexibity.dtb
 dtb-$(CONFIG_ARCH_AT91) += at91-kafa.dtb
diff --git a/arch/arm/boot/dts/at91-csb637.dts b/arch/arm/boot/dts/at91-csb637.dts
new file mode 100644
index 0000000..35031337
--- /dev/null
+++ b/arch/arm/boot/dts/at91-csb637.dts
@@ -0,0 +1,83 @@
+/*
+ * at91-csb637.dts - Device Tree file for Cogent CSB637 board
+ *
+ * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2 only
+ */
+/dts-v1/;
+#include "at91rm9200.dtsi"
+
+/ {
+	model = "Cogent CSB637 board";
+	compatible = "cogent,csb637", "atmel,at91rm9200";
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <3686400>;
+		};
+	};
+
+	ahb {
+		apb {
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			macb0: ethernet at fffbc000 {
+				phy-mode = "mii";
+				status = "okay";
+				/* phy irq on PC0 */
+				pinctrl-0 = <&pinctrl_macb_rmii &pinctrl_macb_rmii_mii>;
+			};
+
+			spi0: spi at fffe0000 {
+				status = "okay";
+			};
+
+			usb1: gadget at fffb0000 {
+				status = "okay";
+				atmel,vbus-gpio = <&pioB 28 GPIO_ACTIVE_HIGH>;
+				atmel,pullup-gpio = <&pioB 1 GPIO_ACTIVE_HIGH>;
+			};
+		};
+
+		usb0: ohci at 00300000 {
+			num-ports = <2>;
+			status = "okay";
+		};
+
+		nor_flash at 10000000 {
+			compatible = "cfi-flash";
+			reg = <0x10000000 0x1000000>;
+			linux,mtd-name = "physmap-flash.0";
+			bank-width = <2>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			boot at 0 {
+				label = "uMON flash";
+				reg = <0x00000 0x1000000>;
+			};
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		d1 {
+			label = "d1";
+			gpios = <&pioB 2 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+	};
+};
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig
index e18adf8..6c555c1 100644
--- a/arch/arm/configs/at91rm9200_defconfig
+++ b/arch/arm/configs/at91rm9200_defconfig
@@ -19,7 +19,6 @@ CONFIG_ARCH_AT91=y
 CONFIG_ARCH_AT91RM9200=y
 CONFIG_MACH_AT91RM9200EK=y
 CONFIG_MACH_CSB337=y
-CONFIG_MACH_CSB637=y
 CONFIG_MACH_ATEB9200=y
 CONFIG_MACH_YL9200=y
 CONFIG_MACH_CPUAT91=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index 1d421f8..c193a13 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -69,12 +69,6 @@ config MACH_CSB337
 	  Select this if you are using Cogent's CSB337 board.
 	  <http://www.cogcomp.com/csb_csb337.htm>
 
-config MACH_CSB637
-	bool "Cogent CSB637"
-	help
-	  Select this if you are using Cogent's CSB637 board.
-	  <http://www.cogcomp.com/csb_csb637.htm>
-
 config MACH_ATEB9200
 	bool "Embest ATEB9200"
 	help
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 5e80783..8eda4b0 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -35,7 +35,6 @@ obj-$(CONFIG_ARCH_AT91X40)	+= at91x40.o at91x40_time.o
 # AT91RM9200 board-specific support
 obj-$(CONFIG_MACH_AT91RM9200EK)	+= board-rm9200ek.o
 obj-$(CONFIG_MACH_CSB337)	+= board-csb337.o
-obj-$(CONFIG_MACH_CSB637)	+= board-csb637.o
 obj-$(CONFIG_MACH_ATEB9200)	+= board-eb9200.o
 obj-$(CONFIG_MACH_YL9200)	+= board-yl-9200.o
 obj-$(CONFIG_MACH_CPUAT91)	+= board-cpuat91.o
diff --git a/arch/arm/mach-at91/board-csb637.c b/arch/arm/mach-at91/board-csb637.c
deleted file mode 100644
index fdf1106..0000000
--- a/arch/arm/mach-at91/board-csb637.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * linux/arch/arm/mach-at91/board-csb637.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/init.h>
-#include <linux/gpio.h>
-#include <linux/mm.h>
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/mtd/physmap.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/hardware.h>
-
-#include "at91_aic.h"
-#include "board.h"
-#include "generic.h"
-
-
-static void __init csb637_init_early(void)
-{
-	/* Initialize processor: 3.6864 MHz crystal */
-	at91_initialize(3686400);
-}
-
-static struct macb_platform_data __initdata csb637_eth_data = {
-	.phy_irq_pin	= AT91_PIN_PC0,
-	.is_rmii	= 0,
-};
-
-static struct at91_usbh_data __initdata csb637_usbh_data = {
-	.ports		= 2,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-static struct at91_udc_data __initdata csb637_udc_data = {
-	.vbus_pin     = AT91_PIN_PB28,
-	.pullup_pin   = AT91_PIN_PB1,
-};
-
-#define CSB_FLASH_BASE	AT91_CHIPSELECT_0
-#define CSB_FLASH_SIZE	SZ_16M
-
-static struct mtd_partition csb_flash_partitions[] = {
-	{
-		.name		= "uMON flash",
-		.offset		= 0,
-		.size		= MTDPART_SIZ_FULL,
-		.mask_flags	= MTD_WRITEABLE,	/* read only */
-	}
-};
-
-static struct physmap_flash_data csb_flash_data = {
-	.width		= 2,
-	.parts		= csb_flash_partitions,
-	.nr_parts	= ARRAY_SIZE(csb_flash_partitions),
-};
-
-static struct resource csb_flash_resources[] = {
-	{
-		.start	= CSB_FLASH_BASE,
-		.end	= CSB_FLASH_BASE + CSB_FLASH_SIZE - 1,
-		.flags	= IORESOURCE_MEM,
-	}
-};
-
-static struct platform_device csb_flash = {
-	.name		= "physmap-flash",
-	.id		= 0,
-	.dev		= {
-				.platform_data = &csb_flash_data,
-			},
-	.resource	= csb_flash_resources,
-	.num_resources	= ARRAY_SIZE(csb_flash_resources),
-};
-
-static struct gpio_led csb_leds[] = {
-	{	/* "d1", red */
-		.name			= "d1",
-		.gpio			= AT91_PIN_PB2,
-		.active_low		= 1,
-		.default_trigger	= "heartbeat",
-	},
-};
-
-static void __init csb637_board_init(void)
-{
-	/* LED(s) */
-	at91_gpio_leds(csb_leds, ARRAY_SIZE(csb_leds));
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	at91_register_uart(0, 0, 0);
-	at91_add_device_serial();
-	/* Ethernet */
-	at91_add_device_eth(&csb637_eth_data);
-	/* USB Host */
-	at91_add_device_usbh(&csb637_usbh_data);
-	/* USB Device */
-	at91_add_device_udc(&csb637_udc_data);
-	/* I2C */
-	at91_add_device_i2c(NULL, 0);
-	/* SPI */
-	at91_add_device_spi(NULL, 0);
-	/* NOR flash */
-	platform_device_register(&csb_flash);
-}
-
-MACHINE_START(CSB637, "Cogent CSB637")
-	/* Maintainer: Bill Gatliff */
-	.init_time	= at91rm9200_timer_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= csb637_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= csb637_board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 11/11] ARM: at91: switch Calao QIL-A9260 board to DT
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
                     ` (8 preceding siblings ...)
  2013-11-15 14:50   ` [PATCH 10/11] ARM: at91: switch csb637 " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 14:50   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-12-13 11:08     ` Nicolas Ferre
  2013-12-13 11:12     ` [PATCH v2 " Nicolas Ferre
  2013-11-15 16:03   ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support boris brezillon
  10 siblings, 2 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 14:50 UTC (permalink / raw)
  To: linux-arm-kernel

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-qil_a9260.dts        | 185 +++++++++++++++++++
 arch/arm/configs/at91sam9260_9g20_defconfig |   1 -
 arch/arm/mach-at91/Kconfig.non_dt           |   6 -
 arch/arm/mach-at91/Makefile                 |   1 -
 arch/arm/mach-at91/board-qil-a9260.c        | 266 ----------------------------
 6 files changed, 186 insertions(+), 274 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-qil_a9260.dts
 delete mode 100644 arch/arm/mach-at91/board-qil-a9260.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d042c68..1de1ba2 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -15,6 +15,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-rsi-ews.dtb
 dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
 # sam9260
 dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-qil_a9260.dtb
 dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb
 dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb
 dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb
diff --git a/arch/arm/boot/dts/at91-qil_a9260.dts b/arch/arm/boot/dts/at91-qil_a9260.dts
new file mode 100644
index 0000000..d3d52dd
--- /dev/null
+++ b/arch/arm/boot/dts/at91-qil_a9260.dts
@@ -0,0 +1,185 @@
+/*
+ * at91-qil_a9260.dts - Device Tree file for Caloa QIL A9260 board
+ *
+ * Copyright (C) 2011-2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2.
+ */
+/dts-v1/;
+#include "at91sam9260.dtsi"
+/ {
+	model = "Calao QIL A9260";
+	compatible = "calao,qil-a9260", "atmel,at91sam9260", "atmel,at91sam9";
+
+	chosen {
+		bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
+	};
+
+	memory {
+		reg = <0x20000000 0x4000000>;
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <12000000>;
+		};
+	};
+
+	ahb {
+		apb {
+			shdwc at fffffd10 {
+				atmel,wakeup-counter = <10>;
+				atmel,wakeup-rtt-timer;
+			};
+
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			usart0: serial at fffb0000 {
+				pinctrl-0 =
+					<&pinctrl_usart0
+					 &pinctrl_usart0_rts
+					 &pinctrl_usart0_cts
+					 &pinctrl_usart0_dtr_dsr
+					 &pinctrl_usart0_dcd
+					 &pinctrl_usart0_ri>;
+				status = "okay";
+			};
+
+			usart1: serial at fffb4000 {
+				pinctrl-0 =
+					<&pinctrl_usart1
+					 &pinctrl_usart1_rts
+					 &pinctrl_usart1_cts>;
+				status = "okay";
+			};
+
+			usart2: serial at fffb8000 {
+				pinctrl-0 =
+					<&pinctrl_usart2
+					 &pinctrl_usart2_rts
+					 &pinctrl_usart2_cts>;
+				status = "okay";
+			};
+
+			macb0: ethernet at fffc4000 {
+				phy-mode = "rmii";
+				status = "okay";
+			};
+
+			usb1: gadget at fffa4000 {
+				atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
+				status = "okay";
+			};
+
+			spi0: spi at fffc8000 {
+				status = "okay";
+				cs-gpios = <&pioA 3 GPIO_ACTIVE_HIGH>;
+
+				m41t94 at 0 {
+					compatible = "st,m41t94";
+					reg = <0>;
+					spi-max-frequency = <1000000>;
+				};
+
+			};
+
+			mmc0: mmc at fffa8000 {
+				pinctrl-0 = <
+					&pinctrl_mmc0_clk
+					&pinctrl_mmc0_slot0_cmd_dat0
+					&pinctrl_mmc0_slot0_dat1_3>;
+				status = "okay";
+				slot at 0 {
+					reg = <0>;
+					bus-width = <4>;
+				};
+			};
+		};
+
+		nand0: nand at 40000000 {
+			nand-bus-width = <8>;
+			nand-ecc-mode = "soft";
+			nand-on-flash-bbt;
+			status = "okay";
+
+			at91bootstrap at 0 {
+				label = "at91bootstrap";
+				reg = <0x0 0x20000>;
+			};
+
+			barebox at 20000 {
+				label = "barebox";
+				reg = <0x20000 0x40000>;
+			};
+
+			bareboxenv at 60000 {
+				label = "bareboxenv";
+				reg = <0x60000 0x20000>;
+			};
+
+			bareboxenv2 at 80000 {
+				label = "bareboxenv2";
+				reg = <0x80000 0x20000>;
+			};
+
+			oftree at 80000 {
+				label = "oftree";
+				reg = <0xa0000 0x20000>;
+			};
+
+			kernel at a0000 {
+				label = "kernel";
+				reg = <0xc0000 0x400000>;
+			};
+
+			rootfs at 4a0000 {
+				label = "rootfs";
+				reg = <0x4c0000 0x7800000>;
+			};
+
+			data at 7ca0000 {
+				label = "data";
+				reg = <0x7cc0000 0x8340000>;
+			};
+		};
+
+		usb0: ohci at 00500000 {
+			num-ports = <2>;
+			status = "okay";
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		user_led {
+			label = "user_led";
+			gpios = <&pioB 21 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		user_pb {
+			label = "user_pb";
+			gpios = <&pioB 10 GPIO_ACTIVE_LOW>;
+			linux,code = <28>;
+			gpio-key,wakeup;
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+	};
+};
diff --git a/arch/arm/configs/at91sam9260_9g20_defconfig b/arch/arm/configs/at91sam9260_9g20_defconfig
index ab66867..64700c31 100644
--- a/arch/arm/configs/at91sam9260_9g20_defconfig
+++ b/arch/arm/configs/at91sam9260_9g20_defconfig
@@ -15,7 +15,6 @@ CONFIG_MACH_AT91SAM9260EK=y
 CONFIG_MACH_CAM60=y
 CONFIG_MACH_SAM9_L9260=y
 CONFIG_MACH_AFEB9260=y
-CONFIG_MACH_QIL_A9260=y
 CONFIG_MACH_CPU9260=y
 CONFIG_MACH_AT91SAM9G20EK=y
 CONFIG_MACH_AT91SAM9G20EK_2MMC=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index c193a13..d16075a 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -128,12 +128,6 @@ config MACH_AFEB9260
 	  <svn://194.85.238.22/home/users/george/svn/arm9eb>
 	  <http://groups.google.com/group/arm9fpga-evolution-board>
 
-config MACH_QIL_A9260
-	bool "CALAO QIL-A9260 board"
-	help
-	  Select this if you are using a Calao Systems QIL-A9260 Board.
-	  <http://www.calao-systems.com>
-
 config MACH_CPU9260
 	bool "Eukrea CPU9260 board"
 	help
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 8eda4b0..fb9ecd4 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -44,7 +44,6 @@ obj-$(CONFIG_MACH_ECO920)	+= board-eco920.o
 obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o
 obj-$(CONFIG_MACH_CAM60)	+= board-cam60.o
 obj-$(CONFIG_MACH_SAM9_L9260)	+= board-sam9-l9260.o
-obj-$(CONFIG_MACH_QIL_A9260)	+= board-qil-a9260.o
 obj-$(CONFIG_MACH_AFEB9260)	+= board-afeb-9260v1.o
 obj-$(CONFIG_MACH_CPU9260)	+= board-cpu9krea.o
 
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
deleted file mode 100644
index aa3bc9b..0000000
--- a/arch/arm/mach-at91/board-qil-a9260.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * linux/arch/arm/mach-at91/board-qil-a9260.c
- *
- *  Copyright (C) 2005 SAN People
- *  Copyright (C) 2006 Atmel
- *  Copyright (C) 2007 Calao-systems
- *
- * 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 <linux/spi/spi.h>
-#include <linux/gpio_keys.h>
-#include <linux/input.h>
-#include <linux/clk.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/hardware.h>
-#include <mach/at91sam9_smc.h>
-
-#include "at91_aic.h"
-#include "at91_shdwc.h"
-#include "board.h"
-#include "sam9_smc.h"
-#include "generic.h"
-
-
-static void __init ek_init_early(void)
-{
-	/* Initialize processor: 12.000 MHz crystal */
-	at91_initialize(12000000);
-}
-
-/*
- * USB Host port
- */
-static struct at91_usbh_data __initdata ek_usbh_data = {
-	.ports		= 2,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-/*
- * USB Device port
- */
-static struct at91_udc_data __initdata ek_udc_data = {
-	.vbus_pin	= AT91_PIN_PC5,
-	.pullup_pin	= -EINVAL,		/* pull-up driven by UDC */
-};
-
-/*
- * SPI devices.
- */
-static struct spi_board_info ek_spi_devices[] = {
-#if defined(CONFIG_RTC_DRV_M41T94)
-	{	/* M41T94 RTC */
-		.modalias	= "m41t94",
-		.chip_select	= 0,
-		.max_speed_hz	= 1 * 1000 * 1000,
-		.bus_num	= 0,
-	}
-#endif
-};
-
-/*
- * MACB Ethernet device
- */
-static struct macb_platform_data __initdata ek_macb_data = {
-	.phy_irq_pin	= AT91_PIN_PA31,
-	.is_rmii	= 1,
-};
-
-/*
- * NAND flash
- */
-static struct mtd_partition __initdata ek_nand_partition[] = {
-	{
-		.name	= "Uboot & Kernel",
-		.offset	= 0,
-		.size	= SZ_16M,
-	},
-	{
-		.name	= "Root FS",
-		.offset	= MTDPART_OFS_NXTBLK,
-		.size	= 120 * SZ_1M,
-	},
-	{
-		.name	= "FS",
-		.offset	= MTDPART_OFS_NXTBLK,
-		.size	= 120 * SZ_1M,
-	},
-};
-
-static struct atmel_nand_data __initdata ek_nand_data = {
-	.ale		= 21,
-	.cle		= 22,
-	.det_pin	= -EINVAL,
-	.rdy_pin	= AT91_PIN_PC13,
-	.enable_pin	= AT91_PIN_PC14,
-	.ecc_mode	= NAND_ECC_SOFT,
-	.on_flash_bbt	= 1,
-	.parts		= ek_nand_partition,
-	.num_parts	= ARRAY_SIZE(ek_nand_partition),
-};
-
-static struct sam9_smc_config __initdata ek_nand_smc_config = {
-	.ncs_read_setup		= 0,
-	.nrd_setup		= 1,
-	.ncs_write_setup	= 0,
-	.nwe_setup		= 1,
-
-	.ncs_read_pulse		= 3,
-	.nrd_pulse		= 3,
-	.ncs_write_pulse	= 3,
-	.nwe_pulse		= 3,
-
-	.read_cycle		= 5,
-	.write_cycle		= 5,
-
-	.mode			= AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8,
-	.tdf_cycles		= 2,
-};
-
-static void __init ek_add_device_nand(void)
-{
-	/* configure chip-select 3 (NAND) */
-	sam9_smc_configure(0, 3, &ek_nand_smc_config);
-
-	at91_add_device_nand(&ek_nand_data);
-}
-
-/*
- * MCI (SD/MMC)
- */
-static struct mci_platform_data __initdata ek_mci0_data = {
-	.slot[0] = {
-		.bus_width	= 4,
-		.detect_pin	= -EINVAL,
-		.wp_pin		= -EINVAL,
-	},
-};
-
-/*
- * GPIO Buttons
- */
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
-static struct gpio_keys_button ek_buttons[] = {
-	{	/* USER PUSH BUTTON */
-		.code		= KEY_ENTER,
-		.gpio		= AT91_PIN_PB10,
-		.active_low	= 1,
-		.desc		= "user_pb",
-		.wakeup		= 1,
-	}
-};
-
-static struct gpio_keys_platform_data ek_button_data = {
-	.buttons	= ek_buttons,
-	.nbuttons	= ARRAY_SIZE(ek_buttons),
-};
-
-static struct platform_device ek_button_device = {
-	.name		= "gpio-keys",
-	.id		= -1,
-	.num_resources	= 0,
-	.dev		= {
-		.platform_data	= &ek_button_data,
-	}
-};
-
-static void __init ek_add_device_buttons(void)
-{
-	at91_set_GPIO_periph(AT91_PIN_PB10, 1);	/* user push button, pull up enabled */
-	at91_set_deglitch(AT91_PIN_PB10, 1);
-
-	platform_device_register(&ek_button_device);
-}
-#else
-static void __init ek_add_device_buttons(void) {}
-#endif
-
-/*
- * LEDs
- */
-static struct gpio_led ek_leds[] = {
-	{	/* user_led (green) */
-		.name			= "user_led",
-		.gpio			= AT91_PIN_PB21,
-		.active_low		= 0,
-		.default_trigger	= "heartbeat",
-	}
-};
-
-static void __init ek_board_init(void)
-{
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	at91_register_uart(0, 0, 0);
-
-	/* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
-	at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
-			   | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
-			   | ATMEL_UART_RI);
-
-	/* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */
-	at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
-
-	/* USART2 on ttyS3. (Rx, Tx, CTS, RTS) */
-	at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | ATMEL_UART_RTS);
-	at91_add_device_serial();
-	/* USB Host */
-	at91_add_device_usbh(&ek_usbh_data);
-	/* USB Device */
-	at91_add_device_udc(&ek_udc_data);
-	/* SPI */
-	at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
-	/* NAND */
-	ek_add_device_nand();
-	/* I2C */
-	at91_add_device_i2c(NULL, 0);
-	/* Ethernet */
-	at91_add_device_eth(&ek_macb_data);
-	/* MMC */
-	at91_add_device_mci(0, &ek_mci0_data);
-	/* Push Buttons */
-	ek_add_device_buttons();
-	/* LEDs */
-	at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
-	/* shutdown controller, wakeup button (5 msec low) */
-	at91_shdwc_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10) | AT91_SHDW_WKMODE0_LOW
-				| AT91_SHDW_RTTWKEN);
-}
-
-MACHINE_START(QIL_A9260, "CALAO QIL_A9260")
-	/* Maintainer: calao-systems */
-	.init_time	= at91sam926x_pit_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= ek_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= ek_board_init,
-MACHINE_END
-- 
1.8.4.rc3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
                     ` (9 preceding siblings ...)
  2013-11-15 14:50   ` [PATCH 11/11] ARM: at91: switch Calao QIL-A9260 " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 16:03   ` boris brezillon
  10 siblings, 0 replies; 21+ messages in thread
From: boris brezillon @ 2013-11-15 16:03 UTC (permalink / raw)
  To: linux-arm-kernel

Hello Jean-Christophe,

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/at91rm9200ek.dts | 34 ++++++++++++++++++++++++++++++++++
>   1 file changed, 34 insertions(+)
>
> diff --git a/arch/arm/boot/dts/at91rm9200ek.dts b/arch/arm/boot/dts/at91rm9200ek.dts
> index d2d72c3..3ad79b0 100644
> --- a/arch/arm/boot/dts/at91rm9200ek.dts
> +++ b/arch/arm/boot/dts/at91rm9200ek.dts
> @@ -63,12 +63,46 @@
>   					reg = <0>;
>   				};
>   			};
> +
> +			macb0: ethernet at fffbc000 {
> +				phy-mode = "rmii";
> +				status = "okay";
> +			};

This one is already defined abone usb gadget node (see 
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/at91rm9200ek.dts?id=refs/tags/next-20131115).

Best Regards,

Boris

>   		};
>
>   		usb0: ohci at 00300000 {
>   			num-ports = <2>;
>   			status = "okay";
>   		};
> +
> +		nor_flash at 10000000 {
> +			compatible = "cfi-flash";
> +			reg = <0x10000000 0x800000>;
> +			linux,mtd-name = "physmap-flash.0";
> +			bank-width = <2>;
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			barebox at 0 {
> +				label = "barebox";
> +				reg = <0x00000 0x40000>;
> +			};
> +
> +			bareboxenv at 40000 {
> +				label = "bareboxenv";
> +				reg = <0x40000 0x10000>;
> +			};
> +
> +			kernel at 50000 {
> +				label = "kernel";
> +				reg = <0x50000 0x300000>;
> +			};
> +
> +			root at 350000  {
> +				label = "root";
> +				reg = <0x350000 0x4B0000>;
> +			};
> +		};
>   	};
>
>   	leds {
>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 02/11] ARM: at91: switch 1arm to DT
  2013-11-15 14:49   ` [PATCH 02/11] ARM: at91: switch 1arm to DT Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 16:10     ` boris brezillon
  2013-11-15 17:41       ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 17:27     ` boris brezillon
  1 sibling, 1 reply; 21+ messages in thread
From: boris brezillon @ 2013-11-15 16:10 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 0 {
> +			compatible = "atmel,osc", "fixed-clock";
> +			clock-frequency = <18432000>;
> +		};
> +	};
> +
> +	ahb {
> +		apb {
> +			dbgu: serial at fffff200 {
> +				status = "okay";
> +			};
> +
> +			usart0: serial at fffc0000 {
> +				pinctrl-0 =
> +						<&pinctrl_uart0
> +						 &pinctrl_uart0_rts
> +						 &pinctrl_uart0_cts>;
> +
> +				status = "okay";
> +			};
> +
> +			usart1: serial at 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 at 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 at fffb0000 {
> +				atmel,vbus-gpio = <&pioC 2 0>;
> +				atmel,pullup-gpio = <&pioC 3 0>;
> +				status = "okay";
> +			};
> +		};
> +
> +		usb0: ohci at 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
>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 02/11] ARM: at91: switch 1arm to DT
  2013-11-15 14:49   ` [PATCH 02/11] ARM: at91: switch 1arm to DT Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 16:10     ` boris brezillon
@ 2013-11-15 17:27     ` boris brezillon
  1 sibling, 0 replies; 21+ messages in thread
From: boris brezillon @ 2013-11-15 17:27 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 0 {
> +			compatible = "atmel,osc", "fixed-clock";
> +			clock-frequency = <18432000>;
> +		};
> +	};
> +
> +	ahb {
> +		apb {
> +			dbgu: serial at fffff200 {
> +				status = "okay";
> +			};
> +
> +			usart0: serial at fffc0000 {
> +				pinctrl-0 =
> +						<&pinctrl_uart0
> +						 &pinctrl_uart0_rts
> +						 &pinctrl_uart0_cts>;
> +
> +				status = "okay";
> +			};
> +
> +			usart1: serial at 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 at fffbc000 {
> +				phy-mode = "rmii";
> +				/* phy irq PC4 */
> +				status = "okay";
> +			};
> +
> +			usb1: gadget at 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 at 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
>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 02/11] ARM: at91: switch 1arm to DT
  2013-11-15 16:10     ` boris brezillon
@ 2013-11-15 17:41       ` Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 18:27         ` boris brezillon
  0 siblings, 1 reply; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 17:41 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 0 {
> >+			compatible = "atmel,osc", "fixed-clock";
> >+			clock-frequency = <18432000>;
> >+		};
> >+	};
> >+
> >+	ahb {
> >+		apb {
> >+			dbgu: serial at fffff200 {
> >+				status = "okay";
> >+			};
> >+
> >+			usart0: serial at fffc0000 {
> >+				pinctrl-0 =
> >+						<&pinctrl_uart0
> >+						 &pinctrl_uart0_rts
> >+						 &pinctrl_uart0_cts>;
> >+
> >+				status = "okay";
> >+			};
> >+
> >+			usart1: serial at 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 at 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.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 02/11] ARM: at91: switch 1arm to DT
  2013-11-15 17:41       ` Jean-Christophe PLAGNIOL-VILLARD
@ 2013-11-15 18:27         ` boris brezillon
  2013-11-15 18:33           ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 21+ messages in thread
From: boris brezillon @ 2013-11-15 18:27 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 0 {
>>> +			compatible = "atmel,osc", "fixed-clock";
>>> +			clock-frequency = <18432000>;
>>> +		};
>>> +	};
>>> +
>>> +	ahb {
>>> +		apb {
>>> +			dbgu: serial at fffff200 {
>>> +				status = "okay";
>>> +			};
>>> +
>>> +			usart0: serial at fffc0000 {
>>> +				pinctrl-0 =
>>> +						<&pinctrl_uart0
>>> +						 &pinctrl_uart0_rts
>>> +						 &pinctrl_uart0_cts>;
>>> +
>>> +				status = "okay";
>>> +			};
>>> +
>>> +			usart1: serial at 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 at 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.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 02/11] ARM: at91: switch 1arm to DT
  2013-11-15 18:27         ` boris brezillon
@ 2013-11-15 18:33           ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-11-15 18:33 UTC (permalink / raw)
  To: linux-arm-kernel

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 at 0 {
> >>>+			compatible = "atmel,osc", "fixed-clock";
> >>>+			clock-frequency = <18432000>;
> >>>+		};
> >>>+	};
> >>>+
> >>>+	ahb {
> >>>+		apb {
> >>>+			dbgu: serial at fffff200 {
> >>>+				status = "okay";
> >>>+			};
> >>>+
> >>>+			usart0: serial at fffc0000 {
> >>>+				pinctrl-0 =
> >>>+						<&pinctrl_uart0
> >>>+						 &pinctrl_uart0_rts
> >>>+						 &pinctrl_uart0_cts>;
> >>>+
> >>>+				status = "okay";
> >>>+			};
> >>>+
> >>>+			usart1: serial at 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 at 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.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 00/11] ARM: at91: DT: switch C board to DT
  2013-11-15 14:38 [PATCH 00/11] ARM: at91: DT: switch C board to DT Jean-Christophe PLAGNIOL-VILLARD
  2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
@ 2013-12-09 11:42 ` Nicolas Ferre
  1 sibling, 0 replies; 21+ messages in thread
From: Nicolas Ferre @ 2013-12-09 11:42 UTC (permalink / raw)
  To: linux-arm-kernel

On 15/11/2013 15:38, Jean-Christophe PLAGNIOL-VILLARD :
> Hi,
>
> 	As we have now enough DT support we can start to drop C board support
> 	for some boards
>
> 	Here is the first batch of boards (10) droping.
>
> The following changes since commit 5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52:
>
>    Linux 3.12 (2013-11-03 15:41:51 -0800)
>
> are available in the git repository at:
>
>    git://github.com/at91linux/linux-at91.git j/for-3.14-dt-switch
>
> for you to fetch changes up to 10dd7da058bcb77db271d0ed023fe5dc5be0f75d:
>
>    ARM: at91: switch Calao QIL-A9260 board to DT (2013-11-15 05:06:39 +0800)
>
> ----------------------------------------------------------------
> Jean-Christophe PLAGNIOL-VILLARD (11):
>        ARM: at91: dt: at91rm9200ek: add emac and nor flash support
>        ARM: at91: switch 1arm to DT
>        ARM: at91: switch carmeva to DT
>        ARM: at91: switch kafa board to DT
>        ARM: at91: switch flexibity to DT
>        ARM: at91: switch RSI EWS board to DT
>        ARM: at91: switch Picotux 200 board to DT
>        ARM: at91: switch ecbat91 board to DT
>        ARM: at91: switch kb9202 board to DT
>        ARM: at91: switch csb637 board to DT
>        ARM: at91: switch Calao QIL-A9260 board to DT

Hi,

I didn't have any feedback from any of the board maintainers. Maybe it 
is because they were not in copy of this email.

So I try to collect email addresses and send a heads up with this email...

Jean-Christophe, as I know that you are maintainer for Calao, I take 
this patch only for the moment (and the EK related patch).

Best regards,

>   arch/arm/boot/dts/Makefile                  |  10 +++++++
>   arch/arm/boot/dts/at91-1arm.dts             |  70 ++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-carmeva.dts          | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-csb637.dts           |  83 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-ecbat91.dts          | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-flexibity.dts        | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-kafa.dts             |  79 +++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-kb9202.dts           | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-picotux-200.dts      |  93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-qil_a9260.dts        | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91-rsi-ews.dts          | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/at91rm9200ek.dts          |  34 +++++++++++++++++++++
>   arch/arm/configs/at91rm9200_defconfig       |   7 -----
>   arch/arm/configs/at91sam9260_9g20_defconfig |   2 --
>   arch/arm/mach-at91/Kconfig.non_dt           |  60 -------------------------------------
>   arch/arm/mach-at91/Makefile                 |  10 -------
>   arch/arm/mach-at91/board-1arm.c             |  99 --------------------------------------------------------------
>   arch/arm/mach-at91/board-carmeva.c          | 166 -------------------------------------------------------------------------------------------------------
>   arch/arm/mach-at91/board-csb637.c           | 141 ---------------------------------------------------------------------------------------
>   arch/arm/mach-at91/board-ecbat91.c          | 190 ----------------------------------------------------------------------------------------------------------------------
>   arch/arm/mach-at91/board-flexibity.c        | 168 --------------------------------------------------------------------------------------------------------
>   arch/arm/mach-at91/board-kafa.c             | 112 ----------------------------------------------------------------------
>   arch/arm/mach-at91/board-kb9202.c           | 158 --------------------------------------------------------------------------------------------------
>   arch/arm/mach-at91/board-picotux200.c       | 128 -------------------------------------------------------------------------------
>   arch/arm/mach-at91/board-qil-a9260.c        | 266 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
>   arch/arm/mach-at91/board-rsi-ews.c          | 231 -----------------------------------------------------------------------------------------------------------------------------------------------
>   26 files changed, 1293 insertions(+), 1738 deletions(-)
>   create mode 100644 arch/arm/boot/dts/at91-1arm.dts
>   create mode 100644 arch/arm/boot/dts/at91-carmeva.dts
>   create mode 100644 arch/arm/boot/dts/at91-csb637.dts
>   create mode 100644 arch/arm/boot/dts/at91-ecbat91.dts
>   create mode 100644 arch/arm/boot/dts/at91-flexibity.dts
>   create mode 100644 arch/arm/boot/dts/at91-kafa.dts
>   create mode 100644 arch/arm/boot/dts/at91-kb9202.dts
>   create mode 100644 arch/arm/boot/dts/at91-picotux-200.dts
>   create mode 100644 arch/arm/boot/dts/at91-qil_a9260.dts
>   create mode 100644 arch/arm/boot/dts/at91-rsi-ews.dts
>   delete mode 100644 arch/arm/mach-at91/board-1arm.c
>   delete mode 100644 arch/arm/mach-at91/board-carmeva.c
>   delete mode 100644 arch/arm/mach-at91/board-csb637.c
>   delete mode 100644 arch/arm/mach-at91/board-ecbat91.c
>   delete mode 100644 arch/arm/mach-at91/board-flexibity.c
>   delete mode 100644 arch/arm/mach-at91/board-kafa.c
>   delete mode 100644 arch/arm/mach-at91/board-kb9202.c
>   delete mode 100644 arch/arm/mach-at91/board-picotux200.c
>   delete mode 100644 arch/arm/mach-at91/board-qil-a9260.c
>   delete mode 100644 arch/arm/mach-at91/board-rsi-ews.c
>
> Best Regards,
> J.
>
>


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 11/11] ARM: at91: switch Calao QIL-A9260 board to DT
  2013-11-15 14:50   ` [PATCH 11/11] ARM: at91: switch Calao QIL-A9260 " Jean-Christophe PLAGNIOL-VILLARD
@ 2013-12-13 11:08     ` Nicolas Ferre
  2013-12-13 11:12     ` [PATCH v2 " Nicolas Ferre
  1 sibling, 0 replies; 21+ messages in thread
From: Nicolas Ferre @ 2013-12-13 11:08 UTC (permalink / raw)
  To: linux-arm-kernel

On 15/11/2013 15:50, Jean-Christophe PLAGNIOL-VILLARD :
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>

I corrected several errors: for other patches please check that the same
errors are not applying:
- typo in file header: s/Caloa/Calao/
- DT nodes in address ascending order
- incomplete command line:
  1/ no "mem" parameter, please
  2/ ubi rootfs specification parameters not complete
- node addresses for MTD partitions not aligned with node name
  (I mean, part after the @)

I will not do the same for other patches. So if you identify such
errors, please correct them...

Bye,

> ---
>  arch/arm/boot/dts/Makefile                  |   1 +
>  arch/arm/boot/dts/at91-qil_a9260.dts        | 185 +++++++++++++++++++
>  arch/arm/configs/at91sam9260_9g20_defconfig |   1 -
>  arch/arm/mach-at91/Kconfig.non_dt           |   6 -
>  arch/arm/mach-at91/Makefile                 |   1 -
>  arch/arm/mach-at91/board-qil-a9260.c        | 266 ----------------------------
>  6 files changed, 186 insertions(+), 274 deletions(-)
>  create mode 100644 arch/arm/boot/dts/at91-qil_a9260.dts
>  delete mode 100644 arch/arm/mach-at91/board-qil-a9260.c
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index d042c68..1de1ba2 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -15,6 +15,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-rsi-ews.dtb
>  dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
>  # sam9260
>  dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
> +dtb-$(CONFIG_ARCH_AT91) += at91-qil_a9260.dtb
>  dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb
>  dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb
>  dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb
> diff --git a/arch/arm/boot/dts/at91-qil_a9260.dts b/arch/arm/boot/dts/at91-qil_a9260.dts
> new file mode 100644
> index 0000000..d3d52dd
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91-qil_a9260.dts
> @@ -0,0 +1,185 @@
> +/*
> + * at91-qil_a9260.dts - Device Tree file for Caloa QIL A9260 board
> + *
> + * Copyright (C) 2011-2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> + *
> + * Licensed under GPLv2.
> + */
> +/dts-v1/;
> +#include "at91sam9260.dtsi"
> +/ {
> +	model = "Calao QIL A9260";
> +	compatible = "calao,qil-a9260", "atmel,at91sam9260", "atmel,at91sam9";
> +
> +	chosen {
> +		bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
> +	};
> +
> +	memory {
> +		reg = <0x20000000 0x4000000>;
> +	};
> +
> +	clocks {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;
> +
> +		main_clock: clock at 0 {
> +			compatible = "atmel,osc", "fixed-clock";
> +			clock-frequency = <12000000>;
> +		};
> +	};
> +
> +	ahb {
> +		apb {
> +			shdwc at fffffd10 {
> +				atmel,wakeup-counter = <10>;
> +				atmel,wakeup-rtt-timer;
> +			};
> +
> +			dbgu: serial at fffff200 {
> +				status = "okay";
> +			};
> +
> +			usart0: serial at fffb0000 {
> +				pinctrl-0 =
> +					<&pinctrl_usart0
> +					 &pinctrl_usart0_rts
> +					 &pinctrl_usart0_cts
> +					 &pinctrl_usart0_dtr_dsr
> +					 &pinctrl_usart0_dcd
> +					 &pinctrl_usart0_ri>;
> +				status = "okay";
> +			};
> +
> +			usart1: serial at fffb4000 {
> +				pinctrl-0 =
> +					<&pinctrl_usart1
> +					 &pinctrl_usart1_rts
> +					 &pinctrl_usart1_cts>;
> +				status = "okay";
> +			};
> +
> +			usart2: serial at fffb8000 {
> +				pinctrl-0 =
> +					<&pinctrl_usart2
> +					 &pinctrl_usart2_rts
> +					 &pinctrl_usart2_cts>;
> +				status = "okay";
> +			};
> +
> +			macb0: ethernet at fffc4000 {
> +				phy-mode = "rmii";
> +				status = "okay";
> +			};
> +
> +			usb1: gadget at fffa4000 {
> +				atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
> +				status = "okay";
> +			};
> +
> +			spi0: spi at fffc8000 {
> +				status = "okay";
> +				cs-gpios = <&pioA 3 GPIO_ACTIVE_HIGH>;
> +
> +				m41t94 at 0 {
> +					compatible = "st,m41t94";
> +					reg = <0>;
> +					spi-max-frequency = <1000000>;
> +				};
> +
> +			};
> +
> +			mmc0: mmc at fffa8000 {
> +				pinctrl-0 = <
> +					&pinctrl_mmc0_clk
> +					&pinctrl_mmc0_slot0_cmd_dat0
> +					&pinctrl_mmc0_slot0_dat1_3>;
> +				status = "okay";
> +				slot at 0 {
> +					reg = <0>;
> +					bus-width = <4>;
> +				};
> +			};
> +		};
> +
> +		nand0: nand at 40000000 {
> +			nand-bus-width = <8>;
> +			nand-ecc-mode = "soft";
> +			nand-on-flash-bbt;
> +			status = "okay";
> +
> +			at91bootstrap at 0 {
> +				label = "at91bootstrap";
> +				reg = <0x0 0x20000>;
> +			};
> +
> +			barebox at 20000 {
> +				label = "barebox";
> +				reg = <0x20000 0x40000>;
> +			};
> +
> +			bareboxenv at 60000 {
> +				label = "bareboxenv";
> +				reg = <0x60000 0x20000>;
> +			};
> +
> +			bareboxenv2 at 80000 {
> +				label = "bareboxenv2";
> +				reg = <0x80000 0x20000>;
> +			};
> +
> +			oftree at 80000 {
> +				label = "oftree";
> +				reg = <0xa0000 0x20000>;
> +			};
> +
> +			kernel at a0000 {
> +				label = "kernel";
> +				reg = <0xc0000 0x400000>;
> +			};
> +
> +			rootfs at 4a0000 {
> +				label = "rootfs";
> +				reg = <0x4c0000 0x7800000>;
> +			};
> +
> +			data at 7ca0000 {
> +				label = "data";
> +				reg = <0x7cc0000 0x8340000>;
> +			};
> +		};
> +
> +		usb0: ohci at 00500000 {
> +			num-ports = <2>;
> +			status = "okay";
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		user_led {
> +			label = "user_led";
> +			gpios = <&pioB 21 GPIO_ACTIVE_HIGH>;
> +			linux,default-trigger = "heartbeat";
> +		};
> +	};
> +
> +	gpio_keys {
> +		compatible = "gpio-keys";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		user_pb {
> +			label = "user_pb";
> +			gpios = <&pioB 10 GPIO_ACTIVE_LOW>;
> +			linux,code = <28>;
> +			gpio-key,wakeup;
> +		};
> +	};
> +
> +	i2c at 0 {
> +		status = "okay";
> +	};
> +};
> diff --git a/arch/arm/configs/at91sam9260_9g20_defconfig b/arch/arm/configs/at91sam9260_9g20_defconfig
> index ab66867..64700c31 100644
> --- a/arch/arm/configs/at91sam9260_9g20_defconfig
> +++ b/arch/arm/configs/at91sam9260_9g20_defconfig
> @@ -15,7 +15,6 @@ CONFIG_MACH_AT91SAM9260EK=y
>  CONFIG_MACH_CAM60=y
>  CONFIG_MACH_SAM9_L9260=y
>  CONFIG_MACH_AFEB9260=y
> -CONFIG_MACH_QIL_A9260=y
>  CONFIG_MACH_CPU9260=y
>  CONFIG_MACH_AT91SAM9G20EK=y
>  CONFIG_MACH_AT91SAM9G20EK_2MMC=y
> diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
> index c193a13..d16075a 100644
> --- a/arch/arm/mach-at91/Kconfig.non_dt
> +++ b/arch/arm/mach-at91/Kconfig.non_dt
> @@ -128,12 +128,6 @@ config MACH_AFEB9260
>  	  <svn://194.85.238.22/home/users/george/svn/arm9eb>
>  	  <http://groups.google.com/group/arm9fpga-evolution-board>
>  
> -config MACH_QIL_A9260
> -	bool "CALAO QIL-A9260 board"
> -	help
> -	  Select this if you are using a Calao Systems QIL-A9260 Board.
> -	  <http://www.calao-systems.com>
> -
>  config MACH_CPU9260
>  	bool "Eukrea CPU9260 board"
>  	help
> diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
> index 8eda4b0..fb9ecd4 100644
> --- a/arch/arm/mach-at91/Makefile
> +++ b/arch/arm/mach-at91/Makefile
> @@ -44,7 +44,6 @@ obj-$(CONFIG_MACH_ECO920)	+= board-eco920.o
>  obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o
>  obj-$(CONFIG_MACH_CAM60)	+= board-cam60.o
>  obj-$(CONFIG_MACH_SAM9_L9260)	+= board-sam9-l9260.o
> -obj-$(CONFIG_MACH_QIL_A9260)	+= board-qil-a9260.o
>  obj-$(CONFIG_MACH_AFEB9260)	+= board-afeb-9260v1.o
>  obj-$(CONFIG_MACH_CPU9260)	+= board-cpu9krea.o
>  
> diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
> deleted file mode 100644
> index aa3bc9b..0000000
> --- a/arch/arm/mach-at91/board-qil-a9260.c
> +++ /dev/null
> @@ -1,266 +0,0 @@
> -/*
> - * linux/arch/arm/mach-at91/board-qil-a9260.c
> - *
> - *  Copyright (C) 2005 SAN People
> - *  Copyright (C) 2006 Atmel
> - *  Copyright (C) 2007 Calao-systems
> - *
> - * 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 <linux/spi/spi.h>
> -#include <linux/gpio_keys.h>
> -#include <linux/input.h>
> -#include <linux/clk.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/hardware.h>
> -#include <mach/at91sam9_smc.h>
> -
> -#include "at91_aic.h"
> -#include "at91_shdwc.h"
> -#include "board.h"
> -#include "sam9_smc.h"
> -#include "generic.h"
> -
> -
> -static void __init ek_init_early(void)
> -{
> -	/* Initialize processor: 12.000 MHz crystal */
> -	at91_initialize(12000000);
> -}
> -
> -/*
> - * USB Host port
> - */
> -static struct at91_usbh_data __initdata ek_usbh_data = {
> -	.ports		= 2,
> -	.vbus_pin	= {-EINVAL, -EINVAL},
> -	.overcurrent_pin= {-EINVAL, -EINVAL},
> -};
> -
> -/*
> - * USB Device port
> - */
> -static struct at91_udc_data __initdata ek_udc_data = {
> -	.vbus_pin	= AT91_PIN_PC5,
> -	.pullup_pin	= -EINVAL,		/* pull-up driven by UDC */
> -};
> -
> -/*
> - * SPI devices.
> - */
> -static struct spi_board_info ek_spi_devices[] = {
> -#if defined(CONFIG_RTC_DRV_M41T94)
> -	{	/* M41T94 RTC */
> -		.modalias	= "m41t94",
> -		.chip_select	= 0,
> -		.max_speed_hz	= 1 * 1000 * 1000,
> -		.bus_num	= 0,
> -	}
> -#endif
> -};
> -
> -/*
> - * MACB Ethernet device
> - */
> -static struct macb_platform_data __initdata ek_macb_data = {
> -	.phy_irq_pin	= AT91_PIN_PA31,
> -	.is_rmii	= 1,
> -};
> -
> -/*
> - * NAND flash
> - */
> -static struct mtd_partition __initdata ek_nand_partition[] = {
> -	{
> -		.name	= "Uboot & Kernel",
> -		.offset	= 0,
> -		.size	= SZ_16M,
> -	},
> -	{
> -		.name	= "Root FS",
> -		.offset	= MTDPART_OFS_NXTBLK,
> -		.size	= 120 * SZ_1M,
> -	},
> -	{
> -		.name	= "FS",
> -		.offset	= MTDPART_OFS_NXTBLK,
> -		.size	= 120 * SZ_1M,
> -	},
> -};
> -
> -static struct atmel_nand_data __initdata ek_nand_data = {
> -	.ale		= 21,
> -	.cle		= 22,
> -	.det_pin	= -EINVAL,
> -	.rdy_pin	= AT91_PIN_PC13,
> -	.enable_pin	= AT91_PIN_PC14,
> -	.ecc_mode	= NAND_ECC_SOFT,
> -	.on_flash_bbt	= 1,
> -	.parts		= ek_nand_partition,
> -	.num_parts	= ARRAY_SIZE(ek_nand_partition),
> -};
> -
> -static struct sam9_smc_config __initdata ek_nand_smc_config = {
> -	.ncs_read_setup		= 0,
> -	.nrd_setup		= 1,
> -	.ncs_write_setup	= 0,
> -	.nwe_setup		= 1,
> -
> -	.ncs_read_pulse		= 3,
> -	.nrd_pulse		= 3,
> -	.ncs_write_pulse	= 3,
> -	.nwe_pulse		= 3,
> -
> -	.read_cycle		= 5,
> -	.write_cycle		= 5,
> -
> -	.mode			= AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8,
> -	.tdf_cycles		= 2,
> -};
> -
> -static void __init ek_add_device_nand(void)
> -{
> -	/* configure chip-select 3 (NAND) */
> -	sam9_smc_configure(0, 3, &ek_nand_smc_config);
> -
> -	at91_add_device_nand(&ek_nand_data);
> -}
> -
> -/*
> - * MCI (SD/MMC)
> - */
> -static struct mci_platform_data __initdata ek_mci0_data = {
> -	.slot[0] = {
> -		.bus_width	= 4,
> -		.detect_pin	= -EINVAL,
> -		.wp_pin		= -EINVAL,
> -	},
> -};
> -
> -/*
> - * GPIO Buttons
> - */
> -#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
> -static struct gpio_keys_button ek_buttons[] = {
> -	{	/* USER PUSH BUTTON */
> -		.code		= KEY_ENTER,
> -		.gpio		= AT91_PIN_PB10,
> -		.active_low	= 1,
> -		.desc		= "user_pb",
> -		.wakeup		= 1,
> -	}
> -};
> -
> -static struct gpio_keys_platform_data ek_button_data = {
> -	.buttons	= ek_buttons,
> -	.nbuttons	= ARRAY_SIZE(ek_buttons),
> -};
> -
> -static struct platform_device ek_button_device = {
> -	.name		= "gpio-keys",
> -	.id		= -1,
> -	.num_resources	= 0,
> -	.dev		= {
> -		.platform_data	= &ek_button_data,
> -	}
> -};
> -
> -static void __init ek_add_device_buttons(void)
> -{
> -	at91_set_GPIO_periph(AT91_PIN_PB10, 1);	/* user push button, pull up enabled */
> -	at91_set_deglitch(AT91_PIN_PB10, 1);
> -
> -	platform_device_register(&ek_button_device);
> -}
> -#else
> -static void __init ek_add_device_buttons(void) {}
> -#endif
> -
> -/*
> - * LEDs
> - */
> -static struct gpio_led ek_leds[] = {
> -	{	/* user_led (green) */
> -		.name			= "user_led",
> -		.gpio			= AT91_PIN_PB21,
> -		.active_low		= 0,
> -		.default_trigger	= "heartbeat",
> -	}
> -};
> -
> -static void __init ek_board_init(void)
> -{
> -	/* Serial */
> -	/* DBGU on ttyS0. (Rx & Tx only) */
> -	at91_register_uart(0, 0, 0);
> -
> -	/* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
> -	at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
> -			   | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
> -			   | ATMEL_UART_RI);
> -
> -	/* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */
> -	at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
> -
> -	/* USART2 on ttyS3. (Rx, Tx, CTS, RTS) */
> -	at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | ATMEL_UART_RTS);
> -	at91_add_device_serial();
> -	/* USB Host */
> -	at91_add_device_usbh(&ek_usbh_data);
> -	/* USB Device */
> -	at91_add_device_udc(&ek_udc_data);
> -	/* SPI */
> -	at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
> -	/* NAND */
> -	ek_add_device_nand();
> -	/* I2C */
> -	at91_add_device_i2c(NULL, 0);
> -	/* Ethernet */
> -	at91_add_device_eth(&ek_macb_data);
> -	/* MMC */
> -	at91_add_device_mci(0, &ek_mci0_data);
> -	/* Push Buttons */
> -	ek_add_device_buttons();
> -	/* LEDs */
> -	at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
> -	/* shutdown controller, wakeup button (5 msec low) */
> -	at91_shdwc_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10) | AT91_SHDW_WKMODE0_LOW
> -				| AT91_SHDW_RTTWKEN);
> -}
> -
> -MACHINE_START(QIL_A9260, "CALAO QIL_A9260")
> -	/* Maintainer: calao-systems */
> -	.init_time	= at91sam926x_pit_init,
> -	.map_io		= at91_map_io,
> -	.handle_irq	= at91_aic_handle_irq,
> -	.init_early	= ek_init_early,
> -	.init_irq	= at91_init_irq_default,
> -	.init_machine	= ek_board_init,
> -MACHINE_END
> 


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH v2 11/11] ARM: at91: switch Calao QIL-A9260 board to DT
  2013-11-15 14:50   ` [PATCH 11/11] ARM: at91: switch Calao QIL-A9260 " Jean-Christophe PLAGNIOL-VILLARD
  2013-12-13 11:08     ` Nicolas Ferre
@ 2013-12-13 11:12     ` Nicolas Ferre
  1 sibling, 0 replies; 21+ messages in thread
From: Nicolas Ferre @ 2013-12-13 11:12 UTC (permalink / raw)
  To: linux-arm-kernel

From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
[nicolas.ferre at atmel.com: typo, nodes in address ascending order, shrink cmdline]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---
 arch/arm/boot/dts/Makefile                  |   1 +
 arch/arm/boot/dts/at91-qil_a9260.dts        | 185 +++++++++++++++++++
 arch/arm/configs/at91sam9260_9g20_defconfig |   1 -
 arch/arm/mach-at91/Kconfig.non_dt           |   6 -
 arch/arm/mach-at91/Makefile                 |   1 -
 arch/arm/mach-at91/board-qil-a9260.c        | 266 ----------------------------
 6 files changed, 186 insertions(+), 274 deletions(-)
 create mode 100644 arch/arm/boot/dts/at91-qil_a9260.dts
 delete mode 100644 arch/arm/mach-at91/board-qil-a9260.c

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 772a30e06e48..5ca91fcb6377 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
 dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
 # sam9260
 dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
+dtb-$(CONFIG_ARCH_AT91) += at91-qil_a9260.dtb
 dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb
 dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb
 dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb
diff --git a/arch/arm/boot/dts/at91-qil_a9260.dts b/arch/arm/boot/dts/at91-qil_a9260.dts
new file mode 100644
index 000000000000..5576ae8786c0
--- /dev/null
+++ b/arch/arm/boot/dts/at91-qil_a9260.dts
@@ -0,0 +1,185 @@
+/*
+ * at91-qil_a9260.dts - Device Tree file for Calao QIL A9260 board
+ *
+ * Copyright (C) 2011-2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Licensed under GPLv2.
+ */
+/dts-v1/;
+#include "at91sam9260.dtsi"
+/ {
+	model = "Calao QIL A9260";
+	compatible = "calao,qil-a9260", "atmel,at91sam9260", "atmel,at91sam9";
+
+	chosen {
+		bootargs = "console=ttyS0,115200";
+	};
+
+	memory {
+		reg = <0x20000000 0x4000000>;
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		main_clock: clock at 0 {
+			compatible = "atmel,osc", "fixed-clock";
+			clock-frequency = <12000000>;
+		};
+	};
+
+	ahb {
+		apb {
+			usb1: gadget at fffa4000 {
+				atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
+				status = "okay";
+			};
+
+			mmc0: mmc at fffa8000 {
+				pinctrl-0 = <
+					&pinctrl_mmc0_clk
+					&pinctrl_mmc0_slot0_cmd_dat0
+					&pinctrl_mmc0_slot0_dat1_3>;
+				status = "okay";
+				slot at 0 {
+					reg = <0>;
+					bus-width = <4>;
+				};
+			};
+
+			usart0: serial at fffb0000 {
+				pinctrl-0 =
+					<&pinctrl_usart0
+					 &pinctrl_usart0_rts
+					 &pinctrl_usart0_cts
+					 &pinctrl_usart0_dtr_dsr
+					 &pinctrl_usart0_dcd
+					 &pinctrl_usart0_ri>;
+				status = "okay";
+			};
+
+			usart1: serial at fffb4000 {
+				pinctrl-0 =
+					<&pinctrl_usart1
+					 &pinctrl_usart1_rts
+					 &pinctrl_usart1_cts>;
+				status = "okay";
+			};
+
+			usart2: serial at fffb8000 {
+				pinctrl-0 =
+					<&pinctrl_usart2
+					 &pinctrl_usart2_rts
+					 &pinctrl_usart2_cts>;
+				status = "okay";
+			};
+
+			macb0: ethernet at fffc4000 {
+				phy-mode = "rmii";
+				status = "okay";
+			};
+
+			spi0: spi at fffc8000 {
+				status = "okay";
+				cs-gpios = <&pioA 3 GPIO_ACTIVE_HIGH>;
+
+				m41t94 at 0 {
+					compatible = "st,m41t94";
+					reg = <0>;
+					spi-max-frequency = <1000000>;
+				};
+
+			};
+
+			dbgu: serial at fffff200 {
+				status = "okay";
+			};
+
+			shdwc at fffffd10 {
+				atmel,wakeup-counter = <10>;
+				atmel,wakeup-rtt-timer;
+			};
+		};
+
+		usb0: ohci at 00500000 {
+			num-ports = <2>;
+			status = "okay";
+		};
+
+		nand0: nand at 40000000 {
+			nand-bus-width = <8>;
+			nand-ecc-mode = "soft";
+			nand-on-flash-bbt;
+			status = "okay";
+
+			at91bootstrap at 0 {
+				label = "at91bootstrap";
+				reg = <0x0 0x20000>;
+			};
+
+			barebox at 20000 {
+				label = "barebox";
+				reg = <0x20000 0x40000>;
+			};
+
+			bareboxenv at 60000 {
+				label = "bareboxenv";
+				reg = <0x60000 0x20000>;
+			};
+
+			bareboxenv2 at 80000 {
+				label = "bareboxenv2";
+				reg = <0x80000 0x20000>;
+			};
+
+			oftree at a0000 {
+				label = "oftree";
+				reg = <0xa0000 0x20000>;
+			};
+
+			kernel at c0000 {
+				label = "kernel";
+				reg = <0xc0000 0x400000>;
+			};
+
+			rootfs at 4c0000 {
+				label = "rootfs";
+				reg = <0x4c0000 0x7800000>;
+			};
+
+			data at 7cc0000 {
+				label = "data";
+				reg = <0x7cc0000 0x8340000>;
+			};
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		user_led {
+			label = "user_led";
+			gpios = <&pioB 21 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		user_pb {
+			label = "user_pb";
+			gpios = <&pioB 10 GPIO_ACTIVE_LOW>;
+			linux,code = <28>;
+			gpio-key,wakeup;
+		};
+	};
+
+	i2c at 0 {
+		status = "okay";
+	};
+};
diff --git a/arch/arm/configs/at91sam9260_9g20_defconfig b/arch/arm/configs/at91sam9260_9g20_defconfig
index 69b6928d3d9d..9c4afd3fa63b 100644
--- a/arch/arm/configs/at91sam9260_9g20_defconfig
+++ b/arch/arm/configs/at91sam9260_9g20_defconfig
@@ -15,7 +15,6 @@ CONFIG_MACH_AT91SAM9260EK=y
 CONFIG_MACH_CAM60=y
 CONFIG_MACH_SAM9_L9260=y
 CONFIG_MACH_AFEB9260=y
-CONFIG_MACH_QIL_A9260=y
 CONFIG_MACH_CPU9260=y
 CONFIG_MACH_FLEXIBITY=y
 CONFIG_MACH_AT91SAM9G20EK=y
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index b736b571e882..091caa021977 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -182,12 +182,6 @@ config MACH_AFEB9260
 	  <svn://194.85.238.22/home/users/george/svn/arm9eb>
 	  <http://groups.google.com/group/arm9fpga-evolution-board>
 
-config MACH_QIL_A9260
-	bool "CALAO QIL-A9260 board"
-	help
-	  Select this if you are using a Calao Systems QIL-A9260 Board.
-	  <http://www.calao-systems.com>
-
 config MACH_CPU9260
 	bool "Eukrea CPU9260 board"
 	help
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 705b38a179ec..78e9cec282f4 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -52,7 +52,6 @@ obj-$(CONFIG_MACH_RSI_EWS)	+= board-rsi-ews.o
 obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o
 obj-$(CONFIG_MACH_CAM60)	+= board-cam60.o
 obj-$(CONFIG_MACH_SAM9_L9260)	+= board-sam9-l9260.o
-obj-$(CONFIG_MACH_QIL_A9260)	+= board-qil-a9260.o
 obj-$(CONFIG_MACH_AFEB9260)	+= board-afeb-9260v1.o
 obj-$(CONFIG_MACH_CPU9260)	+= board-cpu9krea.o
 obj-$(CONFIG_MACH_FLEXIBITY)	+= board-flexibity.o
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
deleted file mode 100644
index aa3bc9b0f150..000000000000
--- a/arch/arm/mach-at91/board-qil-a9260.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * linux/arch/arm/mach-at91/board-qil-a9260.c
- *
- *  Copyright (C) 2005 SAN People
- *  Copyright (C) 2006 Atmel
- *  Copyright (C) 2007 Calao-systems
- *
- * 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 <linux/spi/spi.h>
-#include <linux/gpio_keys.h>
-#include <linux/input.h>
-#include <linux/clk.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/hardware.h>
-#include <mach/at91sam9_smc.h>
-
-#include "at91_aic.h"
-#include "at91_shdwc.h"
-#include "board.h"
-#include "sam9_smc.h"
-#include "generic.h"
-
-
-static void __init ek_init_early(void)
-{
-	/* Initialize processor: 12.000 MHz crystal */
-	at91_initialize(12000000);
-}
-
-/*
- * USB Host port
- */
-static struct at91_usbh_data __initdata ek_usbh_data = {
-	.ports		= 2,
-	.vbus_pin	= {-EINVAL, -EINVAL},
-	.overcurrent_pin= {-EINVAL, -EINVAL},
-};
-
-/*
- * USB Device port
- */
-static struct at91_udc_data __initdata ek_udc_data = {
-	.vbus_pin	= AT91_PIN_PC5,
-	.pullup_pin	= -EINVAL,		/* pull-up driven by UDC */
-};
-
-/*
- * SPI devices.
- */
-static struct spi_board_info ek_spi_devices[] = {
-#if defined(CONFIG_RTC_DRV_M41T94)
-	{	/* M41T94 RTC */
-		.modalias	= "m41t94",
-		.chip_select	= 0,
-		.max_speed_hz	= 1 * 1000 * 1000,
-		.bus_num	= 0,
-	}
-#endif
-};
-
-/*
- * MACB Ethernet device
- */
-static struct macb_platform_data __initdata ek_macb_data = {
-	.phy_irq_pin	= AT91_PIN_PA31,
-	.is_rmii	= 1,
-};
-
-/*
- * NAND flash
- */
-static struct mtd_partition __initdata ek_nand_partition[] = {
-	{
-		.name	= "Uboot & Kernel",
-		.offset	= 0,
-		.size	= SZ_16M,
-	},
-	{
-		.name	= "Root FS",
-		.offset	= MTDPART_OFS_NXTBLK,
-		.size	= 120 * SZ_1M,
-	},
-	{
-		.name	= "FS",
-		.offset	= MTDPART_OFS_NXTBLK,
-		.size	= 120 * SZ_1M,
-	},
-};
-
-static struct atmel_nand_data __initdata ek_nand_data = {
-	.ale		= 21,
-	.cle		= 22,
-	.det_pin	= -EINVAL,
-	.rdy_pin	= AT91_PIN_PC13,
-	.enable_pin	= AT91_PIN_PC14,
-	.ecc_mode	= NAND_ECC_SOFT,
-	.on_flash_bbt	= 1,
-	.parts		= ek_nand_partition,
-	.num_parts	= ARRAY_SIZE(ek_nand_partition),
-};
-
-static struct sam9_smc_config __initdata ek_nand_smc_config = {
-	.ncs_read_setup		= 0,
-	.nrd_setup		= 1,
-	.ncs_write_setup	= 0,
-	.nwe_setup		= 1,
-
-	.ncs_read_pulse		= 3,
-	.nrd_pulse		= 3,
-	.ncs_write_pulse	= 3,
-	.nwe_pulse		= 3,
-
-	.read_cycle		= 5,
-	.write_cycle		= 5,
-
-	.mode			= AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8,
-	.tdf_cycles		= 2,
-};
-
-static void __init ek_add_device_nand(void)
-{
-	/* configure chip-select 3 (NAND) */
-	sam9_smc_configure(0, 3, &ek_nand_smc_config);
-
-	at91_add_device_nand(&ek_nand_data);
-}
-
-/*
- * MCI (SD/MMC)
- */
-static struct mci_platform_data __initdata ek_mci0_data = {
-	.slot[0] = {
-		.bus_width	= 4,
-		.detect_pin	= -EINVAL,
-		.wp_pin		= -EINVAL,
-	},
-};
-
-/*
- * GPIO Buttons
- */
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
-static struct gpio_keys_button ek_buttons[] = {
-	{	/* USER PUSH BUTTON */
-		.code		= KEY_ENTER,
-		.gpio		= AT91_PIN_PB10,
-		.active_low	= 1,
-		.desc		= "user_pb",
-		.wakeup		= 1,
-	}
-};
-
-static struct gpio_keys_platform_data ek_button_data = {
-	.buttons	= ek_buttons,
-	.nbuttons	= ARRAY_SIZE(ek_buttons),
-};
-
-static struct platform_device ek_button_device = {
-	.name		= "gpio-keys",
-	.id		= -1,
-	.num_resources	= 0,
-	.dev		= {
-		.platform_data	= &ek_button_data,
-	}
-};
-
-static void __init ek_add_device_buttons(void)
-{
-	at91_set_GPIO_periph(AT91_PIN_PB10, 1);	/* user push button, pull up enabled */
-	at91_set_deglitch(AT91_PIN_PB10, 1);
-
-	platform_device_register(&ek_button_device);
-}
-#else
-static void __init ek_add_device_buttons(void) {}
-#endif
-
-/*
- * LEDs
- */
-static struct gpio_led ek_leds[] = {
-	{	/* user_led (green) */
-		.name			= "user_led",
-		.gpio			= AT91_PIN_PB21,
-		.active_low		= 0,
-		.default_trigger	= "heartbeat",
-	}
-};
-
-static void __init ek_board_init(void)
-{
-	/* Serial */
-	/* DBGU on ttyS0. (Rx & Tx only) */
-	at91_register_uart(0, 0, 0);
-
-	/* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
-	at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
-			   | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
-			   | ATMEL_UART_RI);
-
-	/* USART1 on ttyS2. (Rx, Tx, CTS, RTS) */
-	at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
-
-	/* USART2 on ttyS3. (Rx, Tx, CTS, RTS) */
-	at91_register_uart(AT91SAM9260_ID_US2, 3, ATMEL_UART_CTS | ATMEL_UART_RTS);
-	at91_add_device_serial();
-	/* USB Host */
-	at91_add_device_usbh(&ek_usbh_data);
-	/* USB Device */
-	at91_add_device_udc(&ek_udc_data);
-	/* SPI */
-	at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
-	/* NAND */
-	ek_add_device_nand();
-	/* I2C */
-	at91_add_device_i2c(NULL, 0);
-	/* Ethernet */
-	at91_add_device_eth(&ek_macb_data);
-	/* MMC */
-	at91_add_device_mci(0, &ek_mci0_data);
-	/* Push Buttons */
-	ek_add_device_buttons();
-	/* LEDs */
-	at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
-	/* shutdown controller, wakeup button (5 msec low) */
-	at91_shdwc_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10) | AT91_SHDW_WKMODE0_LOW
-				| AT91_SHDW_RTTWKEN);
-}
-
-MACHINE_START(QIL_A9260, "CALAO QIL_A9260")
-	/* Maintainer: calao-systems */
-	.init_time	= at91sam926x_pit_init,
-	.map_io		= at91_map_io,
-	.handle_irq	= at91_aic_handle_irq,
-	.init_early	= ek_init_early,
-	.init_irq	= at91_init_irq_default,
-	.init_machine	= ek_board_init,
-MACHINE_END
-- 
1.8.2.2

^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2013-12-13 11:12 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-15 14:38 [PATCH 00/11] ARM: at91: DT: switch C board to DT Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:49 ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:49   ` [PATCH 02/11] ARM: at91: switch 1arm to DT Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 16:10     ` boris brezillon
2013-11-15 17:41       ` Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 18:27         ` boris brezillon
2013-11-15 18:33           ` Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 17:27     ` boris brezillon
2013-11-15 14:49   ` [PATCH 03/11] ARM: at91: switch carmeva " Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:49   ` [PATCH 04/11] ARM: at91: switch kafa board " Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:50   ` [PATCH 05/11] ARM: at91: switch flexibity " Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:50   ` [PATCH 06/11] ARM: at91: switch RSI EWS board " Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:50   ` [PATCH 07/11] ARM: at91: switch Picotux 200 " Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:50   ` [PATCH 08/11] ARM: at91: switch ecbat91 " Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:50   ` [PATCH 09/11] ARM: at91: switch kb9202 " Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:50   ` [PATCH 10/11] ARM: at91: switch csb637 " Jean-Christophe PLAGNIOL-VILLARD
2013-11-15 14:50   ` [PATCH 11/11] ARM: at91: switch Calao QIL-A9260 " Jean-Christophe PLAGNIOL-VILLARD
2013-12-13 11:08     ` Nicolas Ferre
2013-12-13 11:12     ` [PATCH v2 " Nicolas Ferre
2013-11-15 16:03   ` [PATCH 01/11] ARM: at91: dt: at91rm9200ek: add emac and nor flash support boris brezillon
2013-12-09 11:42 ` [PATCH 00/11] ARM: at91: DT: switch C board to DT Nicolas Ferre

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.