From c3d575a773c8d087d5f91fb17ac2fc7ef292ab13 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Wed, 17 Jun 2020 17:02:23 +0200 Subject: v7a: barebox: version bump v2020.04.0 → v2020.06.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows us to drop the patch stack we had for Linux Automation MC-1 support. The series went into barebox with a fix that makes a warning about the eMMC environment go away. In return we import a single patch to address a breakage on the rpi3b platform. Being a bug fix, we should be able to drop the patch along with v2020.07.0. On the Kconfig front, CONFIG_OF_NET was dropped upstream, because it was an unreferenced symbol. All Kconfig changes are the result of an olddefconfig. Signed-off-by: Ahmad Fatoum --- configs/platform-v7a/barebox-am335x-mlo.config | 3 +- configs/platform-v7a/barebox-am335x.config | 5 +- configs/platform-v7a/barebox-am335x.config.diff | 2 +- configs/platform-v7a/barebox-mx6.config | 6 +- configs/platform-v7a/barebox-mx6.config.diff | 3 +- configs/platform-v7a/barebox-rpi2.config | 5 +- configs/platform-v7a/barebox-rpi2.config.diff | 2 +- configs/platform-v7a/barebox-stm32mp.config | 5 +- configs/platform-v7a/barebox-stm32mp.config.diff | 4 +- configs/platform-v7a/barebox-vexpress.config | 5 +- configs/platform-v7a/barebox-vexpress.config.diff | 2 +- configs/platform-v7a/barebox.config | 5 +- ...stm32mp-add-Linux-Automation-MC-1-support.patch | 815 --------------------- ...-lxa-mc1-break-reg_3v3-dependency-on-PMIC.patch | 60 -- ...0.04.0-customers-pengutronix-distrokit-v7.patch | 22 - .../platform-v7a/patches/barebox-2020.04.0/series | 12 - ...ts-fix-MMIO-resources-clash-breaking-boot.patch | 106 +++ ...0.06.0-customers-pengutronix-distrokit-v7.patch | 22 + .../platform-v7a/patches/barebox-2020.06.0/series | 11 + configs/platform-v7a/platformconfig | 4 +- 20 files changed, 170 insertions(+), 929 deletions(-) delete mode 100644 configs/platform-v7a/patches/barebox-2020.04.0/0001-ARM-stm32mp-add-Linux-Automation-MC-1-support.patch delete mode 100644 configs/platform-v7a/patches/barebox-2020.04.0/0002-ARM-stm32mp-lxa-mc1-break-reg_3v3-dependency-on-PMIC.patch delete mode 100644 configs/platform-v7a/patches/barebox-2020.04.0/0101-Release-2020.04.0-customers-pengutronix-distrokit-v7.patch delete mode 100644 configs/platform-v7a/patches/barebox-2020.04.0/series create mode 100644 configs/platform-v7a/patches/barebox-2020.06.0/0001-ARM-rpi-dts-fix-MMIO-resources-clash-breaking-boot.patch create mode 100644 configs/platform-v7a/patches/barebox-2020.06.0/0101-Release-2020.06.0-customers-pengutronix-distrokit-v7.patch create mode 100644 configs/platform-v7a/patches/barebox-2020.06.0/series diff --git a/configs/platform-v7a/barebox-am335x-mlo.config b/configs/platform-v7a/barebox-am335x-mlo.config index e5c0eef..b6713d0 100644 --- a/configs/platform-v7a/barebox-am335x-mlo.config +++ b/configs/platform-v7a/barebox-am335x-mlo.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2020.04.0-20200424-2 Configuration +# Barebox/arm 2020.06.0-20200617-1 Configuration # CONFIG_ARM=y CONFIG_ARM_USE_COMPRESSED_DTB=y @@ -186,6 +186,7 @@ CONFIG_DEBUG_OMAP_UART_PORT=1 # CONFIG_DEBUG_INITCALLS is not set # CONFIG_PBL_BREAK is not set # CONFIG_UBSAN is not set +# CONFIG_COMPILE_TEST is not set # end of Debugging CONFIG_HAS_DEBUG_LL=y diff --git a/configs/platform-v7a/barebox-am335x.config b/configs/platform-v7a/barebox-am335x.config index 98ecd1d..630b1a0 100644 --- a/configs/platform-v7a/barebox-am335x.config +++ b/configs/platform-v7a/barebox-am335x.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2020.04.0-20200424-2 Configuration +# Barebox/arm 2020.06.0-20200617-1 Configuration # CONFIG_ARM=y CONFIG_ARM_LINUX=y @@ -228,6 +228,7 @@ CONFIG_DEBUG_OMAP_UART_PORT=1 # CONFIG_DEBUG_INITCALLS is not set # CONFIG_PBL_BREAK is not set # CONFIG_UBSAN is not set +# CONFIG_COMPILE_TEST is not set # end of Debugging CONFIG_HAS_DEBUG_LL=y @@ -435,7 +436,6 @@ CONFIG_OFTREE=y CONFIG_OFTREE_MEM_GENERIC=y CONFIG_DTC=y CONFIG_OFDEVICE=y -CONFIG_OF_NET=y CONFIG_OF_GPIO=y CONFIG_OF_BAREBOX_DRIVERS=y # CONFIG_OF_BAREBOX_ENV_IN_FS is not set @@ -498,6 +498,7 @@ CONFIG_DRIVER_NET_CPSW=y CONFIG_NET_USB=y CONFIG_NET_USB_ASIX=y +# CONFIG_USB_NET_AX88179_178A is not set CONFIG_NET_USB_SMSC95XX=y # end of Network drivers diff --git a/configs/platform-v7a/barebox-am335x.config.diff b/configs/platform-v7a/barebox-am335x.config.diff index 5f81f85..b9b25a4 100644 --- a/configs/platform-v7a/barebox-am335x.config.diff +++ b/configs/platform-v7a/barebox-am335x.config.diff @@ -1,4 +1,4 @@ -c0f89a11f3201404131209bd133590b7 +109c946cbc1413f3a576b02078a10c8b # CONFIG_AM33XX_NET_BOOT is not set CONFIG_ARCH_AM33XX=y # CONFIG_ARCH_BCM283X is not set diff --git a/configs/platform-v7a/barebox-mx6.config b/configs/platform-v7a/barebox-mx6.config index aec9896..814a878 100644 --- a/configs/platform-v7a/barebox-mx6.config +++ b/configs/platform-v7a/barebox-mx6.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2020.04.0-20200424-2 Configuration +# Barebox/arm 2020.06.0-20200617-1 Configuration # CONFIG_ARM=y CONFIG_ARM_LINUX=y @@ -291,6 +291,7 @@ CONFIG_DEBUG_IMX_UART_PORT=1 # CONFIG_DEBUG_INITCALLS is not set # CONFIG_PBL_BREAK is not set # CONFIG_UBSAN is not set +# CONFIG_COMPILE_TEST is not set # end of Debugging CONFIG_HAS_DEBUG_LL=y @@ -503,7 +504,6 @@ CONFIG_OFTREE=y CONFIG_OFTREE_MEM_GENERIC=y CONFIG_DTC=y CONFIG_OFDEVICE=y -CONFIG_OF_NET=y CONFIG_OF_GPIO=y CONFIG_OF_BAREBOX_DRIVERS=y # CONFIG_OF_BAREBOX_ENV_IN_FS is not set @@ -568,6 +568,7 @@ CONFIG_MICREL_PHY=y CONFIG_NET_USB=y CONFIG_NET_USB_ASIX=y +# CONFIG_USB_NET_AX88179_178A is not set CONFIG_NET_USB_SMSC95XX=y # end of Network drivers @@ -666,6 +667,7 @@ CONFIG_DISK_PATA_IMX=y CONFIG_USB=y CONFIG_USB_HOST=y CONFIG_USB_IMX_CHIPIDEA=y +CONFIG_USB_IMX_CHIPIDEA_USBMISC=y CONFIG_USB_IMX_PHY=y # CONFIG_USB_DWC3 is not set CONFIG_USB_EHCI=y diff --git a/configs/platform-v7a/barebox-mx6.config.diff b/configs/platform-v7a/barebox-mx6.config.diff index e682d55..ec01384 100644 --- a/configs/platform-v7a/barebox-mx6.config.diff +++ b/configs/platform-v7a/barebox-mx6.config.diff @@ -1,4 +1,4 @@ -c0f89a11f3201404131209bd133590b7 +109c946cbc1413f3a576b02078a10c8b # CONFIG_ARCH_BCM283X is not set CONFIG_ARCH_HAS_FEC_IMX=y CONFIG_ARCH_HAS_IMX_GPT=y @@ -221,6 +221,7 @@ CONFIG_USB_GADGET_FASTBOOT=y CONFIG_USB_GADGET_FASTBOOT_CMD_OEM=y CONFIG_USB_GADGET_FASTBOOT_SPARSE=y CONFIG_USB_IMX_CHIPIDEA=y +CONFIG_USB_IMX_CHIPIDEA_USBMISC=y CONFIG_USB_IMX_PHY=y CONFIG_USB_NOP_XCEIV=y CONFIG_USB_OTGDEV=y diff --git a/configs/platform-v7a/barebox-rpi2.config b/configs/platform-v7a/barebox-rpi2.config index 22da0fe..a4403c0 100644 --- a/configs/platform-v7a/barebox-rpi2.config +++ b/configs/platform-v7a/barebox-rpi2.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2020.04.0-20200424-2 Configuration +# Barebox/arm 2020.06.0-20200617-1 Configuration # CONFIG_ARM=y CONFIG_ARM_LINUX=y @@ -217,6 +217,7 @@ CONFIG_DEFAULT_LOGLEVEL=6 # CONFIG_DEBUG_INITCALLS is not set # CONFIG_PBL_BREAK is not set # CONFIG_UBSAN is not set +# CONFIG_COMPILE_TEST is not set # end of Debugging CONFIG_HAS_DEBUG_LL=y @@ -420,7 +421,6 @@ CONFIG_OFTREE=y CONFIG_OFTREE_MEM_GENERIC=y CONFIG_DTC=y CONFIG_OFDEVICE=y -CONFIG_OF_NET=y CONFIG_OF_GPIO=y CONFIG_OF_BAREBOX_DRIVERS=y # CONFIG_OF_BAREBOX_ENV_IN_FS is not set @@ -482,6 +482,7 @@ CONFIG_PHYLIB=y CONFIG_NET_USB=y CONFIG_NET_USB_ASIX=y +# CONFIG_USB_NET_AX88179_178A is not set CONFIG_NET_USB_SMSC95XX=y # end of Network drivers diff --git a/configs/platform-v7a/barebox-rpi2.config.diff b/configs/platform-v7a/barebox-rpi2.config.diff index 1690e36..dc66dad 100644 --- a/configs/platform-v7a/barebox-rpi2.config.diff +++ b/configs/platform-v7a/barebox-rpi2.config.diff @@ -1,4 +1,4 @@ -c0f89a11f3201404131209bd133590b7 +109c946cbc1413f3a576b02078a10c8b CONFIG_ARM_ASM_UNIFIED=y CONFIG_BOOTM_INITRD=y # CONFIG_CMD_I2C is undefined diff --git a/configs/platform-v7a/barebox-stm32mp.config b/configs/platform-v7a/barebox-stm32mp.config index 027b9d6..6f383cb 100644 --- a/configs/platform-v7a/barebox-stm32mp.config +++ b/configs/platform-v7a/barebox-stm32mp.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2020.04.0-20200424-2 Configuration +# Barebox/arm 2020.06.0-20200617-1 Configuration # CONFIG_ARM=y CONFIG_ARM_LINUX=y @@ -212,6 +212,7 @@ CONFIG_DEFAULT_LOGLEVEL=7 # CONFIG_DEBUG_INITCALLS is not set # CONFIG_PBL_BREAK is not set # CONFIG_UBSAN is not set +# CONFIG_COMPILE_TEST is not set # end of Debugging CONFIG_HAS_DEBUG_LL=y @@ -413,7 +414,6 @@ CONFIG_OFTREE=y CONFIG_OFTREE_MEM_GENERIC=y CONFIG_DTC=y CONFIG_OFDEVICE=y -CONFIG_OF_NET=y CONFIG_OF_GPIO=y CONFIG_OF_BAREBOX_DRIVERS=y # CONFIG_OF_BAREBOX_ENV_IN_FS is not set @@ -558,6 +558,7 @@ CONFIG_MFD_SYSCON=y CONFIG_MFD_STPMIC1=y # CONFIG_FINTEK_SUPERIO is not set # CONFIG_SMSC_SUPERIO is not set +# CONFIG_MFD_STM32_TIMERS is not set # end of Multifunction device drivers # diff --git a/configs/platform-v7a/barebox-stm32mp.config.diff b/configs/platform-v7a/barebox-stm32mp.config.diff index 81d1af5..bbe1e53 100644 --- a/configs/platform-v7a/barebox-stm32mp.config.diff +++ b/configs/platform-v7a/barebox-stm32mp.config.diff @@ -1,4 +1,4 @@ -c0f89a11f3201404131209bd133590b7 +109c946cbc1413f3a576b02078a10c8b # CONFIG_ARCH_BCM283X is not set CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_ARCH_NR_GPIO=416 @@ -73,6 +73,7 @@ CONFIG_MACH_STM32MP157C_DK2=y CONFIG_MCI_MMC_BOOT_PARTITIONS=y # CONFIG_MCI_SPI is undefined CONFIG_MCI_STM32_SDMMC2=y +# CONFIG_MFD_STM32_TIMERS is not set CONFIG_MFD_STPMIC1=y CONFIG_MFD_SYSCON=y CONFIG_MICREL_PHY=y @@ -133,6 +134,7 @@ CONFIG_THUMB2_BAREBOX=y # CONFIG_USB_GADGET_SERIAL is undefined # CONFIG_USB_HOST is not set # CONFIG_USB_HUB_USB251XB is undefined +# CONFIG_USB_NET_AX88179_178A is undefined # CONFIG_USB_STORAGE is undefined # CONFIG_USB_ULPI is undefined # CONFIG_USB_XHCI is undefined diff --git a/configs/platform-v7a/barebox-vexpress.config b/configs/platform-v7a/barebox-vexpress.config index 2735b20..53c2943 100644 --- a/configs/platform-v7a/barebox-vexpress.config +++ b/configs/platform-v7a/barebox-vexpress.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2020.04.0-20200424-2 Configuration +# Barebox/arm 2020.06.0-20200617-1 Configuration # CONFIG_ARM=y CONFIG_ARM_LINUX=y @@ -206,6 +206,7 @@ CONFIG_DEFAULT_LOGLEVEL=6 # CONFIG_DEBUG_INITCALLS is not set # CONFIG_PBL_BREAK is not set # CONFIG_UBSAN is not set +# CONFIG_COMPILE_TEST is not set # end of Debugging CONFIG_HAS_DEBUG_LL=y @@ -409,7 +410,6 @@ CONFIG_OFTREE=y CONFIG_OFTREE_MEM_GENERIC=y CONFIG_DTC=y CONFIG_OFDEVICE=y -CONFIG_OF_NET=y CONFIG_OF_BAREBOX_DRIVERS=y # CONFIG_OF_BAREBOX_ENV_IN_FS is not set # CONFIG_OF_OVERLAY is not set @@ -469,6 +469,7 @@ CONFIG_DRIVER_NET_SMC911X=y CONFIG_NET_USB=y CONFIG_NET_USB_ASIX=y +# CONFIG_USB_NET_AX88179_178A is not set CONFIG_NET_USB_SMSC95XX=y # end of Network drivers diff --git a/configs/platform-v7a/barebox-vexpress.config.diff b/configs/platform-v7a/barebox-vexpress.config.diff index ed3d8f6..2150908 100644 --- a/configs/platform-v7a/barebox-vexpress.config.diff +++ b/configs/platform-v7a/barebox-vexpress.config.diff @@ -1,4 +1,4 @@ -c0f89a11f3201404131209bd133590b7 +109c946cbc1413f3a576b02078a10c8b CONFIG_AMBA_SP804=y # CONFIG_ARCH_BCM283X is not set CONFIG_ARCH_VEXPRESS=y diff --git a/configs/platform-v7a/barebox.config b/configs/platform-v7a/barebox.config index e939f53..4cd815b 100644 --- a/configs/platform-v7a/barebox.config +++ b/configs/platform-v7a/barebox.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Barebox/arm 2020.04.0-20200424-2 Configuration +# Barebox/arm 2020.06.0-20200617-1 Configuration # CONFIG_ARM=y CONFIG_ARM_LINUX=y @@ -219,6 +219,7 @@ CONFIG_DEFAULT_LOGLEVEL=6 # CONFIG_DEBUG_INITCALLS is not set # CONFIG_PBL_BREAK is not set # CONFIG_UBSAN is not set +# CONFIG_COMPILE_TEST is not set # end of Debugging CONFIG_HAS_DEBUG_LL=y @@ -424,7 +425,6 @@ CONFIG_OFTREE=y CONFIG_OFTREE_MEM_GENERIC=y CONFIG_DTC=y CONFIG_OFDEVICE=y -CONFIG_OF_NET=y CONFIG_OF_GPIO=y CONFIG_OF_BAREBOX_DRIVERS=y # CONFIG_OF_BAREBOX_ENV_IN_FS is not set @@ -486,6 +486,7 @@ CONFIG_PHYLIB=y CONFIG_NET_USB=y CONFIG_NET_USB_ASIX=y +# CONFIG_USB_NET_AX88179_178A is not set CONFIG_NET_USB_SMSC95XX=y # end of Network drivers diff --git a/configs/platform-v7a/patches/barebox-2020.04.0/0001-ARM-stm32mp-add-Linux-Automation-MC-1-support.patch b/configs/platform-v7a/patches/barebox-2020.04.0/0001-ARM-stm32mp-add-Linux-Automation-MC-1-support.patch deleted file mode 100644 index f660302..0000000 --- a/configs/platform-v7a/patches/barebox-2020.04.0/0001-ARM-stm32mp-add-Linux-Automation-MC-1-support.patch +++ /dev/null @@ -1,815 +0,0 @@ -From: Ahmad Fatoum -Date: Tue, 14 Jan 2020 18:11:14 +0100 -Subject: [PATCH] ARM: stm32mp: add Linux Automation MC-1 support - -This adds support for the Linux Automation GmbH MC-1 board built around -the Octavo Systems OSD32MP157C-512M SiP. - -The device tree is based on the one in linux-stm32/stm32-next, which -will probably be merged for Linux v5.8-rc1. Instead of waiting that -long, we import it here with some stuff removed/changed, so it's usable -for both barebox and Linux, without the prerequisite patches. - -The non-barebox specific parts have been moved into separate DTSIs -(arch/arm/dts/stm32mp{157c-lxa-mc1,15xx-osd32}.dtsi), so both can be -dropped after the v5.8-rc1 sync with only include path change necessary -in arch/arm/dts/stm32mp157c-lxa-mc1.dts. - -Signed-off-by: Ahmad Fatoum ---- - arch/arm/boards/Makefile | 1 + - arch/arm/boards/lxa-mc1/Makefile | 2 + - arch/arm/boards/lxa-mc1/board.c | 31 +++ - arch/arm/boards/lxa-mc1/lowlevel.c | 26 +++ - arch/arm/dts/Makefile | 1 + - arch/arm/dts/stm32mp157c-lxa-mc1.dts | 42 ++++ - arch/arm/dts/stm32mp157c-lxa-mc1.dtsi | 362 ++++++++++++++++++++++++++++++++++ - arch/arm/dts/stm32mp15xx-osd32.dtsi | 229 +++++++++++++++++++++ - arch/arm/mach-stm32mp/Kconfig | 4 + - images/Makefile.stm32mp | 5 + - 10 files changed, 703 insertions(+) - create mode 100644 arch/arm/boards/lxa-mc1/Makefile - create mode 100644 arch/arm/boards/lxa-mc1/board.c - create mode 100644 arch/arm/boards/lxa-mc1/lowlevel.c - create mode 100644 arch/arm/dts/stm32mp157c-lxa-mc1.dts - create mode 100644 arch/arm/dts/stm32mp157c-lxa-mc1.dtsi - create mode 100644 arch/arm/dts/stm32mp15xx-osd32.dtsi - -diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile -index 9fe458e0a390..e9e9163d589b 100644 ---- a/arch/arm/boards/Makefile -+++ b/arch/arm/boards/Makefile -@@ -129,6 +129,7 @@ obj-$(CONFIG_MACH_SOCFPGA_TERASIC_SOCKIT) += terasic-sockit/ - obj-$(CONFIG_MACH_SOLIDRUN_CUBOX) += solidrun-cubox/ - obj-$(CONFIG_MACH_SOLIDRUN_MICROSOM) += solidrun-microsom/ - obj-$(CONFIG_MACH_STM32MP157C_DK2) += stm32mp157c-dk2/ -+obj-$(CONFIG_MACH_LXA_MC1) += lxa-mc1/ - obj-$(CONFIG_MACH_TECHNEXION_PICO_HOBBIT) += technexion-pico-hobbit/ - obj-$(CONFIG_MACH_TECHNEXION_WANDBOARD) += technexion-wandboard/ - obj-$(CONFIG_MACH_TNY_A9260) += tny-a926x/ -diff --git a/arch/arm/boards/lxa-mc1/Makefile b/arch/arm/boards/lxa-mc1/Makefile -new file mode 100644 -index 000000000000..092c31d6b28d ---- /dev/null -+++ b/arch/arm/boards/lxa-mc1/Makefile -@@ -0,0 +1,2 @@ -+lwl-y += lowlevel.o -+obj-y += board.o -diff --git a/arch/arm/boards/lxa-mc1/board.c b/arch/arm/boards/lxa-mc1/board.c -new file mode 100644 -index 000000000000..d36924fc2793 ---- /dev/null -+++ b/arch/arm/boards/lxa-mc1/board.c -@@ -0,0 +1,31 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+static int mc1_device_init(void) -+{ -+ int flags; -+ if (!of_machine_is_compatible("lxa,stm32mp157c-mc1")) -+ return 0; -+ -+ flags = bootsource_get_instance() == 0 ? BBU_HANDLER_FLAG_DEFAULT : 0; -+ stm32mp_bbu_mmc_register_handler("sd", "/dev/mmc0.ssbl", flags); -+ -+ flags = bootsource_get_instance() == 1 ? BBU_HANDLER_FLAG_DEFAULT : 0; -+ stm32mp_bbu_mmc_register_handler("emmc", "/dev/mmc1.ssbl", flags); -+ -+ -+ if (bootsource_get_instance() == 0) -+ of_device_enable_path("/chosen/environment-sd"); -+ else -+ of_device_enable_path("/chosen/environment-emmc"); -+ -+ barebox_set_hostname("lxa-mc1"); -+ -+ return 0; -+} -+device_initcall(mc1_device_init); -diff --git a/arch/arm/boards/lxa-mc1/lowlevel.c b/arch/arm/boards/lxa-mc1/lowlevel.c -new file mode 100644 -index 000000000000..274f824a1662 ---- /dev/null -+++ b/arch/arm/boards/lxa-mc1/lowlevel.c -@@ -0,0 +1,26 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+#include -+#include -+#include -+ -+extern char __dtb_z_stm32mp157c_lxa_mc1_start[]; -+ -+static void setup_uart(void) -+{ -+ /* first stage has set up the UART, so nothing to do here */ -+ putc_ll('>'); -+} -+ -+ENTRY_FUNCTION(start_stm32mp157c_lxa_mc1, r0, r1, r2) -+{ -+ void *fdt; -+ -+ stm32mp_cpu_lowlevel_init(); -+ -+ if (IS_ENABLED(CONFIG_DEBUG_LL)) -+ setup_uart(); -+ -+ fdt = __dtb_z_stm32mp157c_lxa_mc1_start + get_runtime_offset(); -+ -+ stm32mp1_barebox_entry(fdt); -+} -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index ddfe64e83bdf..1aeaa61e017e 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -94,6 +94,7 @@ lwl-dtb-$(CONFIG_MACH_SOLIDRUN_MICROSOM) += imx6dl-hummingboard.dtb.o imx6q-humm - imx6dl-hummingboard2.dtb.o imx6q-hummingboard2.dtb.o \ - imx6q-h100.dtb.o - lwl-dtb-$(CONFIG_MACH_STM32MP157C_DK2) += stm32mp157c-dk2.dtb.o -+lwl-dtb-$(CONFIG_MACH_LXA_MC1) += stm32mp157c-lxa-mc1.dtb.o - lwl-dtb-$(CONFIG_MACH_SCB9328) += imx1-scb9328.dtb.o - lwl-dtb-$(CONFIG_MACH_TECHNEXION_WANDBOARD) += imx6q-wandboard.dtb.o imx6dl-wandboard.dtb.o - lwl-dtb-$(CONFIG_MACH_TECHNEXION_PICO_HOBBIT) += imx6ul-pico-hobbit.dtb.o -diff --git a/arch/arm/dts/stm32mp157c-lxa-mc1.dts b/arch/arm/dts/stm32mp157c-lxa-mc1.dts -new file mode 100644 -index 000000000000..742739424ea7 ---- /dev/null -+++ b/arch/arm/dts/stm32mp157c-lxa-mc1.dts -@@ -0,0 +1,42 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) -+/* -+ * Copyright (C) 2020 Ahmad Fatoum, Pengutronix -+ */ -+ -+#include "stm32mp157c-lxa-mc1.dtsi" -+#include "stm32mp151.dtsi" -+ -+/ { -+ chosen { -+ environment-sd { -+ compatible = "barebox,environment"; -+ device-path = &sdmmc1, "partname:barebox-environment"; -+ }; -+ -+ environment-emmc { -+ compatible = "barebox,environment"; -+ device-path = &sdmmc2, "partname:barebox-environment"; -+ }; -+ }; -+ -+}; -+ -+&panel { -+ display-timings { -+ timing { /* edt,etm0700g0dh6 */ -+ clock-frequency = <33260000>; -+ hactive = <800>; -+ vactive = <480>; -+ hfront-porch = <40>; -+ hsync-len = <128>; -+ hback-porch = <88>; -+ vfront-porch = <10>; -+ vsync-len = <2>; -+ vback-porch = <33>; -+ hsync-active = <0>; -+ vsync-active = <0>; -+ de-active = <1>; -+ pixelclk-active = <0>; -+ }; -+ }; -+}; -diff --git a/arch/arm/dts/stm32mp157c-lxa-mc1.dtsi b/arch/arm/dts/stm32mp157c-lxa-mc1.dtsi -new file mode 100644 -index 000000000000..6603cf280eb2 ---- /dev/null -+++ b/arch/arm/dts/stm32mp157c-lxa-mc1.dtsi -@@ -0,0 +1,362 @@ -+/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */ -+/* -+ * Copyright (C) 2020 STMicroelectronics - All Rights Reserved -+ * Copyright (C) 2020 Ahmad Fatoum, Pengutronix -+ */ -+ -+/dts-v1/; -+ -+#include -+#include "stm32mp15xx-osd32.dtsi" -+#include -+ -+#include -+#include -+ -+/ { -+ model = "Linux Automation MC-1 board"; -+ compatible = "lxa,stm32mp157c-mc1", "st,stm32mp157"; -+ -+ aliases { -+ ethernet0 = ðernet0; -+ mmc0 = &sdmmc1; -+ mmc1 = &sdmmc2; -+ serial0 = &uart4; -+ }; -+ -+ backlight: backlight { -+ compatible = "pwm-backlight"; -+ pwms = <&backlight_pwm 1 100000 PWM_POLARITY_INVERTED>; -+ brightness-levels = <0 31 63 95 127 159 191 223 255>; -+ default-brightness-level = <7>; -+ power-supply = <®_5v2>; /* 3V3_BACKLIGHT */ -+ }; -+ -+ chosen { -+ stdout-path = &uart4; -+ }; -+ -+ led-act { -+ compatible = "gpio-leds"; -+ -+ led-green { -+ label = "mc1:green:act"; -+ gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ }; -+ -+ led-rgb { -+ compatible = "pwm-leds"; -+ -+ led-red { -+ label = "mc1:red:rgb"; -+ pwms = <&leds_pwm 1 1000000 0>; -+ max-brightness = <255>; -+ active-low; -+ }; -+ -+ led-green { -+ label = "mc1:green:rgb"; -+ pwms = <&leds_pwm 2 1000000 0>; -+ max-brightness = <255>; -+ active-low; -+ }; -+ -+ led-blue { -+ label = "mc1:blue:rgb"; -+ pwms = <&leds_pwm 3 1000000 0>; -+ max-brightness = <255>; -+ active-low; -+ }; -+ }; -+ -+ panel: panel { -+ compatible = "edt,etm0700g0edh6", "simple-panel"; -+ backlight = <&backlight>; -+ enable-gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>; -+ power-supply = <®_3v3>; -+ -+ port { -+ panel_input: endpoint { -+ remote-endpoint = <<dc_ep0_out>; -+ }; -+ }; -+ }; -+ -+ reg_3v3: regulator_3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "3V3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ vin-supply = <&v3v3>; -+ }; -+ -+ /* supplied by either debug board or PoE */ -+ reg_5v2: regulator_5v2 { -+ compatible = "regulator-fixed"; -+ regulator-name = "5V2"; -+ regulator-min-microvolt = <5200000>; -+ regulator-max-microvolt = <5200000>; -+ regulator-always-on; -+ }; -+}; -+ -+ðernet0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <ðernet0_rgmii_mc1pins_b>; -+ phy-mode = "rgmii-id"; -+ phy-handle = <ðphy>; -+ status = "okay"; -+ -+ mdio0 { -+ compatible = "snps,dwmac-mdio"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ ethphy: ethernet-phy@3 { /* KSZ9031RN */ -+ reg = <3>; -+ reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */ -+ interrupt-parent = <&gpioa>; -+ interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */ -+ rxc-skew-ps = <1860>; -+ txc-skew-ps = <1860>; -+ reset-assert-us = <10000>; -+ reset-deassert-us = <300>; -+ micrel,force-master; -+ }; -+ }; -+}; -+ -+&gpioz { -+ gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", "", -+ "HWID4", "HWID5"; -+}; -+ -+&gpu { -+ status = "okay"; -+}; -+ -+&i2c5 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c5_mc1pins_b>; -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ touchscreen@38 { -+ compatible = "edt,edt-ft5x06"; -+ interrupt-parent = <&gpiod>; -+ interrupts = <11 IRQ_TYPE_EDGE_FALLING>; /* TOUCH_INT# */ -+ vcc-supply = <®_3v3>; -+ reg = <0x38>; -+ reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */ -+ touchscreen-size-x = <1792>; -+ touchscreen-size-y = <1024>; -+ wakeup-source; -+ }; -+}; -+ -+<dc { -+ pinctrl-names = "default"; -+ pinctrl-0 = <<dc_mc1pins_c>; -+ status = "okay"; -+ -+ port { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ ltdc_ep0_out: endpoint@0 { -+ reg = <0>; -+ remote-endpoint = <&panel_input>; -+ }; -+ }; -+}; -+ -+&pmic { -+ regulators { -+ buck4-supply = <®_5v2>; /* VIN */ -+ ldo2-supply = <®_5v2>; /* PMIC_LDO25IN */ -+ ldo5-supply = <®_5v2>; /* PMIC_LDO25IN */ -+ boost-supply = <®_5v2>; /* PMIC_BSTIN */ -+ pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */ -+ }; -+}; -+ -+&sdmmc1 { -+ pinctrl-names = "default", "opendrain"; -+ pinctrl-0 = <&sdmmc1_b4_pins_a>; -+ pinctrl-1 = <&sdmmc1_b4_od_pins_a>; -+ bus-width = <4>; -+ cd-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; -+ disable-wp; -+ no-1-8-v; -+ st,neg-edge; -+ vmmc-supply = <®_3v3>; -+ status = "okay"; -+}; -+ -+&sdmmc1_b4_pins_a { -+ /* -+ * board lacks external pull-ups on SDMMC lines. Class 10 SD refuses to -+ * work, thus enable internal pull-ups. -+ */ -+ pins1 { -+ /delete-property/ bias-disable; -+ bias-pull-up; -+ }; -+ pins2 { -+ /delete-property/ bias-disable; -+ bias-pull-up; -+ }; -+}; -+ -+&sdmmc2 { -+ pinctrl-names = "default", "opendrain"; -+ pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_mc1pins_b>; -+ pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_mc1pins_b>; -+ bus-width = <8>; -+ no-1-8-v; -+ no-sd; -+ no-sdio; -+ non-removable; -+ st,neg-edge; -+ vmmc-supply = <®_3v3>; -+ status = "okay"; -+}; -+ -+&timers3 { -+ status = "okay"; -+ -+ backlight_pwm: pwm { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pwm3_mc1pins_b>; -+ status = "okay"; -+ }; -+}; -+ -+&timers5 { -+ status = "okay"; -+ -+ leds_pwm: pwm { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pwm5_mc1pins_b>; -+ status = "okay"; -+ }; -+}; -+ -+&uart4 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart4_pins_a>; -+ status = "okay"; -+}; -+ -+&pinctrl { -+ ethernet0_rgmii_mc1pins_b: mc1-rgmii-1 { -+ pins1 { -+ pinmux = , /* ETH_RGMII_CLK125 */ -+ , /* ETH_RGMII_GTX_CLK */ -+ , /* ETH_RGMII_TXD0 */ -+ , /* ETH_RGMII_TXD1 */ -+ , /* ETH_RGMII_TXD2 */ -+ , /* ETH_RGMII_TXD3 */ -+ , /* ETH_RGMII_TX_CTL */ -+ ; /* ETH_MDC */ -+ bias-disable; -+ drive-push-pull; -+ slew-rate = <2>; -+ }; -+ pins2 { -+ pinmux = ; /* ETH_MDIO */ -+ bias-disable; -+ drive-push-pull; -+ slew-rate = <0>; -+ }; -+ pins3 { -+ pinmux = , /* ETH_RGMII_RXD0 */ -+ , /* ETH_RGMII_RXD1 */ -+ , /* ETH_RGMII_RXD2 */ -+ , /* ETH_RGMII_RXD3 */ -+ , /* ETH_RGMII_RX_CLK */ -+ ; /* ETH_RGMII_RX_CTL */ -+ bias-disable; -+ }; -+ }; -+ -+ i2c5_mc1pins_b: mc1-i2c5-1 { -+ pins { -+ pinmux = , /* I2C5_SCL */ -+ ; /* I2C5_SDA */ -+ bias-disable; -+ drive-open-drain; -+ slew-rate = <0>; -+ }; -+ }; -+ -+ ltdc_mc1pins_c: mc1-ltdc-2 { -+ pins1 { -+ pinmux = , /* LTDC_R6 */ -+ , /* LTDC_B7 */ -+ , /* LTDC_R5 */ -+ , /* LTDC_G7 */ -+ , /* LTDC_B2 */ -+ , /* LTDC_B3 */ -+ , /* LTDC_G3 */ -+ , /* LTDC_B4 */ -+ , /* LTDC_DE */ -+ , /* LTDC_R7 */ -+ , /* LTDC_G5 */ -+ , /* LTDC_R2 */ -+ , /* LTDC_R3 */ -+ , /* LTDC_R4 */ -+ , /* LTDC_G2 */ -+ , /* LTDC_G4 */ -+ , /* LTDC_G6 */ -+ , /* LTDC_B5 */ -+ , /* LTDC_B6 */ -+ , /* LTDC_VSYNC */ -+ ; /* LTDC_HSYNC */ -+ bias-disable; -+ drive-push-pull; -+ slew-rate = <0>; -+ }; -+ pins2 { -+ pinmux = ; /* LTDC_CLK */ -+ bias-disable; -+ drive-push-pull; -+ slew-rate = <1>; -+ }; -+ }; -+ -+ pwm3_mc1pins_b: mc1-pwm3-1 { -+ pins { -+ pinmux = ; /* TIM3_CH2 */ -+ bias-disable; -+ drive-push-pull; -+ slew-rate = <0>; -+ }; -+ }; -+ -+ pwm5_mc1pins_b: mc1-pwm5-1 { -+ pins { -+ pinmux = , /* TIM5_CH2 */ -+ , /* TIM5_CH3 */ -+ ; /* TIM5_CH4 */ -+ bias-disable; -+ drive-push-pull; -+ slew-rate = <0>; -+ }; -+ }; -+ -+ sdmmc2_d47_mc1pins_b: mc1-sdmmc2-d47-1 { -+ pins { -+ pinmux = , /* SDMMC2_D4 */ -+ , /* SDMMC2_D5 */ -+ , /* SDMMC2_D6 */ -+ ; /* SDMMC2_D7 */ -+ slew-rate = <1>; -+ drive-push-pull; -+ bias-disable; -+ }; -+ }; -+ -+}; -diff --git a/arch/arm/dts/stm32mp15xx-osd32.dtsi b/arch/arm/dts/stm32mp15xx-osd32.dtsi -new file mode 100644 -index 000000000000..87508350339e ---- /dev/null -+++ b/arch/arm/dts/stm32mp15xx-osd32.dtsi -@@ -0,0 +1,229 @@ -+/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */ -+/* -+ * Copyright (C) 2020 STMicroelectronics - All Rights Reserved -+ * Copyright (C) 2020 Ahmad Fatoum, Pengutronix -+ */ -+ -+#include -+ -+#include -+ -+/ { -+ reserved-memory { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ ranges; -+ -+ mcuram2: mcuram2@10000000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x10000000 0x40000>; -+ no-map; -+ }; -+ -+ vdev0vring0: vdev0vring0@10040000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x10040000 0x1000>; -+ no-map; -+ }; -+ -+ vdev0vring1: vdev0vring1@10041000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x10041000 0x1000>; -+ no-map; -+ }; -+ -+ vdev0buffer: vdev0buffer@10042000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x10042000 0x4000>; -+ no-map; -+ }; -+ -+ mcuram: mcuram@30000000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x30000000 0x40000>; -+ no-map; -+ }; -+ -+ retram: retram@38000000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x38000000 0x10000>; -+ no-map; -+ }; -+ }; -+ -+ reg_sip_eeprom: regulator_eeprom { -+ compatible = "regulator-fixed"; -+ regulator-name = "sip_eeprom"; -+ regulator-always-on; -+ }; -+}; -+ -+&i2c4 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c4_pins_a>; -+ clock-frequency = <400000>; -+ i2c-scl-rising-time-ns = <185>; -+ i2c-scl-falling-time-ns = <20>; -+ status = "okay"; -+ -+ pmic: stpmic@33 { -+ compatible = "st,stpmic1"; -+ reg = <0x33>; -+ interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; -+ interrupt-controller; -+ #interrupt-cells = <2>; -+ -+ regulators { -+ compatible = "st,stpmic1-regulators"; -+ -+ ldo1-supply = <&v3v3>; -+ ldo6-supply = <&v3v3>; -+ pwr_sw1-supply = <&bst_out>; -+ -+ vddcore: buck1 { -+ regulator-name = "vddcore"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-always-on; -+ regulator-initial-mode = <0>; -+ regulator-over-current-protection; -+ }; -+ -+ vdd_ddr: buck2 { -+ regulator-name = "vdd_ddr"; -+ regulator-min-microvolt = <1350000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-always-on; -+ regulator-initial-mode = <0>; -+ regulator-over-current-protection; -+ }; -+ -+ vdd: buck3 { -+ regulator-name = "vdd"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ st,mask-reset; -+ regulator-initial-mode = <0>; -+ regulator-over-current-protection; -+ }; -+ -+ v3v3: buck4 { -+ regulator-name = "v3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ regulator-over-current-protection; -+ regulator-initial-mode = <0>; -+ }; -+ -+ v1v8_audio: ldo1 { -+ regulator-name = "v1v8_audio"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ interrupts = ; -+ -+ }; -+ -+ v3v3_hdmi: ldo2 { -+ regulator-name = "v3v3_hdmi"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ interrupts = ; -+ -+ }; -+ -+ vtt_ddr: ldo3 { -+ regulator-name = "vtt_ddr"; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <750000>; -+ regulator-always-on; -+ regulator-over-current-protection; -+ }; -+ -+ vdd_usb: ldo4 { -+ regulator-name = "vdd_usb"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ interrupts = ; -+ }; -+ -+ vdda: ldo5 { -+ regulator-name = "vdda"; -+ regulator-min-microvolt = <2900000>; -+ regulator-max-microvolt = <2900000>; -+ interrupts = ; -+ regulator-boot-on; -+ }; -+ -+ v1v2_hdmi: ldo6 { -+ regulator-name = "v1v2_hdmi"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-always-on; -+ interrupts = ; -+ -+ }; -+ -+ vref_ddr: vref_ddr { -+ regulator-name = "vref_ddr"; -+ regulator-always-on; -+ regulator-over-current-protection; -+ }; -+ -+ bst_out: boost { -+ regulator-name = "bst_out"; -+ interrupts = ; -+ }; -+ -+ vbus_otg: pwr_sw1 { -+ regulator-name = "vbus_otg"; -+ interrupts = ; -+ regulator-active-discharge; -+ }; -+ -+ vbus_sw: pwr_sw2 { -+ regulator-name = "vbus_sw"; -+ interrupts = ; -+ regulator-active-discharge; -+ }; -+ }; -+ -+ onkey { -+ compatible = "st,stpmic1-onkey"; -+ interrupts = , ; -+ interrupt-names = "onkey-falling", "onkey-rising"; -+ }; -+ -+ pmic_watchdog: watchdog { -+ compatible = "st,stpmic1-wdt"; -+ status = "disabled"; -+ }; -+ }; -+ -+ sip_eeprom: eeprom@50 { -+ compatible = "atmel,24c32"; -+ vcc-supply = <®_sip_eeprom>; -+ reg = <0x50>; -+ }; -+}; -+ -+&ipcc { -+ status = "okay"; -+}; -+ -+&m4_rproc { -+ memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, -+ <&vdev0vring1>, <&vdev0buffer>; -+ mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; -+ mbox-names = "vq0", "vq1", "shutdown"; -+ interrupt-parent = <&exti>; -+ interrupts = <68 1>; -+ status = "okay"; -+}; -+ -+&rng1 { -+ status = "okay"; -+}; -diff --git a/arch/arm/mach-stm32mp/Kconfig b/arch/arm/mach-stm32mp/Kconfig -index 9b55a3d21843..6e816ef9d1a4 100644 ---- a/arch/arm/mach-stm32mp/Kconfig -+++ b/arch/arm/mach-stm32mp/Kconfig -@@ -12,4 +12,8 @@ config MACH_STM32MP157C_DK2 - select ARCH_STM32MP157 - bool "STM32MP157C-DK2 board" - -+config MACH_LXA_MC1 -+ select ARCH_STM32MP157 -+ bool "Linux Automation MC-1 board" -+ - endif -diff --git a/images/Makefile.stm32mp b/images/Makefile.stm32mp -index 910e029a5b66..38872c952571 100644 ---- a/images/Makefile.stm32mp -+++ b/images/Makefile.stm32mp -@@ -17,3 +17,8 @@ pblb-$(CONFIG_MACH_STM32MP157C_DK2) += start_stm32mp157c_dk2 - FILE_barebox-stm32mp157c-dk2.img = start_stm32mp157c_dk2.pblb.stm32 - OPTS_start_stm32mp157c_dk2.pblb.stm32 = $(STM32MP1_OPTS) - image-$(CONFIG_MACH_STM32MP157C_DK2) += barebox-stm32mp157c-dk2.img -+ -+pblb-$(CONFIG_MACH_LXA_MC1) += start_stm32mp157c_lxa_mc1 -+FILE_barebox-stm32mp157c-lxa-mc1.img = start_stm32mp157c_lxa_mc1.pblb.stm32 -+OPTS_start_stm32mp157c_lxa_mc1.pblb.stm32 = $(STM32MP1_OPTS) -+image-$(CONFIG_MACH_LXA_MC1) += barebox-stm32mp157c-lxa-mc1.img diff --git a/configs/platform-v7a/patches/barebox-2020.04.0/0002-ARM-stm32mp-lxa-mc1-break-reg_3v3-dependency-on-PMIC.patch b/configs/platform-v7a/patches/barebox-2020.04.0/0002-ARM-stm32mp-lxa-mc1-break-reg_3v3-dependency-on-PMIC.patch deleted file mode 100644 index 451bb7b..0000000 --- a/configs/platform-v7a/patches/barebox-2020.04.0/0002-ARM-stm32mp-lxa-mc1-break-reg_3v3-dependency-on-PMIC.patch +++ /dev/null @@ -1,60 +0,0 @@ -From: Ahmad Fatoum -Date: Thu, 13 Feb 2020 11:10:44 +0100 -Subject: [PATCH] ARM: stm32mp: lxa-mc1: break reg_3v3 dependency on PMIC - -While the regulator is indeed powered by the PMIC, basically the whole -system is, and it's always on. Linux doesn't handle this specially -however and will defer SDMMC probe till after the PMIC is probed costing -us some valuable boot time. Fix this up. - -Signed-off-by: Ahmad Fatoum ---- - arch/arm/boards/lxa-mc1/board.c | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -diff --git a/arch/arm/boards/lxa-mc1/board.c b/arch/arm/boards/lxa-mc1/board.c -index d36924fc2793..7f1f3ccd7e06 100644 ---- a/arch/arm/boards/lxa-mc1/board.c -+++ b/arch/arm/boards/lxa-mc1/board.c -@@ -5,6 +5,28 @@ - #include - #include - #include -+#include -+ -+static int of_fixup_regulator_supply_disable(struct device_node *root, void *path) -+{ -+ struct device_node *node; -+ struct property *prop; -+ -+ node = of_find_node_by_path_from(root, path); -+ if (!node) { -+ pr_warn("fixup for %s failed: not found\n", (const char *)path); -+ return -ENOENT; -+ } -+ -+ if (!of_property_read_bool(node, "regulator-always-on")) -+ return 0; -+ -+ prop = of_find_property(node, "vin-supply", NULL); -+ if (prop) -+ of_delete_property(prop); -+ -+ return 0; -+} - - static int mc1_device_init(void) - { -@@ -26,6 +48,11 @@ static int mc1_device_init(void) - - barebox_set_hostname("lxa-mc1"); - -- return 0; -+ /* The regulator is powered by the PMIC, but is always on as far as -+ * software is concerned. Break the reference to the PMIC, so the OS -+ * doesn't need to defer SDMMC/Ethernet peripherals till after the PMIC -+ * is up. -+ */ -+ return of_register_fixup(of_fixup_regulator_supply_disable, "/regulator_3v3"); - } - device_initcall(mc1_device_init); diff --git a/configs/platform-v7a/patches/barebox-2020.04.0/0101-Release-2020.04.0-customers-pengutronix-distrokit-v7.patch b/configs/platform-v7a/patches/barebox-2020.04.0/0101-Release-2020.04.0-customers-pengutronix-distrokit-v7.patch deleted file mode 100644 index 3f85f36..0000000 --- a/configs/platform-v7a/patches/barebox-2020.04.0/0101-Release-2020.04.0-customers-pengutronix-distrokit-v7.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Ahmad Fatoum -Date: Fri, 24 Apr 2020 18:03:30 +0200 -Subject: [PATCH] Release - 2020.04.0/customers/pengutronix/distrokit-v7a/20200424-2 - ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index b3d67b0863ac..c51276a8b2af 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,7 +1,7 @@ - VERSION = 2020 - PATCHLEVEL = 04 - SUBLEVEL = 0 --EXTRAVERSION = -+EXTRAVERSION =-20200424-2 - NAME = None - - # *DOCUMENTATION* diff --git a/configs/platform-v7a/patches/barebox-2020.04.0/series b/configs/platform-v7a/patches/barebox-2020.04.0/series deleted file mode 100644 index 83b5861..0000000 --- a/configs/platform-v7a/patches/barebox-2020.04.0/series +++ /dev/null @@ -1,12 +0,0 @@ -# umpf-base: v2020.04.0 -# umpf-name: 2020.04.0/customers/pengutronix/distrokit-v7a -# umpf-version: 2020.04.0/customers/pengutronix/distrokit-v7a/20200424-2 -# umpf-topic: v2020.04.0/customers/lag/mc1 -# umpf-hashinfo: 2e41d9501ca57285e1e5e4750e6faba8df7addf2 -# umpf-topic-range: a999dc558770732d475e423060d54b93e36436ce..b379003cdf62913430a3ddad52a8b3a0ce87ab6f -0001-ARM-stm32mp-add-Linux-Automation-MC-1-support.patch -0002-ARM-stm32mp-lxa-mc1-break-reg_3v3-dependency-on-PMIC.patch -# umpf-release: 2020.04.0/customers/pengutronix/distrokit-v7a/20200424-2 -# umpf-topic-range: b379003cdf62913430a3ddad52a8b3a0ce87ab6f..1db48ec1cf199fd9c9f17c8e3c243824ee4f5f5c -0101-Release-2020.04.0-customers-pengutronix-distrokit-v7.patch -# umpf-end diff --git a/configs/platform-v7a/patches/barebox-2020.06.0/0001-ARM-rpi-dts-fix-MMIO-resources-clash-breaking-boot.patch b/configs/platform-v7a/patches/barebox-2020.06.0/0001-ARM-rpi-dts-fix-MMIO-resources-clash-breaking-boot.patch new file mode 100644 index 0000000..20ab6f1 --- /dev/null +++ b/configs/platform-v7a/patches/barebox-2020.06.0/0001-ARM-rpi-dts-fix-MMIO-resources-clash-breaking-boot.patch @@ -0,0 +1,106 @@ +From: Ahmad Fatoum +Date: Wed, 17 Jun 2020 15:05:58 +0200 +Subject: [PATCH] ARM: rpi: dts: fix MMIO resources clash breaking boot + +The rpi3b device tree specifies 1G of RAM in the memory node, but maps +the highest 16M of RAM's physical address range for peripheral use. + +When support for device tree probing was first added for the rpi3b +in e8fab18835a1 ("ARM: rpi: switch to DT probe and multi-image build"), +it had a memory { } node overriding the kernel node size with 0, so the +size is computed later correctly. + +1dc748b3b202 ("dts: update to v5.1-rc1") came and renamed the upstream +memory { } node to memory@0. So instead of overriding the old, we +now created a second dummy along with the broken node. +barebox did only parse the dummy, so it continued to limp along. + +8226f7f90973 ("of: base: parse all available memory nodes") started +considering both nodes and rendered barebox v2020.05.0 unable to start +up on the rpi3b because of the conflict between RAM range and peripherals +like the bcm2835_mbox caused by parsing the broken memory node. + +At least one board also was broken for the same reason[1], so a more +robust approach is in order. For nodes that lack a phandle, the +&{/path} syntax can be used instead. This has the benefit that should +the path disappear in future, a compile failure would result. + +[1] 0d26ce1c11a1 ("ARM: Phytec phyFLEX i.MX6: delete wrong memory node") + +Fixes: 1dc748b3b202 ("dts: update to v5.1-rc1") +Signed-off-by: Ahmad Fatoum +--- + arch/arm/dts/bcm2835-rpi.dts | 6 +++--- + arch/arm/dts/bcm2836-rpi-2.dts | 6 +++--- + arch/arm/dts/bcm2837-rpi-3.dts | 6 +++--- + arch/arm/dts/bcm2837-rpi-cm3.dts | 6 +++--- + 4 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/arch/arm/dts/bcm2835-rpi.dts b/arch/arm/dts/bcm2835-rpi.dts +index c23e7c7c142b..4f227508010b 100644 +--- a/arch/arm/dts/bcm2835-rpi.dts ++++ b/arch/arm/dts/bcm2835-rpi.dts +@@ -4,10 +4,10 @@ + chosen { + stdout-path = &uart0; + }; ++}; + +- memory { +- reg = <0x0 0x0>; +- }; ++&{/memory@0} { ++ reg = <0x0 0x0>; + }; + + &sdhci { +diff --git a/arch/arm/dts/bcm2836-rpi-2.dts b/arch/arm/dts/bcm2836-rpi-2.dts +index 42b6abb180de..c9c3892d6a21 100644 +--- a/arch/arm/dts/bcm2836-rpi-2.dts ++++ b/arch/arm/dts/bcm2836-rpi-2.dts +@@ -4,8 +4,8 @@ + chosen { + stdout-path = &uart0; + }; ++}; + +- memory { +- reg = <0x0 0x0>; +- }; ++&{/memory@0} { ++ reg = <0x0 0x0>; + }; +diff --git a/arch/arm/dts/bcm2837-rpi-3.dts b/arch/arm/dts/bcm2837-rpi-3.dts +index 420525b9e857..d66beddb2281 100644 +--- a/arch/arm/dts/bcm2837-rpi-3.dts ++++ b/arch/arm/dts/bcm2837-rpi-3.dts +@@ -4,10 +4,10 @@ + chosen { + stdout-path = &uart1; + }; ++}; + +- memory { +- reg = <0x0 0x0>; +- }; ++&{/memory@0} { ++ reg = <0x0 0x0>; + }; + + &sdhci { +diff --git a/arch/arm/dts/bcm2837-rpi-cm3.dts b/arch/arm/dts/bcm2837-rpi-cm3.dts +index 01c1f9a67714..85a6ac46619a 100644 +--- a/arch/arm/dts/bcm2837-rpi-cm3.dts ++++ b/arch/arm/dts/bcm2837-rpi-cm3.dts +@@ -4,8 +4,8 @@ + chosen { + stdout-path = &uart0; + }; ++}; + +- memory { +- reg = <0x0 0x0>; +- }; ++&{/memory@0} { ++ reg = <0x0 0x0>; + }; diff --git a/configs/platform-v7a/patches/barebox-2020.06.0/0101-Release-2020.06.0-customers-pengutronix-distrokit-v7.patch b/configs/platform-v7a/patches/barebox-2020.06.0/0101-Release-2020.06.0-customers-pengutronix-distrokit-v7.patch new file mode 100644 index 0000000..bbee24d --- /dev/null +++ b/configs/platform-v7a/patches/barebox-2020.06.0/0101-Release-2020.06.0-customers-pengutronix-distrokit-v7.patch @@ -0,0 +1,22 @@ +From: Ahmad Fatoum +Date: Wed, 17 Jun 2020 16:50:59 +0200 +Subject: [PATCH] Release + 2020.06.0/customers/pengutronix/distrokit-v7a/20200617-1 + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 0531a712d758..b3986a6ca995 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,7 +2,7 @@ + VERSION = 2020 + PATCHLEVEL = 06 + SUBLEVEL = 0 +-EXTRAVERSION = ++EXTRAVERSION =-20200617-1 + NAME = None + + # *DOCUMENTATION* diff --git a/configs/platform-v7a/patches/barebox-2020.06.0/series b/configs/platform-v7a/patches/barebox-2020.06.0/series new file mode 100644 index 0000000..4c13507 --- /dev/null +++ b/configs/platform-v7a/patches/barebox-2020.06.0/series @@ -0,0 +1,11 @@ +# umpf-base: v2020.06.0 +# umpf-name: 2020.06.0/customers/pengutronix/distrokit-v7a +# umpf-version: 2020.06.0/customers/pengutronix/distrokit-v7a/20200617-1 +# umpf-topic: v2020.06.0/topic/rpi-memory +# umpf-hashinfo: 8ee934de1a8334b19f9e9caad6be29e0a8e93fdb +# umpf-topic-range: ff087598f4cdc426ba883a8720367a4ff3d6b9fe..1607cbfce2ba75e7455c9ab7c3251a68b290c68e +0001-ARM-rpi-dts-fix-MMIO-resources-clash-breaking-boot.patch +# umpf-release: 2020.06.0/customers/pengutronix/distrokit-v7a/20200617-1 +# umpf-topic-range: 1607cbfce2ba75e7455c9ab7c3251a68b290c68e..af8e8583ac0ed9f48ef13a81caa4ec17030778d8 +0101-Release-2020.06.0-customers-pengutronix-distrokit-v7.patch +# umpf-end diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig index 7bac3db..aa3a191 100644 --- a/configs/platform-v7a/platformconfig +++ b/configs/platform-v7a/platformconfig @@ -166,8 +166,8 @@ PTXCONF_CONSOLE_SPEED="115200" # PTXCONF_AT91BOOTSTRAP2 is not set PTXCONF_BAREBOX_COMMON_ARCH_STRING="arm" PTXCONF_BAREBOX_COMMON=y -PTXCONF_BAREBOX_COMMON_VERSION="2020.04.0" -PTXCONF_BAREBOX_COMMON_MD5="58b6d6182c7c9fe10ce9714fbbacb138" +PTXCONF_BAREBOX_COMMON_VERSION="2020.06.0" +PTXCONF_BAREBOX_COMMON_MD5="466e436389ab1c771ddfffb5ee16e7b8" PTXCONF_BAREBOX_COMMON_NEEDS_HOST_LZOP=y PTXCONF_BAREBOX_AM335X_MLO=y PTXCONF_BAREBOX_AM335X=y -- cgit v1.2.3