From 039a636d541f03769133740fbb9b400ea58cf7e9 Mon Sep 17 00:00:00 2001 From: Rouven Czerwinski Date: Fri, 7 Dec 2018 15:35:28 +0100 Subject: platform-v7a: barebox bump v2018.05.0 → v2018.12.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump barebox from v2018.05.0 to v2018.12.0. This barebox release officially supports RPI3, this will be enabled in a later commit. Signed-off-by: Rouven Czerwinski --- ...glebone-add-state-entry-for-mmc0-and-mmc1.patch | 35 --- ...101-ARM-imx-add-support-for-Udoo-Neo-full.patch | 320 --------------------- ...1-Release-pengutronix-multi_v7-20180515-1.patch | 22 -- .../platform-v7a/patches/barebox-2018.05.0/series | 15 - ...001-ARM-imx-add-support-for-Udoo-Neo-full.patch | 320 +++++++++++++++++++++ ...8.12.0-customers-pengutronix-multiv7-2018.patch | 22 ++ .../platform-v7a/patches/barebox-2018.12.0/series | 11 + 7 files changed, 353 insertions(+), 392 deletions(-) delete mode 100644 configs/platform-v7a/patches/barebox-2018.05.0/0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch delete mode 100644 configs/platform-v7a/patches/barebox-2018.05.0/0101-ARM-imx-add-support-for-Udoo-Neo-full.patch delete mode 100644 configs/platform-v7a/patches/barebox-2018.05.0/0201-Release-pengutronix-multi_v7-20180515-1.patch delete mode 100644 configs/platform-v7a/patches/barebox-2018.05.0/series create mode 100644 configs/platform-v7a/patches/barebox-2018.12.0/0001-ARM-imx-add-support-for-Udoo-Neo-full.patch create mode 100644 configs/platform-v7a/patches/barebox-2018.12.0/0101-Release-2018.12.0-customers-pengutronix-multiv7-2018.patch create mode 100644 configs/platform-v7a/patches/barebox-2018.12.0/series (limited to 'configs/platform-v7a/patches') diff --git a/configs/platform-v7a/patches/barebox-2018.05.0/0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch b/configs/platform-v7a/patches/barebox-2018.05.0/0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch deleted file mode 100644 index cfca106..0000000 --- a/configs/platform-v7a/patches/barebox-2018.05.0/0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Michael Grzeschik -Date: Fri, 10 Jun 2016 14:02:30 +0200 -Subject: [PATCH] beaglebone: add state entry for mmc0 and mmc1 - -Signed-off-by: Michael Grzeschik ---- - arch/arm/dts/am335x-bone-common.dtsi | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/arch/arm/dts/am335x-bone-common.dtsi b/arch/arm/dts/am335x-bone-common.dtsi -index 0413724e0ca1..6e58714516fd 100644 ---- a/arch/arm/dts/am335x-bone-common.dtsi -+++ b/arch/arm/dts/am335x-bone-common.dtsi -@@ -11,6 +11,21 @@ - linux,stdout-path = &uart0; - }; - -+ bootstate: bootstate { -+ compatible = "barebox,bootstate"; -+ backend-type = "nv"; -+ -+ system0 { -+ default_attempts = <3>; -+ boot = "mmc0"; -+ }; -+ -+ system1 { -+ default_attempts = <3>; -+ boot = "mmc1"; -+ }; -+ }; -+ - cpus { - cpu@0 { - cpu0-supply = <&dcdc2_reg>; diff --git a/configs/platform-v7a/patches/barebox-2018.05.0/0101-ARM-imx-add-support-for-Udoo-Neo-full.patch b/configs/platform-v7a/patches/barebox-2018.05.0/0101-ARM-imx-add-support-for-Udoo-Neo-full.patch deleted file mode 100644 index 06c356b..0000000 --- a/configs/platform-v7a/patches/barebox-2018.05.0/0101-ARM-imx-add-support-for-Udoo-Neo-full.patch +++ /dev/null @@ -1,320 +0,0 @@ -From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= -Date: Wed, 14 Jun 2017 18:32:15 +0200 -Subject: [PATCH] ARM: imx: add support for Udoo Neo full -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Uwe Kleine-König -Forwarded: id:20170627190317.19253-1-uwe@kleine-koenig.org ---- - arch/arm/boards/Makefile | 1 + - arch/arm/boards/udoo-neo/Makefile | 2 + - arch/arm/boards/udoo-neo/board.c | 27 ++++ - .../flash-header-mx6sx-udoo-neo_full.imxcfg | 124 ++++++++++++++++++ - arch/arm/boards/udoo-neo/lowlevel.c | 39 ++++++ - arch/arm/dts/Makefile | 1 + - arch/arm/dts/imx6sx-udoo-neo-full.dts | 4 + - arch/arm/mach-imx/Kconfig | 4 + - arch/arm/mach-imx/include/mach/esdctl.h | 1 + - images/Makefile.imx | 5 + - 10 files changed, 208 insertions(+) - create mode 100644 arch/arm/boards/udoo-neo/Makefile - create mode 100644 arch/arm/boards/udoo-neo/board.c - create mode 100644 arch/arm/boards/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg - create mode 100644 arch/arm/boards/udoo-neo/lowlevel.c - create mode 100644 arch/arm/dts/imx6sx-udoo-neo-full.dts - -diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile -index 30f4c299f1a1..f70fbac8f379 100644 ---- a/arch/arm/boards/Makefile -+++ b/arch/arm/boards/Makefile -@@ -135,6 +135,7 @@ obj-$(CONFIG_MACH_TX51) += karo-tx51/ - obj-$(CONFIG_MACH_TX53) += karo-tx53/ - obj-$(CONFIG_MACH_TX6X) += karo-tx6x/ - obj-$(CONFIG_MACH_UDOO) += udoo/ -+obj-$(CONFIG_MACH_UDOO_NEO) += udoo-neo/ - obj-$(CONFIG_MACH_USB_A9260) += usb-a926x/ - obj-$(CONFIG_MACH_USB_A9263) += usb-a926x/ - obj-$(CONFIG_MACH_USB_A9G20) += usb-a926x/ -diff --git a/arch/arm/boards/udoo-neo/Makefile b/arch/arm/boards/udoo-neo/Makefile -new file mode 100644 -index 000000000000..01c7a259e9a5 ---- /dev/null -+++ b/arch/arm/boards/udoo-neo/Makefile -@@ -0,0 +1,2 @@ -+obj-y += board.o -+lwl-y += lowlevel.o -diff --git a/arch/arm/boards/udoo-neo/board.c b/arch/arm/boards/udoo-neo/board.c -new file mode 100644 -index 000000000000..9bf480305d70 ---- /dev/null -+++ b/arch/arm/boards/udoo-neo/board.c -@@ -0,0 +1,27 @@ -+/* -+ * Copyright (C) 2014 Pengutronix, Sascha Hauer -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License -+ * version 2, as published by the Free Software Foundation. -+ * -+ * 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. -+ */ -+ -+#include -+#include -+#include -+ -+static int imx6sx_udoneo_coredevices_init(void) -+{ -+ if (!of_machine_is_compatible("fsl,imx6sx-udoo-neo")) -+ return 0; -+ -+ barebox_set_hostname("mx6sx-udooneo"); -+ -+ return 0; -+} -+coredevice_initcall(imx6sx_udoneo_coredevices_init); -diff --git a/arch/arm/boards/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg b/arch/arm/boards/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg -new file mode 100644 -index 000000000000..176aff49b3ec ---- /dev/null -+++ b/arch/arm/boards/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg -@@ -0,0 +1,124 @@ -+loadaddr 0x80000000 -+soc imx6 -+dcdofs 0x400 -+ -+/* Enable all clocks */ -+wm 32 0x020c4068 0xffffffff -+wm 32 0x020c406c 0xffffffff -+wm 32 0x020c4070 0xffffffff -+wm 32 0x020c4074 0xffffffff -+wm 32 0x020c4078 0xffffffff -+wm 32 0x020c407c 0xffffffff -+wm 32 0x020c4080 0xffffffff -+wm 32 0x020c4084 0xffffffff -+/********************************************/ -+ -+/* IOMUX */ -+/* DDR IO TYPE */ -+wm 32 0x020e0618 0x000c0000 -+wm 32 0x020e05fc 0x00000000 -+/********************************************/ -+ -+/* CLOCK */ -+wm 32 0x020e032c 0x00000030 -+/********************************************/ -+ -+/* ADDRESS */ -+wm 32 0x020e0300 0x00000020 -+wm 32 0x020e02fc 0x00000020 -+wm 32 0x020e05f4 0x00000020 -+/********************************************/ -+ -+/* CONTROL */ -+wm 32 0x020e0340 0x00000020 -+ -+wm 32 0x020e0320 0x00000000 -+wm 32 0x020e0310 0x00000020 -+wm 32 0x020e0314 0x00000020 -+wm 32 0x020e0614 0x00000020 -+/********************************************/ -+ -+/* DATA STROBE */ -+wm 32 0x020e05f8 0x00020000 -+wm 32 0x020e0330 0x00000028 -+wm 32 0x020e0334 0x00000028 -+wm 32 0x020e0338 0x00000028 -+wm 32 0x020e033c 0x00000028 -+/********************************************/ -+ -+/* DATA */ -+wm 32 0x020e0608 0x00020000 -+wm 32 0x020e060c 0x00000028 -+wm 32 0x020e0610 0x00000028 -+wm 32 0x020e061c 0x00000028 -+wm 32 0x020e0620 0x00000028 -+wm 32 0x020e02ec 0x00000028 -+wm 32 0x020e02f0 0x00000028 -+wm 32 0x020e02f4 0x00000028 -+wm 32 0x020e02f8 0x00000028 -+/********************************************/ -+ -+/* Calibrations */ -+/* ZQ */ -+wm 32 0x021b0800 0xa1390003 -+/********************************************/ -+ -+/* write leveling */ -+wm 32 0x021b080c 0x001E0022 -+wm 32 0x021b0810 0x001C0019 -+/********************************************/ -+ -+/* DQS Read Gate */ -+wm 32 0x021b083c 0x41540150 -+wm 32 0x021b0840 0x01440138 -+/********************************************/ -+ -+/* Read/Write Delay */ -+wm 32 0x021b0848 0x403E4644 -+wm 32 0x021b0850 0x3C3A4038 -+/********************************************/ -+ -+/* read data bit delay */ -+wm 32 0x021b081c 0x33333333 -+wm 32 0x021b0820 0x33333333 -+wm 32 0x021b0824 0x33333333 -+wm 32 0x021b0828 0x33333333 -+/********************************************/ -+ -+/* Complete calibration by forced measurment */ -+wm 32 0x021b08b8 0x00000800 -+/********************************************/ -+ -+/* MMDC init */ -+/* in DDR3, 64-bit mode, only MMDC0 is initiated */ -+wm 32 0x021b0004 0x0002002d -+wm 32 0x021b0008 0x00333030 -+wm 32 0x021b000c 0x676b52f3 -+wm 32 0x021b0010 0xb66d8b63 -+wm 32 0x021b0014 0x01ff00db -+wm 32 0x021b0018 0x00011740 -+wm 32 0x021b001c 0x00008000 -+wm 32 0x021b002c 0x000026d2 -+wm 32 0x021b0030 0x006b1023 -+wm 32 0x021b0040 0x0000005f -+wm 32 0x021b0000 0x83190000 -+/********************************************/ -+ -+/* Initialize MT41K256M16HA-125 */ -+/* MR2 */ -+wm 32 0x021b001c 0x04008032 -+/* MR3 */ -+wm 32 0x021b001c 0x00008033 -+/* MR1 */ -+wm 32 0x021b001c 0x00048031 -+/* MR0 */ -+wm 32 0x021b001c 0x05208030 -+/* DDR device ZQ calibration */ -+wm 32 0x021b001c 0x04008040 -+/********************************************/ -+ -+/* final DDR setup, before operation start */ -+wm 32 0x021b0020 0x00000800 -+wm 32 0x021b0818 0x00011117 -+wm 32 0x021b001c 0x00000000 -+/********************************************/ -diff --git a/arch/arm/boards/udoo-neo/lowlevel.c b/arch/arm/boards/udoo-neo/lowlevel.c -new file mode 100644 -index 000000000000..e78c2685fd78 ---- /dev/null -+++ b/arch/arm/boards/udoo-neo/lowlevel.c -@@ -0,0 +1,39 @@ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static inline void setup_uart(void) -+{ -+ void __iomem *iomuxbase = (void *)MX6_IOMUXC_BASE_ADDR; -+ -+ imx6_ungate_all_peripherals(); -+ -+ writel(0x0, iomuxbase + 0x24); -+ writel(0x1b0b1, iomuxbase + 0x036C); -+ writel(0x0, iomuxbase + 0x28); -+ writel(0x1b0b1, iomuxbase + 0x0370); -+ -+ imx6_uart_setup_ll(); -+ -+ putc_ll('>'); -+} -+ -+extern char __dtb_imx6sx_udoo_neo_full_start[]; -+ -+ENTRY_FUNCTION(start_imx6sx_udoo_neo, r0, r1, r2) -+{ -+ void *fdt; -+ -+ imx6_cpu_lowlevel_init(); -+ -+ if (IS_ENABLED(CONFIG_DEBUG_LL)) -+ setup_uart(); -+ -+ fdt = __dtb_imx6sx_udoo_neo_full_start - get_runtime_offset(); -+ -+ imx6sx_barebox_entry(fdt); -+} -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index e60e0ea0c6be..b87e27c8c263 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -93,6 +93,7 @@ pbl-dtb-$(CONFIG_MACH_TX6X) += imx6dl-tx6u.dtb.o - pbl-dtb-$(CONFIG_MACH_TX6X) += imx6q-tx6q.dtb.o - pbl-dtb-$(CONFIG_MACH_TURRIS_OMNIA) += armada-385-turris-omnia-bb.dtb.o - pbl-dtb-$(CONFIG_MACH_UDOO) += imx6q-udoo.dtb.o -+pbl-dtb-$(CONFIG_MACH_UDOO_NEO) += imx6sx-udoo-neo-full.dtb.o - pbl-dtb-$(CONFIG_MACH_USI_TOPKICK) += kirkwood-topkick-bb.dtb.o - pbl-dtb-$(CONFIG_MACH_VARISCITE_MX6) += imx6q-var-custom.dtb.o - pbl-dtb-$(CONFIG_MACH_VEXPRESS) += vexpress-v2p-ca9.dtb.o -diff --git a/arch/arm/dts/imx6sx-udoo-neo-full.dts b/arch/arm/dts/imx6sx-udoo-neo-full.dts -new file mode 100644 -index 000000000000..9203d40207c5 ---- /dev/null -+++ b/arch/arm/dts/imx6sx-udoo-neo-full.dts -@@ -0,0 +1,4 @@ -+#include -+ -+/{ -+}; -diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig -index 9052a94ea071..9ec95bb6df09 100644 ---- a/arch/arm/mach-imx/Kconfig -+++ b/arch/arm/mach-imx/Kconfig -@@ -377,6 +377,10 @@ config MACH_UDOO - bool "Freescale i.MX6 UDOO Board" - select ARCH_IMX6 - -+config MACH_UDOO_NEO -+ bool "i.MX6 UDOO Neo Board (full variant)" -+ select ARCH_IMX6SX -+ - config MACH_VARISCITE_MX6 - bool "Variscite i.MX6 Quad SOM" - select ARCH_IMX6 -diff --git a/arch/arm/mach-imx/include/mach/esdctl.h b/arch/arm/mach-imx/include/mach/esdctl.h -index 66dcc8974cfb..bd6092febca4 100644 ---- a/arch/arm/mach-imx/include/mach/esdctl.h -+++ b/arch/arm/mach-imx/include/mach/esdctl.h -@@ -137,6 +137,7 @@ void __noreturn imx51_barebox_entry(void *boarddata); - void __noreturn imx53_barebox_entry(void *boarddata); - void __noreturn imx6q_barebox_entry(void *boarddata); - void __noreturn imx6ul_barebox_entry(void *boarddata); -+#define imx6sx_barebox_entry(boarddata) imx6ul_barebox_entry(boarddata) - void imx_esdctl_disable(void); - #endif - -diff --git a/images/Makefile.imx b/images/Makefile.imx -index 90da95d4d025..6420490811f9 100644 ---- a/images/Makefile.imx -+++ b/images/Makefile.imx -@@ -275,6 +275,11 @@ CFG_start_imx6q_sabresd.pblx.imximg = $(board)/freescale-mx6-sabresd/flash-heade - FILE_barebox-freescale-imx6q-sabresd.img = start_imx6q_sabresd.pblx.imximg - image-$(CONFIG_MACH_SABRESD) += barebox-freescale-imx6q-sabresd.img - -+pblx-$(CONFIG_MACH_UDOO_NEO) += start_imx6sx_udoo_neo -+CFG_start_imx6sx_udoo_neo.pblx.imximg = $(board)/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg -+FILE_barebox-udoo-neo.img = start_imx6sx_udoo_neo.pblx.imximg -+image-$(CONFIG_MACH_UDOO_NEO) += barebox-udoo-neo.img -+ - pblx-$(CONFIG_MACH_FREESCALE_IMX6SX_SABRESDB) += start_imx6sx_sabresdb - CFG_start_imx6sx_sabresdb.pblx.imximg = $(board)/freescale-mx6sx-sabresdb/flash-header-mx6sx-sabresdb.imxcfg - FILE_barebox-freescale-imx6sx-sabresdb.img = start_imx6sx_sabresdb.pblx.imximg diff --git a/configs/platform-v7a/patches/barebox-2018.05.0/0201-Release-pengutronix-multi_v7-20180515-1.patch b/configs/platform-v7a/patches/barebox-2018.05.0/0201-Release-pengutronix-multi_v7-20180515-1.patch deleted file mode 100644 index 4b0c22d..0000000 --- a/configs/platform-v7a/patches/barebox-2018.05.0/0201-Release-pengutronix-multi_v7-20180515-1.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Roland Hieber -Date: Tue, 15 May 2018 23:44:48 +0200 -Subject: [PATCH] Release pengutronix/multi_v7/20180515-1 - -Signed-off-by: Roland Hieber ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 88c19917394f..11e79cc339f4 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,7 +1,7 @@ - VERSION = 2018 - PATCHLEVEL = 05 - SUBLEVEL = 0 --EXTRAVERSION = -+EXTRAVERSION =-20180515-1 - NAME = None - - # *DOCUMENTATION* diff --git a/configs/platform-v7a/patches/barebox-2018.05.0/series b/configs/platform-v7a/patches/barebox-2018.05.0/series deleted file mode 100644 index 272791c..0000000 --- a/configs/platform-v7a/patches/barebox-2018.05.0/series +++ /dev/null @@ -1,15 +0,0 @@ -# umpf-base: v2018.05.0 -# umpf-name: pengutronix/multi_v7 -# umpf-version: pengutronix/multi_v7/20180515-1 -# umpf-topic: v2018.05.0/customers/pengutronix/beaglebone -# umpf-hashinfo: d1f50bff60c7069caad2df4ef02f672be456f141 -# umpf-topic-range: cd4320e3e86bd2ab7b4a19016ef8df6c5d69a5a5..d1f50bff60c7069caad2df4ef02f672be456f141 -0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch -# umpf-topic: v2018.05.0/customers/pengutronix/udoo-neo -# umpf-hashinfo: 772e5039c9a147256a085c76a74cf5cb5c14ec35 -# umpf-topic-range: d1f50bff60c7069caad2df4ef02f672be456f141..183d8e8d0ccf827481923b3872144e2c10ef9fac -0101-ARM-imx-add-support-for-Udoo-Neo-full.patch -# umpf-release: pengutronix/multi_v7/20180515-1 -# umpf-topic-range: 183d8e8d0ccf827481923b3872144e2c10ef9fac..734e18abc455f563837dd6ad0df6fb9378053b00 -0201-Release-pengutronix-multi_v7-20180515-1.patch -# umpf-end diff --git a/configs/platform-v7a/patches/barebox-2018.12.0/0001-ARM-imx-add-support-for-Udoo-Neo-full.patch b/configs/platform-v7a/patches/barebox-2018.12.0/0001-ARM-imx-add-support-for-Udoo-Neo-full.patch new file mode 100644 index 0000000..885dd61 --- /dev/null +++ b/configs/platform-v7a/patches/barebox-2018.12.0/0001-ARM-imx-add-support-for-Udoo-Neo-full.patch @@ -0,0 +1,320 @@ +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= +Date: Wed, 14 Jun 2017 18:32:15 +0200 +Subject: [PATCH] ARM: imx: add support for Udoo Neo full +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Uwe Kleine-König +Forwarded: id:20170627190317.19253-1-uwe@kleine-koenig.org +--- + arch/arm/boards/Makefile | 1 + + arch/arm/boards/udoo-neo/Makefile | 2 + + arch/arm/boards/udoo-neo/board.c | 27 ++++ + .../flash-header-mx6sx-udoo-neo_full.imxcfg | 124 ++++++++++++++++++ + arch/arm/boards/udoo-neo/lowlevel.c | 39 ++++++ + arch/arm/dts/Makefile | 1 + + arch/arm/dts/imx6sx-udoo-neo-full.dts | 4 + + arch/arm/mach-imx/Kconfig | 4 + + arch/arm/mach-imx/include/mach/esdctl.h | 1 + + images/Makefile.imx | 5 + + 10 files changed, 208 insertions(+) + create mode 100644 arch/arm/boards/udoo-neo/Makefile + create mode 100644 arch/arm/boards/udoo-neo/board.c + create mode 100644 arch/arm/boards/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg + create mode 100644 arch/arm/boards/udoo-neo/lowlevel.c + create mode 100644 arch/arm/dts/imx6sx-udoo-neo-full.dts + +diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile +index 3bf176b14dc2..953a6eec12e4 100644 +--- a/arch/arm/boards/Makefile ++++ b/arch/arm/boards/Makefile +@@ -139,6 +139,7 @@ obj-$(CONFIG_MACH_TX51) += karo-tx51/ + obj-$(CONFIG_MACH_TX53) += karo-tx53/ + obj-$(CONFIG_MACH_TX6X) += karo-tx6x/ + obj-$(CONFIG_MACH_UDOO) += udoo/ ++obj-$(CONFIG_MACH_UDOO_NEO) += udoo-neo/ + obj-$(CONFIG_MACH_USB_A9260) += usb-a926x/ + obj-$(CONFIG_MACH_USB_A9263) += usb-a926x/ + obj-$(CONFIG_MACH_USB_A9G20) += usb-a926x/ +diff --git a/arch/arm/boards/udoo-neo/Makefile b/arch/arm/boards/udoo-neo/Makefile +new file mode 100644 +index 000000000000..01c7a259e9a5 +--- /dev/null ++++ b/arch/arm/boards/udoo-neo/Makefile +@@ -0,0 +1,2 @@ ++obj-y += board.o ++lwl-y += lowlevel.o +diff --git a/arch/arm/boards/udoo-neo/board.c b/arch/arm/boards/udoo-neo/board.c +new file mode 100644 +index 000000000000..9bf480305d70 +--- /dev/null ++++ b/arch/arm/boards/udoo-neo/board.c +@@ -0,0 +1,27 @@ ++/* ++ * Copyright (C) 2014 Pengutronix, Sascha Hauer ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * version 2, as published by the Free Software Foundation. ++ * ++ * 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. ++ */ ++ ++#include ++#include ++#include ++ ++static int imx6sx_udoneo_coredevices_init(void) ++{ ++ if (!of_machine_is_compatible("fsl,imx6sx-udoo-neo")) ++ return 0; ++ ++ barebox_set_hostname("mx6sx-udooneo"); ++ ++ return 0; ++} ++coredevice_initcall(imx6sx_udoneo_coredevices_init); +diff --git a/arch/arm/boards/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg b/arch/arm/boards/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg +new file mode 100644 +index 000000000000..176aff49b3ec +--- /dev/null ++++ b/arch/arm/boards/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg +@@ -0,0 +1,124 @@ ++loadaddr 0x80000000 ++soc imx6 ++dcdofs 0x400 ++ ++/* Enable all clocks */ ++wm 32 0x020c4068 0xffffffff ++wm 32 0x020c406c 0xffffffff ++wm 32 0x020c4070 0xffffffff ++wm 32 0x020c4074 0xffffffff ++wm 32 0x020c4078 0xffffffff ++wm 32 0x020c407c 0xffffffff ++wm 32 0x020c4080 0xffffffff ++wm 32 0x020c4084 0xffffffff ++/********************************************/ ++ ++/* IOMUX */ ++/* DDR IO TYPE */ ++wm 32 0x020e0618 0x000c0000 ++wm 32 0x020e05fc 0x00000000 ++/********************************************/ ++ ++/* CLOCK */ ++wm 32 0x020e032c 0x00000030 ++/********************************************/ ++ ++/* ADDRESS */ ++wm 32 0x020e0300 0x00000020 ++wm 32 0x020e02fc 0x00000020 ++wm 32 0x020e05f4 0x00000020 ++/********************************************/ ++ ++/* CONTROL */ ++wm 32 0x020e0340 0x00000020 ++ ++wm 32 0x020e0320 0x00000000 ++wm 32 0x020e0310 0x00000020 ++wm 32 0x020e0314 0x00000020 ++wm 32 0x020e0614 0x00000020 ++/********************************************/ ++ ++/* DATA STROBE */ ++wm 32 0x020e05f8 0x00020000 ++wm 32 0x020e0330 0x00000028 ++wm 32 0x020e0334 0x00000028 ++wm 32 0x020e0338 0x00000028 ++wm 32 0x020e033c 0x00000028 ++/********************************************/ ++ ++/* DATA */ ++wm 32 0x020e0608 0x00020000 ++wm 32 0x020e060c 0x00000028 ++wm 32 0x020e0610 0x00000028 ++wm 32 0x020e061c 0x00000028 ++wm 32 0x020e0620 0x00000028 ++wm 32 0x020e02ec 0x00000028 ++wm 32 0x020e02f0 0x00000028 ++wm 32 0x020e02f4 0x00000028 ++wm 32 0x020e02f8 0x00000028 ++/********************************************/ ++ ++/* Calibrations */ ++/* ZQ */ ++wm 32 0x021b0800 0xa1390003 ++/********************************************/ ++ ++/* write leveling */ ++wm 32 0x021b080c 0x001E0022 ++wm 32 0x021b0810 0x001C0019 ++/********************************************/ ++ ++/* DQS Read Gate */ ++wm 32 0x021b083c 0x41540150 ++wm 32 0x021b0840 0x01440138 ++/********************************************/ ++ ++/* Read/Write Delay */ ++wm 32 0x021b0848 0x403E4644 ++wm 32 0x021b0850 0x3C3A4038 ++/********************************************/ ++ ++/* read data bit delay */ ++wm 32 0x021b081c 0x33333333 ++wm 32 0x021b0820 0x33333333 ++wm 32 0x021b0824 0x33333333 ++wm 32 0x021b0828 0x33333333 ++/********************************************/ ++ ++/* Complete calibration by forced measurment */ ++wm 32 0x021b08b8 0x00000800 ++/********************************************/ ++ ++/* MMDC init */ ++/* in DDR3, 64-bit mode, only MMDC0 is initiated */ ++wm 32 0x021b0004 0x0002002d ++wm 32 0x021b0008 0x00333030 ++wm 32 0x021b000c 0x676b52f3 ++wm 32 0x021b0010 0xb66d8b63 ++wm 32 0x021b0014 0x01ff00db ++wm 32 0x021b0018 0x00011740 ++wm 32 0x021b001c 0x00008000 ++wm 32 0x021b002c 0x000026d2 ++wm 32 0x021b0030 0x006b1023 ++wm 32 0x021b0040 0x0000005f ++wm 32 0x021b0000 0x83190000 ++/********************************************/ ++ ++/* Initialize MT41K256M16HA-125 */ ++/* MR2 */ ++wm 32 0x021b001c 0x04008032 ++/* MR3 */ ++wm 32 0x021b001c 0x00008033 ++/* MR1 */ ++wm 32 0x021b001c 0x00048031 ++/* MR0 */ ++wm 32 0x021b001c 0x05208030 ++/* DDR device ZQ calibration */ ++wm 32 0x021b001c 0x04008040 ++/********************************************/ ++ ++/* final DDR setup, before operation start */ ++wm 32 0x021b0020 0x00000800 ++wm 32 0x021b0818 0x00011117 ++wm 32 0x021b001c 0x00000000 ++/********************************************/ +diff --git a/arch/arm/boards/udoo-neo/lowlevel.c b/arch/arm/boards/udoo-neo/lowlevel.c +new file mode 100644 +index 000000000000..e78c2685fd78 +--- /dev/null ++++ b/arch/arm/boards/udoo-neo/lowlevel.c +@@ -0,0 +1,39 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static inline void setup_uart(void) ++{ ++ void __iomem *iomuxbase = (void *)MX6_IOMUXC_BASE_ADDR; ++ ++ imx6_ungate_all_peripherals(); ++ ++ writel(0x0, iomuxbase + 0x24); ++ writel(0x1b0b1, iomuxbase + 0x036C); ++ writel(0x0, iomuxbase + 0x28); ++ writel(0x1b0b1, iomuxbase + 0x0370); ++ ++ imx6_uart_setup_ll(); ++ ++ putc_ll('>'); ++} ++ ++extern char __dtb_imx6sx_udoo_neo_full_start[]; ++ ++ENTRY_FUNCTION(start_imx6sx_udoo_neo, r0, r1, r2) ++{ ++ void *fdt; ++ ++ imx6_cpu_lowlevel_init(); ++ ++ if (IS_ENABLED(CONFIG_DEBUG_LL)) ++ setup_uart(); ++ ++ fdt = __dtb_imx6sx_udoo_neo_full_start - get_runtime_offset(); ++ ++ imx6sx_barebox_entry(fdt); ++} +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 503d9b18f9c1..eadffc7b7c44 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -98,6 +98,7 @@ pbl-dtb-$(CONFIG_MACH_TX6X) += imx6dl-tx6u.dtb.o + pbl-dtb-$(CONFIG_MACH_TX6X) += imx6q-tx6q.dtb.o + pbl-dtb-$(CONFIG_MACH_TURRIS_OMNIA) += armada-385-turris-omnia-bb.dtb.o + pbl-dtb-$(CONFIG_MACH_UDOO) += imx6q-udoo.dtb.o ++pbl-dtb-$(CONFIG_MACH_UDOO_NEO) += imx6sx-udoo-neo-full.dtb.o + pbl-dtb-$(CONFIG_MACH_USI_TOPKICK) += kirkwood-topkick-bb.dtb.o + pbl-dtb-$(CONFIG_MACH_VARISCITE_MX6) += imx6q-var-custom.dtb.o + pbl-dtb-$(CONFIG_MACH_VEXPRESS) += vexpress-v2p-ca9.dtb.o +diff --git a/arch/arm/dts/imx6sx-udoo-neo-full.dts b/arch/arm/dts/imx6sx-udoo-neo-full.dts +new file mode 100644 +index 000000000000..9203d40207c5 +--- /dev/null ++++ b/arch/arm/dts/imx6sx-udoo-neo-full.dts +@@ -0,0 +1,4 @@ ++#include ++ ++/{ ++}; +diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig +index edfc85113880..6f86175b24e9 100644 +--- a/arch/arm/mach-imx/Kconfig ++++ b/arch/arm/mach-imx/Kconfig +@@ -392,6 +392,10 @@ config MACH_UDOO + bool "Freescale i.MX6 UDOO Board" + select ARCH_IMX6 + ++config MACH_UDOO_NEO ++ bool "i.MX6 UDOO Neo Board (full variant)" ++ select ARCH_IMX6SX ++ + config MACH_VARISCITE_MX6 + bool "Variscite i.MX6 Quad SOM" + select ARCH_IMX6 +diff --git a/arch/arm/mach-imx/include/mach/esdctl.h b/arch/arm/mach-imx/include/mach/esdctl.h +index bc6c7339535e..18c4a2836007 100644 +--- a/arch/arm/mach-imx/include/mach/esdctl.h ++++ b/arch/arm/mach-imx/include/mach/esdctl.h +@@ -141,6 +141,7 @@ void __noreturn imx6ul_barebox_entry(void *boarddata); + void __noreturn vf610_barebox_entry(void *boarddata); + void __noreturn imx8mq_barebox_entry(void *boarddata); + void __noreturn imx7d_barebox_entry(void *boarddata); ++#define imx6sx_barebox_entry(boarddata) imx6ul_barebox_entry(boarddata) + void imx_esdctl_disable(void); + #endif + +diff --git a/images/Makefile.imx b/images/Makefile.imx +index 9b5cd577d285..257561464504 100644 +--- a/images/Makefile.imx ++++ b/images/Makefile.imx +@@ -271,6 +271,11 @@ CFG_start_imx6q_sabresd.pblx.imximg = $(board)/freescale-mx6-sabresd/flash-heade + FILE_barebox-freescale-imx6q-sabresd.img = start_imx6q_sabresd.pblx.imximg + image-$(CONFIG_MACH_SABRESD) += barebox-freescale-imx6q-sabresd.img + ++pblx-$(CONFIG_MACH_UDOO_NEO) += start_imx6sx_udoo_neo ++CFG_start_imx6sx_udoo_neo.pblx.imximg = $(board)/udoo-neo/flash-header-mx6sx-udoo-neo_full.imxcfg ++FILE_barebox-udoo-neo.img = start_imx6sx_udoo_neo.pblx.imximg ++image-$(CONFIG_MACH_UDOO_NEO) += barebox-udoo-neo.img ++ + pblx-$(CONFIG_MACH_FREESCALE_IMX6SX_SABRESDB) += start_imx6sx_sabresdb + CFG_start_imx6sx_sabresdb.pblx.imximg = $(board)/freescale-mx6sx-sabresdb/flash-header-mx6sx-sabresdb.imxcfg + FILE_barebox-freescale-imx6sx-sabresdb.img = start_imx6sx_sabresdb.pblx.imximg diff --git a/configs/platform-v7a/patches/barebox-2018.12.0/0101-Release-2018.12.0-customers-pengutronix-multiv7-2018.patch b/configs/platform-v7a/patches/barebox-2018.12.0/0101-Release-2018.12.0-customers-pengutronix-multiv7-2018.patch new file mode 100644 index 0000000..836a7ff --- /dev/null +++ b/configs/platform-v7a/patches/barebox-2018.12.0/0101-Release-2018.12.0-customers-pengutronix-multiv7-2018.patch @@ -0,0 +1,22 @@ +From: Rouven Czerwinski +Date: Fri, 7 Dec 2018 15:18:01 +0100 +Subject: [PATCH] Release 2018.12.0/customers/pengutronix/multiv7/20181207-1 + +Signed-off-by: Rouven Czerwinski +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ce50d025e47..84de26cbb028 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + VERSION = 2018 + PATCHLEVEL = 12 + SUBLEVEL = 0 +-EXTRAVERSION = ++EXTRAVERSION =-20181207-1 + NAME = None + + # *DOCUMENTATION* diff --git a/configs/platform-v7a/patches/barebox-2018.12.0/series b/configs/platform-v7a/patches/barebox-2018.12.0/series new file mode 100644 index 0000000..776d279 --- /dev/null +++ b/configs/platform-v7a/patches/barebox-2018.12.0/series @@ -0,0 +1,11 @@ +# umpf-base: v2018.12.0 +# umpf-name: 2018.12.0/customers/pengutronix/multiv7 +# umpf-version: 2018.12.0/customers/pengutronix/multiv7/20181207-1 +# umpf-topic: v2018.11.0/customers/pengutronix/udoo-neo +# umpf-hashinfo: c5f2e150d7e8d5439458df1a2cab71b25fc36e19 +# umpf-topic-range: 0b5361a328632e64c14a54306119093a0c7fecdf..91bbdb966ae2431a0fa298d5976e9435312f555a +0001-ARM-imx-add-support-for-Udoo-Neo-full.patch +# umpf-release: 2018.12.0/customers/pengutronix/multiv7/20181207-1 +# umpf-topic-range: 91bbdb966ae2431a0fa298d5976e9435312f555a..aaff0754c24c6911d3ba72f96d37fedf8007d3e6 +0101-Release-2018.12.0-customers-pengutronix-multiv7-2018.patch +# umpf-end -- cgit v1.2.3