summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches/barebox-2017.07.0/0203-ARM-imx-add-support-for-Udoo-Neo-full.patch
diff options
context:
space:
mode:
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2017.07.0/0203-ARM-imx-add-support-for-Udoo-Neo-full.patch')
-rw-r--r--configs/platform-v7a/patches/barebox-2017.07.0/0203-ARM-imx-add-support-for-Udoo-Neo-full.patch320
1 files changed, 0 insertions, 320 deletions
diff --git a/configs/platform-v7a/patches/barebox-2017.07.0/0203-ARM-imx-add-support-for-Udoo-Neo-full.patch b/configs/platform-v7a/patches/barebox-2017.07.0/0203-ARM-imx-add-support-for-Udoo-Neo-full.patch
deleted file mode 100644
index fc6345f..0000000
--- a/configs/platform-v7a/patches/barebox-2017.07.0/0203-ARM-imx-add-support-for-Udoo-Neo-full.patch
+++ /dev/null
@@ -1,320 +0,0 @@
-From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
-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 <u.kleine-koenig@pengutronix.de>
-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 f2d4d3878524..b0e68db71da7 100644
---- a/arch/arm/boards/Makefile
-+++ b/arch/arm/boards/Makefile
-@@ -131,6 +131,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 <common.h>
-+#include <init.h>
-+#include <linux/clk.h>
-+
-+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 <debug_ll.h>
-+#include <common.h>
-+#include <linux/sizes.h>
-+#include <mach/generic.h>
-+#include <asm/barebox-arm-head.h>
-+#include <asm/barebox-arm.h>
-+#include <mach/esdctl.h>
-+
-+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 806d38600169..ea0fa04bf41c 100644
---- a/arch/arm/dts/Makefile
-+++ b/arch/arm/dts/Makefile
-@@ -84,6 +84,7 @@ pbl-dtb-$(CONFIG_MACH_TX25) += imx25-karo-tx25.dtb.o
- pbl-dtb-$(CONFIG_MACH_TX6X) += imx6dl-tx6u.dtb.o
- pbl-dtb-$(CONFIG_MACH_TX6X) += imx6q-tx6q.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_VSCOM_BALTOS) += am335x-baltos-minimal.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 <arm/imx6sx-udoo-neo-full.dts>
-+
-+/{
-+};
-diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
-index 6110924af642..204d0d59994e 100644
---- a/arch/arm/mach-imx/Kconfig
-+++ b/arch/arm/mach-imx/Kconfig
-@@ -362,6 +362,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 88d3e5e339ac..b2ebd5c4bfbc 100644
---- a/images/Makefile.imx
-+++ b/images/Makefile.imx
-@@ -260,6 +260,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