summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches/barebox-2017.11.0
diff options
context:
space:
mode:
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2017.11.0')
-rw-r--r--configs/platform-v7a/patches/barebox-2017.11.0/0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch35
-rw-r--r--configs/platform-v7a/patches/barebox-2017.11.0/0101-ARM-imx-add-support-for-Udoo-Neo-full.patch320
-rw-r--r--configs/platform-v7a/patches/barebox-2017.11.0/0201-Release-2017.11.0-pengutronix-multi_v7-20171113-1.patch22
-rw-r--r--configs/platform-v7a/patches/barebox-2017.11.0/series15
4 files changed, 392 insertions, 0 deletions
diff --git a/configs/platform-v7a/patches/barebox-2017.11.0/0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch b/configs/platform-v7a/patches/barebox-2017.11.0/0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch
new file mode 100644
index 0000000..4dfd47c
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2017.11.0/0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch
@@ -0,0 +1,35 @@
+From: Michael Grzeschik <m.grzeschik@pengutronix.de>
+Date: Fri, 10 Jun 2016 14:02:30 +0200
+Subject: [PATCH] beaglebone: add state entry for mmc0 and mmc1
+
+Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
+---
+ 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 ef97d906616c..d14c6ded6a55 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-2017.11.0/0101-ARM-imx-add-support-for-Udoo-Neo-full.patch b/configs/platform-v7a/patches/barebox-2017.11.0/0101-ARM-imx-add-support-for-Udoo-Neo-full.patch
new file mode 100644
index 0000000..b00f641
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2017.11.0/0101-ARM-imx-add-support-for-Udoo-Neo-full.patch
@@ -0,0 +1,320 @@
+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 456e6fea4b69..db3f383110f7 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 <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 4f13d4e37279..a681c9839229 100644
+--- a/arch/arm/dts/Makefile
++++ b/arch/arm/dts/Makefile
+@@ -90,6 +90,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 <arm/imx6sx-udoo-neo-full.dts>
++
++/{
++};
+diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
+index 1578875e95ab..cc9d94dea56d 100644
+--- a/arch/arm/mach-imx/Kconfig
++++ b/arch/arm/mach-imx/Kconfig
+@@ -365,6 +365,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 76e91ebd7d2e..290c9cb61e3d 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
diff --git a/configs/platform-v7a/patches/barebox-2017.11.0/0201-Release-2017.11.0-pengutronix-multi_v7-20171113-1.patch b/configs/platform-v7a/patches/barebox-2017.11.0/0201-Release-2017.11.0-pengutronix-multi_v7-20171113-1.patch
new file mode 100644
index 0000000..f0fea33
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2017.11.0/0201-Release-2017.11.0-pengutronix-multi_v7-20171113-1.patch
@@ -0,0 +1,22 @@
+From: Robert Schwebel <r.schwebel@pengutronix.de>
+Date: Mon, 13 Nov 2017 14:55:03 +0100
+Subject: [PATCH] Release 2017.11.0/pengutronix/multi_v7/20171113-1
+
+Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index e8ee515622e7..1563ef4aa405 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ VERSION = 2017
+ PATCHLEVEL = 11
+ SUBLEVEL = 0
+-EXTRAVERSION =
++EXTRAVERSION =-20171113-1
+ NAME = None
+
+ # *DOCUMENTATION*
diff --git a/configs/platform-v7a/patches/barebox-2017.11.0/series b/configs/platform-v7a/patches/barebox-2017.11.0/series
new file mode 100644
index 0000000..dcfd4aa
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2017.11.0/series
@@ -0,0 +1,15 @@
+# umpf-base: v2017.11.0
+# umpf-name: 2017.11.0/pengutronix/multi_v7
+# umpf-version: 2017.11.0/pengutronix/multi_v7/20171113-1
+# umpf-topic: v2017.11.0/customers/pengutronix/beaglebone
+# umpf-hashinfo: cbd9e4ded858e431ffb6854377ff36272be65392
+# umpf-topic-range: 5f5decec00df364859fd375dde8c0e2c148447d1..cbd9e4ded858e431ffb6854377ff36272be65392
+0001-beaglebone-add-state-entry-for-mmc0-and-mmc1.patch
+# umpf-topic: v2017.11.0/customers/pengutronix/udoo-neo
+# umpf-hashinfo: dc2cecfcb78ae484ac4b79d804d3218feca79867
+# umpf-topic-range: cbd9e4ded858e431ffb6854377ff36272be65392..b99f3dca4928f97e38ceb85ee3f69b469beaa29d
+0101-ARM-imx-add-support-for-Udoo-Neo-full.patch
+# umpf-release: 2017.11.0/pengutronix/multi_v7/20171113-1
+# umpf-topic-range: b99f3dca4928f97e38ceb85ee3f69b469beaa29d..836b26d5e8fdd7e1d20a39c96f575635acc23864
+0201-Release-2017.11.0-pengutronix-multi_v7-20171113-1.patch
+# umpf-end