mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III)
@ 2017-03-23 13:23 Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 01/14] at91sam9x5ek: Convert to mult-image build Andrey Smirnov
                   ` (14 more replies)
  0 siblings, 15 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Hi everone,

As discussed in original thread [1], here is a last batch of AT91
related patches. The patches gathered in this set are all related to
converting of at91sam9x5ek board to multi-image build process and DT.

With exception of a small fix to original "at91sam9x5ek: Convert to
mult-image build" and a number of comment/commit message rewordings
the code should mostly be the same as it was in original submission
[1]

Any feedback is appreciated.

Thank you,
Andrey Smirnov

[1] http://lists.infradead.org/pipermail/barebox/2017-March/029337.html

Andrey Smirnov (14):
  at91sam9x5ek: Convert to mult-image build
  at91sam9x5ek: Add CONFIG_KALLSYMS to defconfig
  at91sam9x5ek: Add preliminary device tree support
  at91sam9x5ek: Convert to use DT clock tree
  at91sam9x5ek: Remove at91sam9x5ek_mem_init()
  at91: Enable PINCTRL for SOC_AT91SAM9
  at91sam9x5ek: Configure LEDs in DT
  at91sam9x5ek: Configure I2C via DT
  at91sam9x5ek: Configure MMC in DT
  at91sam9x5ek: Configure SPI in DT
  at91sam9x5ek: Configure 1-wire in DT
  at91sam9x5ek: Configure USB in DT
  at91sam9x5ek: Configure Ethernet in DT
  at91sam9x5ek: Configure NAND in DT

 arch/arm/Kconfig                          |   1 -
 arch/arm/boards/at91sam9x5ek/Makefile     |   1 +
 arch/arm/boards/at91sam9x5ek/hw_version.c |   6 +-
 arch/arm/boards/at91sam9x5ek/hw_version.h |   1 -
 arch/arm/boards/at91sam9x5ek/init.c       | 226 +++-------------------
 arch/arm/boards/at91sam9x5ek/lowlevel.c   |  21 ++
 arch/arm/configs/at91sam9x5ek_defconfig   |   8 +-
 arch/arm/dts/Makefile                     |   2 +
 arch/arm/dts/at91sam9x5ek.dts             |  70 +++++++
 arch/arm/mach-at91/Kconfig                |  46 +++--
 arch/arm/mach-at91/Makefile               |   2 +-
 arch/arm/mach-at91/at91sam9x5.c           | 311 ------------------------------
 arch/arm/mach-at91/setup.c                |   4 +-
 images/Makefile                           |   1 +
 images/Makefile.at91                      |   7 +
 15 files changed, 176 insertions(+), 531 deletions(-)
 create mode 100644 arch/arm/boards/at91sam9x5ek/lowlevel.c
 create mode 100644 arch/arm/dts/at91sam9x5ek.dts
 delete mode 100644 arch/arm/mach-at91/at91sam9x5.c
 create mode 100644 images/Makefile.at91

-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 01/14] at91sam9x5ek: Convert to mult-image build
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-04-16  8:24   ` Sam Ravnborg
  2017-03-23 13:23 ` [PATCH 02/14] at91sam9x5ek: Add CONFIG_KALLSYMS to defconfig Andrey Smirnov
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Convert AT91SAM9X5-EK board code to multi-image build process, similar
to how majority of i.MX board code is built.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/Kconfig                        |  1 -
 arch/arm/boards/at91sam9x5ek/Makefile   |  1 +
 arch/arm/boards/at91sam9x5ek/lowlevel.c | 16 +++++++++++++
 arch/arm/configs/at91sam9x5ek_defconfig |  4 +++-
 arch/arm/mach-at91/Kconfig              | 40 +++++++++++++++++++--------------
 images/Makefile                         |  1 +
 images/Makefile.at91                    |  7 ++++++
 7 files changed, 51 insertions(+), 19 deletions(-)
 create mode 100644 arch/arm/boards/at91sam9x5ek/lowlevel.c
 create mode 100644 images/Makefile.at91

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e9d96b7..2b9aa60 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -52,7 +52,6 @@ config ARCH_AT91
 	select GPIOLIB
 	select CLKDEV_LOOKUP
 	select HAS_DEBUG_LL
-	select HAVE_MACH_ARM_HEAD
 	select HAVE_CLK
 	select PINCTRL_AT91
 	select COMMON_CLK_AT91 if COMMON_CLK_OF_PROVIDER
diff --git a/arch/arm/boards/at91sam9x5ek/Makefile b/arch/arm/boards/at91sam9x5ek/Makefile
index 559df8f..4939b7e 100644
--- a/arch/arm/boards/at91sam9x5ek/Makefile
+++ b/arch/arm/boards/at91sam9x5ek/Makefile
@@ -1,3 +1,4 @@
 obj-y += init.o
 obj-y += hw_version.o
 bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-at91sam9x5ek
+lwl-y += lowlevel.o
diff --git a/arch/arm/boards/at91sam9x5ek/lowlevel.c b/arch/arm/boards/at91sam9x5ek/lowlevel.c
new file mode 100644
index 0000000..9b5c926
--- /dev/null
+++ b/arch/arm/boards/at91sam9x5ek/lowlevel.c
@@ -0,0 +1,16 @@
+#include <common.h>
+#include <linux/sizes.h>
+#include <mach/at91sam9_ddrsdr.h>
+#include <asm/barebox-arm-head.h>
+#include <asm/barebox-arm.h>
+#include <io.h>
+#include <debug_ll.h>
+
+
+ENTRY_FUNCTION(start_at91sam9x5ek, r0, r1, r2)
+{
+	arm_cpu_lowlevel_init();
+	arm_setup_stack(AT91SAM9X5_SRAM_BASE + AT91SAM9X5_SRAM_SIZE - 16);
+
+	barebox_arm_entry(AT91_CHIPSELECT_1, at91sam9x5_get_ddram_size(), NULL);
+}
diff --git a/arch/arm/configs/at91sam9x5ek_defconfig b/arch/arm/configs/at91sam9x5ek_defconfig
index 6ee0052..76ee3d9 100644
--- a/arch/arm/configs/at91sam9x5ek_defconfig
+++ b/arch/arm/configs/at91sam9x5ek_defconfig
@@ -1,12 +1,14 @@
 CONFIG_ARCH_AT91SAM9X5=y
+CONFIG_AT91_MULTI_BOARDS=y
+CONFIG_MACH_AT91SAM9X5EK=y
 CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
 CONFIG_AEABI=y
 CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_PBL_IMAGE=y
 CONFIG_MMU=y
 CONFIG_MALLOC_SIZE=0xa00000
 CONFIG_EXPERIMENTAL=y
 CONFIG_MALLOC_TLSF=y
+CONFIG_RELOCATABLE=y
 CONFIG_PROMPT="9G20-EK:"
 CONFIG_GLOB=y
 CONFIG_PROMPT_HUSH_PS2="y"
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 4ac69fc..67238f8 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -160,18 +160,22 @@ config ARCH_AT91SAM9261
 config ARCH_AT91SAM9263
 	bool "AT91SAM9263"
 	select SOC_AT91SAM9263
+	select HAVE_MACH_ARM_HEAD
 
 config ARCH_AT91SAM9G10
 	bool "AT91SAM9G10"
 	select SOC_AT91SAM9261
+	select HAVE_MACH_ARM_HEAD
 
 config ARCH_AT91SAM9G20
 	bool "AT91SAM9G20"
 	select SOC_AT91SAM9260
+	select HAVE_MACH_ARM_HEAD
 
 config ARCH_AT91SAM9G45
 	bool "AT91SAM9G45 or AT91SAM9M10"
 	select SOC_AT91SAM9G45
+	select HAVE_MACH_ARM_HEAD
 
 config ARCH_AT91SAM9X5
 	bool "AT91SAM9X5"
@@ -180,6 +184,7 @@ config ARCH_AT91SAM9X5
 config ARCH_AT91SAM9N12
 	bool "AT91SAM9N12"
 	select SOC_AT91SAM9N12
+	select HAVE_MACH_ARM_HEAD
 
 config ARCH_SAMA5D3
 	bool "SAMA5D3x"
@@ -187,6 +192,7 @@ config ARCH_SAMA5D3
 	select HAVE_AT91_DBGU1
 	select HAS_MACB
 	select AT91SAM9G45_RESET
+	select HAVE_MACH_ARM_HEAD
 
 config ARCH_SAMA5D4
 	bool "SAMA5D4"
@@ -194,6 +200,7 @@ config ARCH_SAMA5D4
 	select HAVE_AT91_DBGU2
 	select HAS_MACB
 	select AT91SAM9G45_RESET
+	select HAVE_MACH_ARM_HEAD
 
 endchoice
 
@@ -449,23 +456,6 @@ endif
 
 # ----------------------------------------------------------
 
-if ARCH_AT91SAM9X5
-
-choice
-	prompt "AT91SAM9x5 Series Board Type"
-
-config MACH_AT91SAM9X5EK
-	bool "Atmel AT91SAM9x5 Series Evaluation Kit"
-	help
-	  Select this if you re using Atmel's AT91SAM9x5-EK Evaluation Kit.
-	  Supported chips are sam9g15, sam9g25, sam9x25, sam9g35 and sam9x35.
-
-endchoice
-
-endif
-
-# ----------------------------------------------------------
-
 if ARCH_AT91SAM9N12
 
 choice
@@ -524,6 +514,22 @@ endif
 
 # ----------------------------------------------------------
 
+
+config AT91_MULTI_BOARDS
+	bool "Allow multiple boards to be selected"
+	select HAVE_PBL_MULTI_IMAGES
+
+if AT91_MULTI_BOARDS
+
+config MACH_AT91SAM9X5EK
+	bool "Atmel AT91SAM9x5 Series Evaluation Kit"
+	depends on ARCH_AT91SAM9X5
+	help
+	  Select this if you re using Atmel's AT91SAM9x5-EK Evaluation Kit.
+	  Supported chips are sam9g15, sam9g25, sam9x25, sam9g35 and sam9x35.
+
+endif
+
 comment "AT91 Board Options"
 
 config MTD_AT91_DATAFLASH_CARD
diff --git a/images/Makefile b/images/Makefile
index 0537af1..2e84ba7 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -110,6 +110,7 @@ include $(srctree)/images/Makefile.omap3
 include $(srctree)/images/Makefile.rockchip
 include $(srctree)/images/Makefile.socfpga
 include $(srctree)/images/Makefile.tegra
+include $(srctree)/images/Makefile.at91
 
 targets += $(image-y) pbl.lds barebox.x barebox.z
 targets += $(patsubst %,%.pblx,$(pblx-y))
diff --git a/images/Makefile.at91 b/images/Makefile.at91
new file mode 100644
index 0000000..686d501
--- /dev/null
+++ b/images/Makefile.at91
@@ -0,0 +1,7 @@
+#
+# barebox image generation Makefile for AT91 images
+#
+
+pblx-$(MACH_AT91SAM9X5EK) += start_at91sam9x5ek
+FILE_barebox-at91sam9x5ek.img = start_at91sam9x5ek.pblx
+image-$(MACH_AT91SAM9X5EK) += barebox-at91sam9x5ek.img
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 02/14] at91sam9x5ek: Add CONFIG_KALLSYMS to defconfig
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 01/14] at91sam9x5ek: Convert to mult-image build Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 03/14] at91sam9x5ek: Add preliminary device tree support Andrey Smirnov
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/configs/at91sam9x5ek_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/at91sam9x5ek_defconfig b/arch/arm/configs/at91sam9x5ek_defconfig
index 76ee3d9..d6f18b2 100644
--- a/arch/arm/configs/at91sam9x5ek_defconfig
+++ b/arch/arm/configs/at91sam9x5ek_defconfig
@@ -8,6 +8,7 @@ CONFIG_MMU=y
 CONFIG_MALLOC_SIZE=0xa00000
 CONFIG_EXPERIMENTAL=y
 CONFIG_MALLOC_TLSF=y
+CONFIG_KALLSYMS=y
 CONFIG_RELOCATABLE=y
 CONFIG_PROMPT="9G20-EK:"
 CONFIG_GLOB=y
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 03/14] at91sam9x5ek: Add preliminary device tree support
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 01/14] at91sam9x5ek: Convert to mult-image build Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 02/14] at91sam9x5ek: Add CONFIG_KALLSYMS to defconfig Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 04/14] at91sam9x5ek: Convert to use DT clock tree Andrey Smirnov
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Add basic code to build and pass board device tree blob to Barebox
initialization code.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/lowlevel.c | 7 ++++++-
 arch/arm/configs/at91sam9x5ek_defconfig | 2 ++
 arch/arm/dts/Makefile                   | 2 ++
 arch/arm/dts/at91sam9x5ek.dts           | 9 +++++++++
 arch/arm/mach-at91/Kconfig              | 1 +
 5 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/at91sam9x5ek.dts

diff --git a/arch/arm/boards/at91sam9x5ek/lowlevel.c b/arch/arm/boards/at91sam9x5ek/lowlevel.c
index 9b5c926..acf80d7 100644
--- a/arch/arm/boards/at91sam9x5ek/lowlevel.c
+++ b/arch/arm/boards/at91sam9x5ek/lowlevel.c
@@ -6,11 +6,16 @@
 #include <io.h>
 #include <debug_ll.h>
 
+extern char __dtb_at91sam9x5ek_start[];
 
 ENTRY_FUNCTION(start_at91sam9x5ek, r0, r1, r2)
 {
+	void *fdt;
+
 	arm_cpu_lowlevel_init();
 	arm_setup_stack(AT91SAM9X5_SRAM_BASE + AT91SAM9X5_SRAM_SIZE - 16);
 
-	barebox_arm_entry(AT91_CHIPSELECT_1, at91sam9x5_get_ddram_size(), NULL);
+	fdt = __dtb_at91sam9x5ek_start - get_runtime_offset();
+
+	barebox_arm_entry(AT91_CHIPSELECT_1, at91sam9x5_get_ddram_size(), fdt);
 }
diff --git a/arch/arm/configs/at91sam9x5ek_defconfig b/arch/arm/configs/at91sam9x5ek_defconfig
index d6f18b2..0691145 100644
--- a/arch/arm/configs/at91sam9x5ek_defconfig
+++ b/arch/arm/configs/at91sam9x5ek_defconfig
@@ -51,6 +51,7 @@ CONFIG_CMD_OFTREE=y
 CONFIG_NET=y
 CONFIG_NET_NFS=y
 CONFIG_NET_NETCONSOLE=y
+CONFIG_OF_BAREBOX_DRIVERS=y
 CONFIG_DRIVER_NET_MACB=y
 CONFIG_NET_USB=y
 CONFIG_NET_USB_ASIX=y
@@ -74,6 +75,7 @@ CONFIG_USB_STORAGE=y
 CONFIG_MCI=y
 CONFIG_MCI_STARTUP=y
 CONFIG_MCI_ATMEL=y
+CONFIG_MFD_SYSCON=y
 CONFIG_LED=y
 CONFIG_LED_GPIO=y
 CONFIG_LED_TRIGGERS=y
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 70359d8..c9a0946 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -89,5 +89,7 @@ pbl-dtb-$(CONFIG_MACH_ZII_VF610_DEV) += \
 	vf610-zii-spu3-rev-a.dtb.o	\
 	vf610-zii-scu4-aib-rev-c.dtb.o
 
+pbl-dtb-$(CONFIG_MACH_AT91SAM9X5EK) += at91sam9x5ek.dtb.o
+
 
 clean-files := *.dtb *.dtb.S .*.dtc .*.pre .*.dts *.dtb.lzo
diff --git a/arch/arm/dts/at91sam9x5ek.dts b/arch/arm/dts/at91sam9x5ek.dts
new file mode 100644
index 0000000..db1bd67
--- /dev/null
+++ b/arch/arm/dts/at91sam9x5ek.dts
@@ -0,0 +1,9 @@
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/at91.h>
+
+#include <arm/at91sam9x5.dtsi>
+#include <arm/at91sam9x5_lcd.dtsi>
+#include <arm/at91sam9x5dm.dtsi>
+#include <arm/at91sam9x5ek.dtsi>
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 67238f8..2870bf3 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -180,6 +180,7 @@ config ARCH_AT91SAM9G45
 config ARCH_AT91SAM9X5
 	bool "AT91SAM9X5"
 	select SOC_AT91SAM9X5
+	select OFDEVICE
 
 config ARCH_AT91SAM9N12
 	bool "AT91SAM9N12"
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 04/14] at91sam9x5ek: Convert to use DT clock tree
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (2 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 03/14] at91sam9x5ek: Add preliminary device tree support Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 05/14] at91sam9x5ek: Remove at91sam9x5ek_mem_init() Andrey Smirnov
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Convert board code to use clock tree form DT as well as converting UART,
GPIO and PIT devices to be instantiated from it (to make sure codebase
is still bootable).

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c |  14 +-
 arch/arm/mach-at91/Kconfig          |   4 +
 arch/arm/mach-at91/Makefile         |   2 +-
 arch/arm/mach-at91/at91sam9x5.c     | 311 ------------------------------------
 arch/arm/mach-at91/setup.c          |   4 +-
 5 files changed, 13 insertions(+), 322 deletions(-)
 delete mode 100644 arch/arm/mach-at91/at91sam9x5.c

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 9fe117c..796ae84 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -87,6 +87,11 @@ static struct sam9_smc_config cm_nand_smc_config = {
 
 static void ek_add_device_nand(void)
 {
+	add_generic_device("at91sam9-smc",
+			   DEVICE_ID_SINGLE, NULL,
+			   AT91SAM9X5_BASE_SMC, 0x200,
+			   IORESOURCE_MEM, NULL);
+
 	/* setup bus-width (8 or 16) */
 	if (nand_pdata.bus_width_16)
 		cm_nand_smc_config.mode |= AT91_SMC_DBW_16;
@@ -333,15 +338,6 @@ static int at91sam9x5ek_console_init(void)
 	barebox_set_model("Atmel at91sam9x5-ek");
 	barebox_set_hostname("at91sam9x5-ek");
 
-	at91_register_uart(0, 0);
-	at91_register_uart(1, 0);
 	return 0;
 }
 console_initcall(at91sam9x5ek_console_init);
-
-static int at91sam9x5ek_main_clock(void)
-{
-	at91_set_main_clock(12000000);
-	return 0;
-}
-pure_initcall(at91sam9x5ek_main_clock);
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 2870bf3..28f66ac 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -38,6 +38,10 @@ config AT91SAM9_SMC
 config SOC_AT91SAM9
 	bool
 	select CPU_ARM926T
+	select HAVE_AT91_SMD
+	select HAVE_AT91_USB_CLK
+	select HAVE_AT91_UTMI
+	select COMMON_CLK_OF_PROVIDER
 	select AT91SAM9_SMC
 	select CLOCKSOURCE_ATMEL_PIT
 
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index e207690..0892fb4 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -33,7 +33,7 @@ obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam9263_devices.o
 obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261.o at91sam9261_devices.o
 obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam9260_devices.o
 obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam9g45_devices.o
-obj-$(CONFIG_ARCH_AT91SAM9X5)	+= at91sam9x5.o at91sam9x5_devices.o
+obj-$(CONFIG_ARCH_AT91SAM9X5)	+= at91sam9x5_devices.o
 obj-$(CONFIG_ARCH_AT91SAM9N12)	+= at91sam9n12.o at91sam9n12_devices.o
 obj-$(CONFIG_ARCH_SAMA5D3)	+= sama5d3.o sama5d3_devices.o
 obj-$(CONFIG_ARCH_SAMA5D4)	+= sama5d4.o sama5d4_devices.o
diff --git a/arch/arm/mach-at91/at91sam9x5.c b/arch/arm/mach-at91/at91sam9x5.c
deleted file mode 100644
index 000b748..0000000
--- a/arch/arm/mach-at91/at91sam9x5.c
+++ /dev/null
@@ -1,311 +0,0 @@
-#include <common.h>
-#include <gpio.h>
-#include <init.h>
-#include <mach/hardware.h>
-#include <mach/at91_pmc.h>
-#include <mach/io.h>
-#include <mach/cpu.h>
-
-#include "soc.h"
-#include "generic.h"
-#include "clock.h"
-
-/* --------------------------------------------------------------------
- *  Clocks
- * -------------------------------------------------------------------- */
-
-/*
- * The peripheral clocks.
- */
-static struct clk pioAB_clk = {
-	.name		= "pioAB_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_PIOAB,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk pioCD_clk = {
-	.name		= "pioCD_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_PIOCD,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk smd_clk = {
-	.name		= "smd_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_SMD,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk usart0_clk = {
-	.name		= "usart0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_USART0,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk usart1_clk = {
-	.name		= "usart1_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_USART1,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk usart2_clk = {
-	.name		= "usart2_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_USART2,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-/* USART3 clock - Only for sam9g25/sam9x25 */
-static struct clk usart3_clk = {
-	.name		= "usart3_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_USART3,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk twi0_clk = {
-	.name		= "twi0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_TWI0,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk twi1_clk = {
-	.name		= "twi1_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_TWI1,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk twi2_clk = {
-	.name		= "twi2_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_TWI2,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk mmc0_clk = {
-	.name		= "mci0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_MCI0,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk spi0_clk = {
-	.name		= "spi0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_SPI0,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk spi1_clk = {
-	.name		= "spi1_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_SPI1,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk uart0_clk = {
-	.name		= "uart0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_UART0,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk uart1_clk = {
-	.name		= "uart1_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_UART1,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk tcb0_clk = {
-	.name		= "tcb0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_TCB,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk pwm_clk = {
-	.name		= "pwm_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_PWM,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk adc_clk = {
-	.name		= "adc_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_ADC,
-	.type	= CLK_TYPE_PERIPHERAL,
-};
-static struct clk dma0_clk = {
-	.name		= "dma0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_DMA0,
-	.type	= CLK_TYPE_PERIPHERAL,
-};
-static struct clk dma1_clk = {
-	.name		= "dma1_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_DMA1,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk uhphs_clk = {
-	.name		= "uhphs",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_UHPHS,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk udphs_clk = {
-	.name		= "udphs_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_UDPHS,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-/* emac0 clock - Only for sam9g25/sam9x25/sam9g35/sam9x35 */
-static struct clk macb0_clk = {
-	.name		= "macb0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_EMAC0,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-/* lcd clock - Only for sam9g15/sam9g35/sam9x35 */
-static struct clk lcdc_clk = {
-	.name		= "lcdc_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_LCDC,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-/* isi clock - Only for sam9g25 */
-static struct clk isi_clk = {
-	.name		= "isi_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_ISI,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk mmc1_clk = {
-	.name		= "mci1_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_MCI1,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-/* emac1 clock - Only for sam9x25 */
-static struct clk macb1_clk = {
-	.name		= "macb1_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_EMAC1,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-static struct clk ssc_clk = {
-	.name		= "ssc_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_SSC,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-/* can0 clock - Only for sam9x35 */
-static struct clk can0_clk = {
-	.name		= "can0_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_CAN0,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-/* can1 clock - Only for sam9x35 */
-static struct clk can1_clk = {
-	.name		= "can1_clk",
-	.pmc_mask	= 1 << AT91SAM9X5_ID_CAN1,
-	.type		= CLK_TYPE_PERIPHERAL,
-};
-
-static struct clk *periph_clocks[] __initdata = {
-	&pioAB_clk,
-	&pioCD_clk,
-	&smd_clk,
-	&usart0_clk,
-	&usart1_clk,
-	&usart2_clk,
-	&twi0_clk,
-	&twi1_clk,
-	&twi2_clk,
-	&mmc0_clk,
-	&spi0_clk,
-	&spi1_clk,
-	&uart0_clk,
-	&uart1_clk,
-	&tcb0_clk,
-	&pwm_clk,
-	&adc_clk,
-	&dma0_clk,
-	&dma1_clk,
-	&uhphs_clk,
-	&udphs_clk,
-	&mmc1_clk,
-	&ssc_clk,
-	// irq0
-};
-
-static struct clk_lookup periph_clocks_lookups[] = {
-	CLKDEV_CON_DEV_ID("macb_clk", "macb0", &macb0_clk),
-	CLKDEV_CON_DEV_ID("macb_clk", "macb1", &macb1_clk),
-	CLKDEV_CON_ID("ohci_clk", &uhphs_clk),
-	CLKDEV_CON_DEV_ID("ehci_clk", "atmel-ehci", &uhphs_clk),
-	CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi0", &spi0_clk),
-	CLKDEV_CON_DEV_ID("spi_clk", "atmel_spi1", &spi1_clk),
-	CLKDEV_CON_DEV_ID("mci_clk", "atmel_mci0", &mmc0_clk),
-	CLKDEV_CON_DEV_ID("mci_clk", "atmel_mci1", &mmc1_clk),
-	CLKDEV_DEV_ID("at91sam9x5-gpio0", &pioAB_clk),
-	CLKDEV_DEV_ID("at91sam9x5-gpio1", &pioAB_clk),
-	CLKDEV_DEV_ID("at91sam9x5-gpio2", &pioCD_clk),
-	CLKDEV_DEV_ID("at91sam9x5-gpio3", &pioCD_clk),
-	CLKDEV_DEV_ID("at91-pit", &mck),
-	CLKDEV_CON_DEV_ID("hck1", "atmel_hlcdfb", &lcdc_clk),
-};
-
-static struct clk_lookup usart_clocks_lookups[] = {
-	CLKDEV_CON_DEV_ID("usart", "atmel_usart0", &mck),
-	CLKDEV_CON_DEV_ID("usart", "atmel_usart1", &usart0_clk),
-	CLKDEV_CON_DEV_ID("usart", "atmel_usart2", &usart1_clk),
-	CLKDEV_CON_DEV_ID("usart", "atmel_usart3", &usart2_clk),
-	CLKDEV_CON_DEV_ID("usart", "atmel_usart4", &usart3_clk),
-};
-
-/*
- * The two programmable clocks.
- * You must configure pin multiplexing to bring these signals out.
- */
-static struct clk pck0 = {
-	.name		= "pck0",
-	.pmc_mask	= AT91_PMC_PCK0,
-	.type		= CLK_TYPE_PROGRAMMABLE,
-	.id		= 0,
-};
-static struct clk pck1 = {
-	.name		= "pck1",
-	.pmc_mask	= AT91_PMC_PCK1,
-	.type		= CLK_TYPE_PROGRAMMABLE,
-	.id		= 1,
-};
-
-static void __init at91sam9x5_register_clocks(void)
-{
-	int i;
-
-	for (i = 0; i < ARRAY_SIZE(periph_clocks); i++)
-		clk_register(periph_clocks[i]);
-
-	clkdev_add_table(periph_clocks_lookups,
-			 ARRAY_SIZE(periph_clocks_lookups));
-	clkdev_add_table(usart_clocks_lookups,
-			 ARRAY_SIZE(usart_clocks_lookups));
-
-	if (cpu_is_at91sam9g25()
-	|| cpu_is_at91sam9x25())
-		clk_register(&usart3_clk);
-
-	if (cpu_is_at91sam9g25()
-	|| cpu_is_at91sam9x25()
-	|| cpu_is_at91sam9g35()
-	|| cpu_is_at91sam9x35())
-		clk_register(&macb0_clk);
-
-	if (cpu_is_at91sam9g15()
-	|| cpu_is_at91sam9g35()
-	|| cpu_is_at91sam9x35())
-		clk_register(&lcdc_clk);
-
-	if (cpu_is_at91sam9g25())
-		clk_register(&isi_clk);
-
-	if (cpu_is_at91sam9x25())
-		clk_register(&macb1_clk);
-
-	if (cpu_is_at91sam9x25()
-	|| cpu_is_at91sam9x35()) {
-		clk_register(&can0_clk);
-		clk_register(&can1_clk);
-	}
-
-	clk_register(&pck0);
-	clk_register(&pck1);
-}
-
-/* --------------------------------------------------------------------
- *  AT91SAM9x5 processor initialization
- * -------------------------------------------------------------------- */
-
-static void at91sam9x5_initialize(void)
-{
-	/* Register the processor-specific clocks */
-	at91sam9x5_register_clocks();
-
-	/* Register GPIO subsystem */
-	at91_add_sam9x5_gpio(0, AT91SAM9X5_BASE_PIOA);
-	at91_add_sam9x5_gpio(1, AT91SAM9X5_BASE_PIOB);
-	at91_add_sam9x5_gpio(2, AT91SAM9X5_BASE_PIOC);
-	at91_add_sam9x5_gpio(3, AT91SAM9X5_BASE_PIOD);
-
-	at91_add_pit(AT91SAM9X5_BASE_PIT);
-	at91_add_sam9_smc(DEVICE_ID_SINGLE, AT91SAM9X5_BASE_SMC, 0x200);
-}
-
-AT91_SOC_START(sam9x5)
-	.init = at91sam9x5_initialize,
-AT91_SOC_END
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 1fa50ac..8f32af0 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -85,7 +85,6 @@ static void __init soc_detect(u32 dbgu_base)
 
 	case ARCH_ID_AT91SAM9X5:
 		at91_soc_initdata.type = AT91_SOC_SAM9X5;
-		at91_boot_soc = at91sam9x5_soc;
 		break;
 
 	case ARCH_ID_AT91SAM9N12:
@@ -284,6 +283,9 @@ static int at91_detect(void)
 	pr_info("AT91: Detected soc subtype: %s\n",
 		at91_get_soc_subtype(&at91_soc_initdata));
 
+	if (IS_ENABLED(CONFIG_COMMON_CLK_OF_PROVIDER))
+		return 0;
+
 	if (!at91_soc_is_enabled())
 		panic("AT91: Soc not enabled");
 
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 05/14] at91sam9x5ek: Remove at91sam9x5ek_mem_init()
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (3 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 04/14] at91sam9x5ek: Convert to use DT clock tree Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 06/14] at91: Enable PINCTRL for SOC_AT91SAM9 Andrey Smirnov
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

RAM device is created based on OF data now, so there's no need to call
this function.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 796ae84..068897a 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -286,14 +286,6 @@ static void __init ek_add_led(void)
 	led_set_trigger(LED_TRIGGER_HEARTBEAT, &leds[1].led);
 }
 
-static int at91sam9x5ek_mem_init(void)
-{
-	at91_add_device_sdram(0);
-
-	return 0;
-}
-mem_initcall(at91sam9x5ek_mem_init);
-
 static void ek_add_device_w1(void)
 {
 	at91_set_gpio_input(w1_pdata.pin, 0);
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 06/14] at91: Enable PINCTRL for SOC_AT91SAM9
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (4 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 05/14] at91sam9x5ek: Remove at91sam9x5ek_mem_init() Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 07/14] at91sam9x5ek: Configure LEDs in DT Andrey Smirnov
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/mach-at91/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 28f66ac..0b77653 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -44,6 +44,7 @@ config SOC_AT91SAM9
 	select COMMON_CLK_OF_PROVIDER
 	select AT91SAM9_SMC
 	select CLOCKSOURCE_ATMEL_PIT
+	select PINCTRL
 
 config SOC_SAMA5
 	bool
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 07/14] at91sam9x5ek: Configure LEDs in DT
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (5 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 06/14] at91: Enable PINCTRL for SOC_AT91SAM9 Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 08/14] at91sam9x5ek: Configure I2C via DT Andrey Smirnov
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c     | 27 ---------------------------
 arch/arm/configs/at91sam9x5ek_defconfig |  1 +
 2 files changed, 1 insertion(+), 27 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 068897a..85f20a9 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -260,32 +260,6 @@ static void ek_add_device_usb(void)
 static void ek_add_device_usb(void) {}
 #endif
 
-struct gpio_led leds[] = {
-	{
-		.gpio	= AT91_PIN_PB18,
-		.active_low	= 1,
-		.led	= {
-			.name = "d1",
-		},
-	}, {
-		.gpio	= AT91_PIN_PD21,
-		.led	= {
-			.name = "d2",
-		},
-	},
-};
-
-static void __init ek_add_led(void)
-{
-	int i;
-
-	for (i = 0; i < ARRAY_SIZE(leds); i++) {
-		at91_set_gpio_output(leds[i].gpio, leds[i].active_low);
-		led_gpio_register(&leds[i]);
-	}
-	led_set_trigger(LED_TRIGGER_HEARTBEAT, &leds[1].led);
-}
-
 static void ek_add_device_w1(void)
 {
 	at91_set_gpio_input(w1_pdata.pin, 0);
@@ -303,7 +277,6 @@ static int at91sam9x5ek_devices_init(void)
 	ek_add_device_spi();
 	ek_add_device_mci();
 	ek_add_device_usb();
-	ek_add_led();
 	ek_add_device_i2c();
 	ek_add_device_lcdc();
 
diff --git a/arch/arm/configs/at91sam9x5ek_defconfig b/arch/arm/configs/at91sam9x5ek_defconfig
index 0691145..dd42755 100644
--- a/arch/arm/configs/at91sam9x5ek_defconfig
+++ b/arch/arm/configs/at91sam9x5ek_defconfig
@@ -90,3 +90,4 @@ CONFIG_FS_TFTP=y
 CONFIG_FS_FAT=y
 CONFIG_FS_FAT_WRITE=y
 CONFIG_FS_FAT_LFN=y
+CONFIG_LED_GPIO_OF=y
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 08/14] at91sam9x5ek: Configure I2C via DT
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (6 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 07/14] at91sam9x5ek: Configure LEDs in DT Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 09/14] at91sam9x5ek: Configure MMC in DT Andrey Smirnov
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c | 21 ---------------------
 arch/arm/dts/at91sam9x5ek.dts       | 10 ++++++++++
 2 files changed, 10 insertions(+), 21 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 85f20a9..fca5e7d 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -187,26 +187,6 @@ static void ek_add_device_mci(void)
 	at91_add_device_mci(0, &mci0_data);
 }
 
-struct qt1070_platform_data qt1070_pdata = {
-	.irq_pin	= AT91_PIN_PA7,
-};
-
-static struct i2c_board_info i2c_devices[] = {
-	{
-		.platform_data = &qt1070_pdata,
-		I2C_BOARD_INFO("qt1070", 0x1b),
-	}, {
-		I2C_BOARD_INFO("24c512", 0x51)
-	},
-};
-
-static void ek_add_device_i2c(void)
-{
-	at91_set_gpio_input(qt1070_pdata.irq_pin, 0);
-	at91_set_deglitch(qt1070_pdata.irq_pin, 1);
-	at91_add_device_i2c(0, i2c_devices, ARRAY_SIZE(i2c_devices));
-}
-
 static const struct spi_board_info ek_cm_cogent_spi_devices[] = {
 	{
 		.name		= "mtd_dataflash",
@@ -277,7 +257,6 @@ static int at91sam9x5ek_devices_init(void)
 	ek_add_device_spi();
 	ek_add_device_mci();
 	ek_add_device_usb();
-	ek_add_device_i2c();
 	ek_add_device_lcdc();
 
 	armlinux_set_architecture(CONFIG_MACH_AT91SAM9X5EK);
diff --git a/arch/arm/dts/at91sam9x5ek.dts b/arch/arm/dts/at91sam9x5ek.dts
index db1bd67..f9ae091 100644
--- a/arch/arm/dts/at91sam9x5ek.dts
+++ b/arch/arm/dts/at91sam9x5ek.dts
@@ -7,3 +7,13 @@
 #include <arm/at91sam9x5_lcd.dtsi>
 #include <arm/at91sam9x5dm.dtsi>
 #include <arm/at91sam9x5ek.dtsi>
+
+/ {
+	i2c-gpio-0 {
+		status = "okay";
+	};
+};
+
+&i2c0 {
+	status = "disabled";
+};
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 09/14] at91sam9x5ek: Configure MMC in DT
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (7 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 08/14] at91sam9x5ek: Configure I2C via DT Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 10/14] at91sam9x5ek: Configure SPI " Andrey Smirnov
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c | 20 --------------------
 arch/arm/dts/at91sam9x5ek.dts       |  5 +++++
 2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index fca5e7d..8acb23c 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -168,25 +168,6 @@ static void ek_add_device_lcdc(void)
 static void ek_add_device_lcdc(void) {}
 #endif
 
-/*
- * MCI (SD/MMC)
- */
-/* mci0 detect_pin is revision dependent */
-static struct atmel_mci_platform_data mci0_data = {
-	.bus_width	= 4,
-	.detect_pin	= AT91_PIN_PD15,
-	.wp_pin		= -EINVAL,
-};
-
-static void ek_add_device_mci(void)
-{
-	if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT))
-		mci0_data.detect_pin = -EINVAL;
-
-	/* MMC0 */
-	at91_add_device_mci(0, &mci0_data);
-}
-
 static const struct spi_board_info ek_cm_cogent_spi_devices[] = {
 	{
 		.name		= "mtd_dataflash",
@@ -255,7 +236,6 @@ static int at91sam9x5ek_devices_init(void)
 	ek_add_device_nand();
 	ek_add_device_eth();
 	ek_add_device_spi();
-	ek_add_device_mci();
 	ek_add_device_usb();
 	ek_add_device_lcdc();
 
diff --git a/arch/arm/dts/at91sam9x5ek.dts b/arch/arm/dts/at91sam9x5ek.dts
index f9ae091..00bb86a 100644
--- a/arch/arm/dts/at91sam9x5ek.dts
+++ b/arch/arm/dts/at91sam9x5ek.dts
@@ -9,6 +9,11 @@
 #include <arm/at91sam9x5ek.dtsi>
 
 / {
+	aliases {
+		mmc0 = &mmc0;
+		mmc1 = &mmc1;
+	};
+
 	i2c-gpio-0 {
 		status = "okay";
 	};
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 10/14] at91sam9x5ek: Configure SPI in DT
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (8 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 09/14] at91sam9x5ek: Configure MMC in DT Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 11/14] at91sam9x5ek: Configure 1-wire " Andrey Smirnov
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c | 36 ------------------------------------
 arch/arm/dts/at91sam9x5ek.dts       | 24 ++++++++++++++++++++++++
 2 files changed, 24 insertions(+), 36 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 8acb23c..2fe724c 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -168,41 +168,6 @@ static void ek_add_device_lcdc(void)
 static void ek_add_device_lcdc(void) {}
 #endif
 
-static const struct spi_board_info ek_cm_cogent_spi_devices[] = {
-	{
-		.name		= "mtd_dataflash",
-		.chip_select	= 0,
-		.max_speed_hz	= 15 * 1000 * 1000,
-		.bus_num	= 0,
-	}
-};
-
-static const struct spi_board_info ek_spi_devices[] = {
-	{
-		.name		= "m25p80",
-		.chip_select	= 0,
-		.max_speed_hz	= 30 * 1000 * 1000,
-		.bus_num	= 0,
-	}
-};
-
-static unsigned spi0_standard_cs[] = { AT91_PIN_PA14};
-static struct at91_spi_platform_data spi_pdata = {
-	.chipselect = spi0_standard_cs,
-	.num_chipselect = ARRAY_SIZE(spi0_standard_cs),
-};
-
-static void ek_add_device_spi(void)
-{
-	if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT))
-		spi_register_board_info(ek_cm_cogent_spi_devices,
-				ARRAY_SIZE(ek_cm_cogent_spi_devices));
-	else
-		spi_register_board_info(ek_spi_devices,
-				ARRAY_SIZE(ek_spi_devices));
-	at91_add_device_spi(0, &spi_pdata);
-}
-
 #if defined(CONFIG_USB_OHCI) || defined(CONFIG_USB_EHCI)
 /*
  * USB HS Host port (common to OHCI & EHCI)
@@ -235,7 +200,6 @@ static int at91sam9x5ek_devices_init(void)
 	ek_add_device_w1();
 	ek_add_device_nand();
 	ek_add_device_eth();
-	ek_add_device_spi();
 	ek_add_device_usb();
 	ek_add_device_lcdc();
 
diff --git a/arch/arm/dts/at91sam9x5ek.dts b/arch/arm/dts/at91sam9x5ek.dts
index 00bb86a..efdba61 100644
--- a/arch/arm/dts/at91sam9x5ek.dts
+++ b/arch/arm/dts/at91sam9x5ek.dts
@@ -17,8 +17,32 @@
 	i2c-gpio-0 {
 		status = "okay";
 	};
+
+	ahb {
+		apb {
+			pinctrl@fffff400 {
+				spi {
+					pinctrl_board_spi: spi-board {
+						atmel,pins = <AT91_PIOA 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+				};
+			};
+		};
+	};
+};
+
+&spi0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_spi0>, <&pinctrl_board_spi>;
 };
 
 &i2c0 {
 	status = "disabled";
 };
+
+/*
+ * This one conflicts with SPI NOR on the SoM
+ */
+&mmc1 {
+	status = "disabled";
+};
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 11/14] at91sam9x5ek: Configure 1-wire in DT
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (9 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 10/14] at91sam9x5ek: Configure SPI " Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 12/14] at91sam9x5ek: Configure USB " Andrey Smirnov
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/hw_version.c |  6 +++++-
 arch/arm/boards/at91sam9x5ek/hw_version.h |  1 -
 arch/arm/boards/at91sam9x5ek/init.c       | 16 ----------------
 arch/arm/dts/at91sam9x5ek.dts             | 15 +++++++++++++++
 4 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/hw_version.c b/arch/arm/boards/at91sam9x5ek/hw_version.c
index 2f84d82..d1ca036 100644
--- a/arch/arm/boards/at91sam9x5ek/hw_version.c
+++ b/arch/arm/boards/at91sam9x5ek/hw_version.c
@@ -15,6 +15,7 @@
  */
 
 #include <common.h>
+#include <init.h>
 #include <fs.h>
 #include <fcntl.h>
 #include <libbb.h>
@@ -250,7 +251,7 @@ static int cm_cogent_fixup(struct device_node *root, void *unused)
 	return 0;
 }
 
-void at91sam9x5ek_devices_detect_hw(void)
+static int at91sam9x5ek_devices_detect_hw(void)
 {
 	at91sam9x5ek_devices_detect_one("/dev/ds24310");
 	at91sam9x5ek_devices_detect_one("/dev/ds24311");
@@ -262,4 +263,7 @@ void at91sam9x5ek_devices_detect_hw(void)
 
 	if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT))
 		of_register_fixup(cm_cogent_fixup, NULL);
+
+	return 0;
 }
+late_initcall(at91sam9x5ek_devices_detect_hw);
diff --git a/arch/arm/boards/at91sam9x5ek/hw_version.h b/arch/arm/boards/at91sam9x5ek/hw_version.h
index 91fd429..3f3c800 100644
--- a/arch/arm/boards/at91sam9x5ek/hw_version.h
+++ b/arch/arm/boards/at91sam9x5ek/hw_version.h
@@ -29,6 +29,5 @@ enum vendor_id {
 bool at91sam9x5ek_cm_is_vendor(enum vendor_id vid);
 bool at91sam9x5ek_ek_is_vendor(enum vendor_id vid);
 bool at91sam9x5ek_dm_is_vendor(enum vendor_id vid);
-void at91sam9x5ek_devices_detect_hw(void);
 
 #endif /* __HW_REVISION_H__ */
diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 2fe724c..09b7d0f 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -45,12 +45,6 @@
 
 #include "hw_version.h"
 
-struct w1_gpio_platform_data w1_pdata = {
-	.pin = AT91_PIN_PB18,
-	.ext_pullup_enable_pin = -EINVAL,
-	.is_open_drain = 0,
-};
-
 static struct atmel_nand_data nand_pdata = {
 	.ale		= 21,
 	.cle		= 22,
@@ -186,18 +180,8 @@ static void ek_add_device_usb(void)
 static void ek_add_device_usb(void) {}
 #endif
 
-static void ek_add_device_w1(void)
-{
-	at91_set_gpio_input(w1_pdata.pin, 0);
-	at91_set_multi_drive(w1_pdata.pin, 1);
-	add_generic_device_res("w1-gpio", DEVICE_ID_SINGLE, NULL, 0, &w1_pdata);
-
-	at91sam9x5ek_devices_detect_hw();
-}
-
 static int at91sam9x5ek_devices_init(void)
 {
-	ek_add_device_w1();
 	ek_add_device_nand();
 	ek_add_device_eth();
 	ek_add_device_usb();
diff --git a/arch/arm/dts/at91sam9x5ek.dts b/arch/arm/dts/at91sam9x5ek.dts
index efdba61..c169181 100644
--- a/arch/arm/dts/at91sam9x5ek.dts
+++ b/arch/arm/dts/at91sam9x5ek.dts
@@ -29,6 +29,21 @@
 			};
 		};
 	};
+
+	leds {
+		/*
+		 * PB18 has a resource conflict since it is both used
+                 * as a heartbeat LED and 1-wire bus in the kernel
+                 * device tree. Because 1-wire EEPROMs contains
+                 * importatnt revision information we move heartbeat
+                 * to PD21 and remove the original pb18 node
+		 */
+		/delete-node/ pb18;
+
+		pd21 {
+			linux,default-trigger = "heartbeat";
+		};
+	};
 };
 
 &spi0 {
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 12/14] at91sam9x5ek: Configure USB in DT
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (10 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 11/14] at91sam9x5ek: Configure 1-wire " Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 13/14] at91sam9x5ek: Configure Ethernet " Andrey Smirnov
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c | 19 -------------------
 1 file changed, 19 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 09b7d0f..ff0ef22 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -162,29 +162,10 @@ static void ek_add_device_lcdc(void)
 static void ek_add_device_lcdc(void) {}
 #endif
 
-#if defined(CONFIG_USB_OHCI) || defined(CONFIG_USB_EHCI)
-/*
- * USB HS Host port (common to OHCI & EHCI)
- */
-static struct at91_usbh_data ek_usbh_hs_data = {
-	.ports			= 2,
-	.vbus_pin		= {AT91_PIN_PD19, AT91_PIN_PD20},
-};
-
-static void ek_add_device_usb(void)
-{
-	at91_add_device_usbh_ohci(&ek_usbh_hs_data);
-	at91_add_device_usbh_ehci(&ek_usbh_hs_data);
-}
-#else
-static void ek_add_device_usb(void) {}
-#endif
-
 static int at91sam9x5ek_devices_init(void)
 {
 	ek_add_device_nand();
 	ek_add_device_eth();
-	ek_add_device_usb();
 	ek_add_device_lcdc();
 
 	armlinux_set_architecture(CONFIG_MACH_AT91SAM9X5EK);
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 13/14] at91sam9x5ek: Configure Ethernet in DT
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (11 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 12/14] at91sam9x5ek: Configure USB " Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-23 13:23 ` [PATCH 14/14] at91sam9x5ek: Configure NAND " Andrey Smirnov
  2017-03-29  6:33 ` [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Sascha Hauer
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c | 18 ++++++++----------
 arch/arm/dts/at91sam9x5ek.dts       |  7 +++++++
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index ff0ef22..29da97d 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -106,18 +106,17 @@ static void ek_add_device_nand(void)
 	at91_add_device_nand(&nand_pdata);
 }
 
-static struct macb_platform_data macb_pdata = {
-	.phy_interface = PHY_INTERFACE_MODE_RMII,
-	.phy_addr = 0,
-};
-
-static void ek_add_device_eth(void)
+static int ek_register_mac_address(void)
 {
-	if (w1_local_mac_address_register(0, "tml", "w1-2d-0"))
-		w1_local_mac_address_register(0, "tml", "w1-23-0");
+	int ret;
+
+	ret = w1_local_mac_address_register(0, "tml", "w1-2d-0");
+	if (!ret)
+		return ret;
 
-	at91_add_device_eth(0, &macb_pdata);
+	return w1_local_mac_address_register(0, "tml", "w1-23-0");
 }
+late_initcall(ek_register_mac_address);
 
 #if defined(CONFIG_DRIVER_VIDEO_ATMEL_HLCD)
 /*
@@ -165,7 +164,6 @@ static void ek_add_device_lcdc(void) {}
 static int at91sam9x5ek_devices_init(void)
 {
 	ek_add_device_nand();
-	ek_add_device_eth();
 	ek_add_device_lcdc();
 
 	armlinux_set_architecture(CONFIG_MACH_AT91SAM9X5EK);
diff --git a/arch/arm/dts/at91sam9x5ek.dts b/arch/arm/dts/at91sam9x5ek.dts
index c169181..d5c7a8f 100644
--- a/arch/arm/dts/at91sam9x5ek.dts
+++ b/arch/arm/dts/at91sam9x5ek.dts
@@ -4,6 +4,7 @@
 #include <dt-bindings/pinctrl/at91.h>
 
 #include <arm/at91sam9x5.dtsi>
+#include <arm/at91sam9x5_macb0.dtsi>
 #include <arm/at91sam9x5_lcd.dtsi>
 #include <arm/at91sam9x5dm.dtsi>
 #include <arm/at91sam9x5ek.dtsi>
@@ -61,3 +62,9 @@
 &mmc1 {
 	status = "disabled";
 };
+
+&macb0 {
+	status = "okay";
+	phy-mode = "rmii";
+};
+
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* [PATCH 14/14] at91sam9x5ek: Configure NAND in DT
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (12 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 13/14] at91sam9x5ek: Configure Ethernet " Andrey Smirnov
@ 2017-03-23 13:23 ` Andrey Smirnov
  2017-03-29  6:33 ` [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Sascha Hauer
  14 siblings, 0 replies; 18+ messages in thread
From: Andrey Smirnov @ 2017-03-23 13:23 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boards/at91sam9x5ek/init.c | 47 +++++++++++++------------------------
 1 file changed, 16 insertions(+), 31 deletions(-)

diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 29da97d..646cff5 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -45,22 +45,6 @@
 
 #include "hw_version.h"
 
-static struct atmel_nand_data nand_pdata = {
-	.ale		= 21,
-	.cle		= 22,
-	.det_pin	= -EINVAL,
-	.rdy_pin	= AT91_PIN_PD5,
-	.enable_pin	= AT91_PIN_PD4,
-	.has_pmecc	= 1,
-	.ecc_mode	= NAND_ECC_HW,
-	.pmecc_sector_size = 512,
-	.pmecc_corr_cap = 2,
-#if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16)
-	.bus_width_16	= 1,
-#endif
-	.on_flash_bbt	= 1,
-};
-
 static struct sam9_smc_config cm_nand_smc_config = {
 	.ncs_read_setup		= 0,
 	.nrd_setup		= 1,
@@ -79,15 +63,27 @@ static struct sam9_smc_config cm_nand_smc_config = {
 	.tdf_cycles		= 1,
 };
 
-static void ek_add_device_nand(void)
+static int ek_add_device_smc(void)
 {
+	unsigned long csa;
+	csa = at91_sys_read(AT91_MATRIX_EBICSA);
+
+	/* Enable CS3 */
+	csa |= AT91_MATRIX_EBI_CS3A_SMC_NANDFLASH;
+	/* NAND flash on D16 */
+	csa |= AT91_MATRIX_NFD0_ON_D16;
+
+	/* Configure IO drive */
+	csa &= ~AT91_MATRIX_EBI_EBI_IOSR_NORMAL;
+	at91_sys_write(AT91_MATRIX_EBICSA, csa);
+
 	add_generic_device("at91sam9-smc",
 			   DEVICE_ID_SINGLE, NULL,
 			   AT91SAM9X5_BASE_SMC, 0x200,
 			   IORESOURCE_MEM, NULL);
 
 	/* setup bus-width (8 or 16) */
-	if (nand_pdata.bus_width_16)
+	if (IS_ENABLED(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16))
 		cm_nand_smc_config.mode |= AT91_SMC_DBW_16;
 	else
 		cm_nand_smc_config.mode |= AT91_SMC_DBW_8;
@@ -96,15 +92,14 @@ static void ek_add_device_nand(void)
 	sam9_smc_configure(0, 3, &cm_nand_smc_config);
 
 	if (at91sam9x5ek_cm_is_vendor(VENDOR_COGENT)) {
-		unsigned long csa;
-
 		csa = at91_sys_read(AT91_MATRIX_EBICSA);
 		csa |= AT91_MATRIX_EBI_VDDIOMSEL_1_8V;
 		at91_sys_write(AT91_MATRIX_EBICSA, csa);
 	}
 
-	at91_add_device_nand(&nand_pdata);
+	return 0;
 }
+fs_initcall(ek_add_device_smc);
 
 static int ek_register_mac_address(void)
 {
@@ -163,20 +158,10 @@ static void ek_add_device_lcdc(void) {}
 
 static int at91sam9x5ek_devices_init(void)
 {
-	ek_add_device_nand();
 	ek_add_device_lcdc();
 
 	armlinux_set_architecture(CONFIG_MACH_AT91SAM9X5EK);
 
-	devfs_add_partition("nand0", 0x00000, SZ_256K, DEVFS_PARTITION_FIXED, "at91bootstrap_raw");
-	dev_add_bb_dev("at91bootstrap_raw", "at91bootstrap");
-	devfs_add_partition("nand0", SZ_256K, SZ_256K + SZ_128K, DEVFS_PARTITION_FIXED, "self_raw");
-	dev_add_bb_dev("self_raw", "self0");
-	devfs_add_partition("nand0", SZ_512K + SZ_128K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw");
-	dev_add_bb_dev("env_raw", "env0");
-	devfs_add_partition("nand0", SZ_512K + SZ_256K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw1");
-	dev_add_bb_dev("env_raw1", "env1");
-
 	if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC))
 		defaultenv_append_directory(defaultenv_at91sam9x5ek);
 
-- 
2.9.3


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III)
  2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
                   ` (13 preceding siblings ...)
  2017-03-23 13:23 ` [PATCH 14/14] at91sam9x5ek: Configure NAND " Andrey Smirnov
@ 2017-03-29  6:33 ` Sascha Hauer
  14 siblings, 0 replies; 18+ messages in thread
From: Sascha Hauer @ 2017-03-29  6:33 UTC (permalink / raw)
  To: Andrey Smirnov; +Cc: barebox

On Thu, Mar 23, 2017 at 06:23:44AM -0700, Andrey Smirnov wrote:
> Hi everone,
> 
> As discussed in original thread [1], here is a last batch of AT91
> related patches. The patches gathered in this set are all related to
> converting of at91sam9x5ek board to multi-image build process and DT.
> 
> With exception of a small fix to original "at91sam9x5ek: Convert to
> mult-image build" and a number of comment/commit message rewordings
> the code should mostly be the same as it was in original submission
> [1]
> 
> Any feedback is appreciated.


Applied, thanks

Sascha

> 
> Thank you,
> Andrey Smirnov
> 
> [1] http://lists.infradead.org/pipermail/barebox/2017-March/029337.html
> 
> Andrey Smirnov (14):
>   at91sam9x5ek: Convert to mult-image build
>   at91sam9x5ek: Add CONFIG_KALLSYMS to defconfig
>   at91sam9x5ek: Add preliminary device tree support
>   at91sam9x5ek: Convert to use DT clock tree
>   at91sam9x5ek: Remove at91sam9x5ek_mem_init()
>   at91: Enable PINCTRL for SOC_AT91SAM9
>   at91sam9x5ek: Configure LEDs in DT
>   at91sam9x5ek: Configure I2C via DT
>   at91sam9x5ek: Configure MMC in DT
>   at91sam9x5ek: Configure SPI in DT
>   at91sam9x5ek: Configure 1-wire in DT
>   at91sam9x5ek: Configure USB in DT
>   at91sam9x5ek: Configure Ethernet in DT
>   at91sam9x5ek: Configure NAND in DT
> 
>  arch/arm/Kconfig                          |   1 -
>  arch/arm/boards/at91sam9x5ek/Makefile     |   1 +
>  arch/arm/boards/at91sam9x5ek/hw_version.c |   6 +-
>  arch/arm/boards/at91sam9x5ek/hw_version.h |   1 -
>  arch/arm/boards/at91sam9x5ek/init.c       | 226 +++-------------------
>  arch/arm/boards/at91sam9x5ek/lowlevel.c   |  21 ++
>  arch/arm/configs/at91sam9x5ek_defconfig   |   8 +-
>  arch/arm/dts/Makefile                     |   2 +
>  arch/arm/dts/at91sam9x5ek.dts             |  70 +++++++
>  arch/arm/mach-at91/Kconfig                |  46 +++--
>  arch/arm/mach-at91/Makefile               |   2 +-
>  arch/arm/mach-at91/at91sam9x5.c           | 311 ------------------------------
>  arch/arm/mach-at91/setup.c                |   4 +-
>  images/Makefile                           |   1 +
>  images/Makefile.at91                      |   7 +
>  15 files changed, 176 insertions(+), 531 deletions(-)
>  create mode 100644 arch/arm/boards/at91sam9x5ek/lowlevel.c
>  create mode 100644 arch/arm/dts/at91sam9x5ek.dts
>  delete mode 100644 arch/arm/mach-at91/at91sam9x5.c
>  create mode 100644 images/Makefile.at91
> 
> -- 
> 2.9.3
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: [PATCH 01/14] at91sam9x5ek: Convert to mult-image build
  2017-03-23 13:23 ` [PATCH 01/14] at91sam9x5ek: Convert to mult-image build Andrey Smirnov
@ 2017-04-16  8:24   ` Sam Ravnborg
  2017-04-19  9:46     ` Sascha Hauer
  0 siblings, 1 reply; 18+ messages in thread
From: Sam Ravnborg @ 2017-04-16  8:24 UTC (permalink / raw)
  To: Andrey Smirnov; +Cc: barebox

> --- /dev/null
> +++ b/images/Makefile.at91
> @@ -0,0 +1,7 @@
> +#
> +# barebox image generation Makefile for AT91 images
> +#
> +
> +pblx-$(MACH_AT91SAM9X5EK) += start_at91sam9x5ek
> +FILE_barebox-at91sam9x5ek.img = start_at91sam9x5ek.pblx
> +image-$(MACH_AT91SAM9X5EK) += barebox-at91sam9x5ek.img

I think this should be CONFIG_MACH_AT91SAM9X5EK?

	Sam

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: [PATCH 01/14] at91sam9x5ek: Convert to mult-image build
  2017-04-16  8:24   ` Sam Ravnborg
@ 2017-04-19  9:46     ` Sascha Hauer
  0 siblings, 0 replies; 18+ messages in thread
From: Sascha Hauer @ 2017-04-19  9:46 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Andrey Smirnov, barebox

On Sun, Apr 16, 2017 at 10:24:12AM +0200, Sam Ravnborg wrote:
> > --- /dev/null
> > +++ b/images/Makefile.at91
> > @@ -0,0 +1,7 @@
> > +#
> > +# barebox image generation Makefile for AT91 images
> > +#
> > +
> > +pblx-$(MACH_AT91SAM9X5EK) += start_at91sam9x5ek
> > +FILE_barebox-at91sam9x5ek.img = start_at91sam9x5ek.pblx
> > +image-$(MACH_AT91SAM9X5EK) += barebox-at91sam9x5ek.img
> 
> I think this should be CONFIG_MACH_AT91SAM9X5EK?

Indeed, yes :(

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

end of thread, other threads:[~2017-04-19  9:46 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-23 13:23 [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Andrey Smirnov
2017-03-23 13:23 ` [PATCH 01/14] at91sam9x5ek: Convert to mult-image build Andrey Smirnov
2017-04-16  8:24   ` Sam Ravnborg
2017-04-19  9:46     ` Sascha Hauer
2017-03-23 13:23 ` [PATCH 02/14] at91sam9x5ek: Add CONFIG_KALLSYMS to defconfig Andrey Smirnov
2017-03-23 13:23 ` [PATCH 03/14] at91sam9x5ek: Add preliminary device tree support Andrey Smirnov
2017-03-23 13:23 ` [PATCH 04/14] at91sam9x5ek: Convert to use DT clock tree Andrey Smirnov
2017-03-23 13:23 ` [PATCH 05/14] at91sam9x5ek: Remove at91sam9x5ek_mem_init() Andrey Smirnov
2017-03-23 13:23 ` [PATCH 06/14] at91: Enable PINCTRL for SOC_AT91SAM9 Andrey Smirnov
2017-03-23 13:23 ` [PATCH 07/14] at91sam9x5ek: Configure LEDs in DT Andrey Smirnov
2017-03-23 13:23 ` [PATCH 08/14] at91sam9x5ek: Configure I2C via DT Andrey Smirnov
2017-03-23 13:23 ` [PATCH 09/14] at91sam9x5ek: Configure MMC in DT Andrey Smirnov
2017-03-23 13:23 ` [PATCH 10/14] at91sam9x5ek: Configure SPI " Andrey Smirnov
2017-03-23 13:23 ` [PATCH 11/14] at91sam9x5ek: Configure 1-wire " Andrey Smirnov
2017-03-23 13:23 ` [PATCH 12/14] at91sam9x5ek: Configure USB " Andrey Smirnov
2017-03-23 13:23 ` [PATCH 13/14] at91sam9x5ek: Configure Ethernet " Andrey Smirnov
2017-03-23 13:23 ` [PATCH 14/14] at91sam9x5ek: Configure NAND " Andrey Smirnov
2017-03-29  6:33 ` [PATCH 00/14] AT91, at91sam9x5ek updates (part III/III) Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox