DistroKit Mailinglist
 help / color / mirror / Atom feed
* [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults
@ 2020-04-24 17:17 Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 2/7] v7a: tf-a: version bump v2.2 -> v2.3 Ahmad Fatoum
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-24 17:17 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

With this release, the TF-A rule went upstream in revised form,
so it's dropped as part of the migration.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 configs/platform-mips/platformconfig |   4 +-
 configs/platform-rpi/platformconfig  |   4 +-
 configs/platform-v7a/platformconfig  |   4 +-
 configs/platform-v8a/platformconfig  |   4 +-
 configs/ptxconfig                    |  20 +++-
 rules/tf-a.in                        | 140 ---------------------------
 rules/tf-a.make                      | 122 -----------------------
 7 files changed, 23 insertions(+), 275 deletions(-)
 delete mode 100644 rules/tf-a.in
 delete mode 100644 rules/tf-a.make

diff --git a/configs/platform-mips/platformconfig b/configs/platform-mips/platformconfig
index 51f9a1520316..0922a48321d2 100644
--- a/configs/platform-mips/platformconfig
+++ b/configs/platform-mips/platformconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.03.0
+# PTXdist 2020.04.0
 #
 PTXCONF__platformconfig_MAGIC__=y
 
@@ -19,7 +19,7 @@ PTXCONF_PLATFORM="mips"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
-PTXCONF_PLATFORMCONFIG_VERSION="2020.03.0"
+PTXCONF_PLATFORMCONFIG_VERSION="2020.04.0"
 
 #
 # architecture                  
diff --git a/configs/platform-rpi/platformconfig b/configs/platform-rpi/platformconfig
index 62b22519276c..91c923224c40 100644
--- a/configs/platform-rpi/platformconfig
+++ b/configs/platform-rpi/platformconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.03.0
+# PTXdist 2020.04.0
 #
 PTXCONF__platformconfig_MAGIC__=y
 
@@ -19,7 +19,7 @@ PTXCONF_PLATFORM="rpi"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
-PTXCONF_PLATFORMCONFIG_VERSION="2020.03.0"
+PTXCONF_PLATFORMCONFIG_VERSION="2020.04.0"
 
 #
 # architecture                  
diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index 7904ea58315e..6060f65076c5 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.03.0
+# PTXdist 2020.04.0
 #
 PTXCONF__platformconfig_MAGIC__=y
 
@@ -19,7 +19,7 @@ PTXCONF_PLATFORM="v7a"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
-PTXCONF_PLATFORMCONFIG_VERSION="2020.03.0"
+PTXCONF_PLATFORMCONFIG_VERSION="2020.04.0"
 
 #
 # architecture                  
diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index ace1250d66bd..81f9e05be483 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.03.0
+# PTXdist 2020.04.0
 #
 PTXCONF__platformconfig_MAGIC__=y
 
@@ -19,7 +19,7 @@ PTXCONF_PLATFORM="v8a"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
-PTXCONF_PLATFORMCONFIG_VERSION="2020.03.0"
+PTXCONF_PLATFORMCONFIG_VERSION="2020.04.0"
 
 #
 # architecture                  
diff --git a/configs/ptxconfig b/configs/ptxconfig
index 822a3b59bb9f..54c65e1f139f 100644
--- a/configs/ptxconfig
+++ b/configs/ptxconfig
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# PTXdist 2020.03.0
+# PTXdist 2020.04.0
 #
 PTXCONF_DATAPARTITION=y
 
@@ -65,7 +65,7 @@ PTXCONF_BSP=y
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
 PTXCONF_VIRTUAL=y
-PTXCONF_CONFIGFILE_VERSION="2020.03.0"
+PTXCONF_CONFIGFILE_VERSION="2020.04.0"
 PTXCONF__ptxconfig_MAGIC__=y
 
 #
@@ -83,6 +83,7 @@ PTXCONF__ptxconfig_MAGIC__=y
 # Host Tools                    
 #
 # PTXCONF_HOST_DFU_UTIL is not set
+# PTXCONF_HOST_MFGTOOLS is not set
 # PTXCONF_HOST_OPENOCD is not set
 PTXCONF_HOST_QEMU=y
 PTXCONF_HOST_QEMU_SYS=y
@@ -1472,6 +1473,10 @@ PTXCONF_UTIL_LINUX_NG_HWCLOCK=y
 #
 # BusyBox' login is selected!
 #
+
+#
+# BusyBox' sulogin is selected!
+#
 # PTXCONF_WATCHDOG is not set
 
 #
@@ -1571,6 +1576,8 @@ PTXCONF_UTIL_LINUX_NG_HWCLOCK=y
 # PTXCONF_CLASSPATH is not set
 # PTXCONF_FRODO is not set
 # PTXCONF_JAMVM is not set
+# PTXCONF_NODEJS is not set
+# PTXCONF_NODEJS_PACKAGES is not set
 
 #
 # Networking Tools              
@@ -1615,6 +1622,7 @@ PTXCONF_IPROUTE2=y
 # PTXCONF_IPROUTE2_ARPD is not set
 # PTXCONF_IPROUTE2_BRIDGE is not set
 # PTXCONF_IPROUTE2_CTSTAT is not set
+# PTXCONF_IPROUTE2_DEVLINK is not set
 # PTXCONF_IPROUTE2_GENL is not set
 PTXCONF_IPROUTE2_IP=y
 # PTXCONF_IPROUTE2_IFCFG is not set
@@ -1637,7 +1645,6 @@ PTXCONF_IPROUTE2_IP=y
 # PTXCONF_IW is not set
 # PTXCONF_JSON_DBUS_BRIDGE is not set
 # PTXCONF_LIBCGI is not set
-# PTXCONF_LIBCGIC is not set
 # PTXCONF_LIBCGICC is not set
 # PTXCONF_LIBCOAP is not set
 # PTXCONF_LIBCURL is not set
@@ -1739,6 +1746,7 @@ PTXCONF_OPENSSL=y
 # PTXCONF_SIMPLERPL is not set
 # PTXCONF_SMCROUTE is not set
 # PTXCONF_SOCAT is not set
+# PTXCONF_SPAWN_FCGI is not set
 # PTXCONF_STRONGSWAN is not set
 # PTXCONF_STUNNEL is not set
 # PTXCONF_TCPDUMP is not set
@@ -1824,6 +1832,7 @@ PTXCONF_E2FSPROGS_INSTALL_MKFS_EXT4=y
 # PTXCONF_LOGROTATE is not set
 # PTXCONF_LVM2 is not set
 # PTXCONF_MMC_UTILS is not set
+# PTXCONF_NCDU is not set
 # PTXCONF_OPKG is not set
 # PTXCONF_QUOTA_TOOLS is not set
 # PTXCONF_SAMBA is not set
@@ -1843,9 +1852,11 @@ PTXCONF_E2FSPROGS_INSTALL_MKFS_EXT4=y
 # PTXCONF_CKERMIT is not set
 # PTXCONF_EFAX is not set
 # PTXCONF_HEIRLOOM_MAILX is not set
+# PTXCONF_IMX_UUC is not set
 # PTXCONF_LIBSOCKETCAN is not set
 # PTXCONF_LRZSZ is not set
 # PTXCONF_MGETTY is not set
+# PTXCONF_OPEN62541 is not set
 # PTXCONF_OPENCT is not set
 # PTXCONF_OPENSC is not set
 # PTXCONF_PCSC_LITE is not set
@@ -1886,7 +1897,6 @@ PTXCONF_E2FSPROGS_INSTALL_MKFS_EXT4=y
 # PTXCONF_DB is not set
 PTXCONF_EXPAT=y
 # PTXCONF_FLEX is not set
-# PTXCONF_GETTEXT is not set
 # PTXCONF_GFLAGS is not set
 # PTXCONF_GPGME is not set
 # PTXCONF_GPSD is not set
@@ -1994,6 +2004,7 @@ PTXCONF_LIBUUID=y
 # PTXCONF_LXC is not set
 PTXCONF_LZ4=y
 # PTXCONF_LZ4_TOOLS is not set
+# PTXCONF_MBEDTLS is not set
 PTXCONF_NCURSES=y
 
 #
@@ -2200,7 +2211,6 @@ PTXCONF_DBUS_SYSTEMD_UNIT=y
 #
 # framebuffer                   
 #
-# PTXCONF_FBGRAB is not set
 # PTXCONF_FBSET is not set
 # PTXCONF_FBTERM is not set
 # PTXCONF_FBTEST is not set
diff --git a/rules/tf-a.in b/rules/tf-a.in
deleted file mode 100644
index 3cddf7907960..000000000000
--- a/rules/tf-a.in
+++ /dev/null
@@ -1,140 +0,0 @@
-## SECTION=bootloader
-
-menuconfig TF_A
-	select BOOTLOADER
-	prompt "ARM Trusted Firmware-A        "
-	depends on ARCH_ARM || ARCH_ARM64
-	bool
-
-if TF_A
-
-config TF_A_VERSION
-	string
-	default "v2.2"
-	prompt "TF-A version"
-	help
-	  Enter the TF-A git commit-ish you want to build. Usually a tagged
-	  release like "v2.2"
-
-config TF_A_MD5
-	string
-	default "bb300e5a62c911e189c80d935d497a4b"
-	prompt "TF-A source md5"
-
-config TF_A_ARCH_STRING
-        string
-        default "aarch32" if ARCH_ARM
-        default "aarch64" if ARCH_ARM64
-
-choice
-	prompt "TF-A Architecture"
-	default TF_A_ARM_ARCH_MAJOR_7 if ARCH_ARM
-	default TF_A_ARM_ARCH_MAJOR_8 if ARCH_ARM64
-	help
-	  Architecture version major number
-
-	config TF_A_ARM_ARCH_MAJOR_7
-		depends on ARCH_ARM
-		prompt "ARMv7"
-		bool
-
-	config TF_A_ARM_ARCH_MAJOR_8_32_BIT
-		depends on ARCH_ARM
-		prompt "ARMv8 32-bit"
-		bool
-
-	config TF_A_ARM_ARCH_MAJOR_8
-		depends on ARCH_ARM64
-		prompt "ARMv8"
-		bool
-
-endchoice
-
-config TF_A_ARM_ARCH_MAJOR
-        int
-        default 7 if TF_A_ARM_ARCH_MAJOR_7
-        default 8 if TF_A_ARM_ARCH_MAJOR_8_32_BIT
-        default 8 if TF_A_ARM_ARCH_MAJOR_8
-
-
-config TF_A_PLATFORM
-	string
-	prompt "TF-A target platform"
-	help
-	  The TF-A target platform.
-
-config TF_A_ARM_ARCH_MINOR
-	depends on TF_A_ARM_ARCH_MAJOR_8 || TF_A_ARM_ARCH_MAJOR_8_32_BIT
-	int
-	default 0
-	prompt "TF-A target ARMv8.MINOR version"
-	help
-	  The minor version of the ARMv8 architecture targeted. Defaults to 0.
-
-config TF_A_EXTRA_ARGS
-	string
-	prompt "TF-A extra build arguments"
-	help
-	  Extra platform-specific build arguments to pass to the TF-A build
-	  process, e.g. DTB_FILE_NAME= for the stm32mp1
-
-config TF_A_ARTIFACTS
-	string
-	prompt "TF-A artifact file names"
-	help
-	  A space-separated list of glob patterns of artifacts to copy from the
-	  build directory.
-	  All file names are relative to the appropriate TF-A platform build
-	  directory.
-
-comment "Payloads"
-
-choice
-	prompt "BL32 Payload"
-	default TF_A_BL32_NONE
-	help
-	  payload for BL32 (Secure World OS)
-
-	config TF_A_BL32_NONE
-		prompt "None"
-		bool
-
-	config TF_A_BL32_SP_MIN
-		depends on ARCH_ARM
-		prompt "sp_min"
-		bool
-
-	config TF_A_BL32_TSP
-		depends on ARCH_ARM64
-		prompt "Test Secure Payload"
-		bool
-
-endchoice
-
-if TF_A_BL32_TSP
-choice TF_A_BL32_TSP_RAM_LOCATION
-	prompt "TSP location"
-	default TF_A_BL32_TSP_RAM_LOCATION_TSRAM
-
-	config TF_A_BL32_TSP_RAM_LOCATION_TSRAM
-		prompt "Trusted SRAM"
-		bool
-
-	config TF_A_BL32_TSP_RAM_LOCATION_TDRAM
-		prompt "Trusted DRAM (if available)"
-		bool
-
-	config TF_A_BL32_TSP_RAM_LOCATION_DRAM
-		prompt "Secure DRAM region (configured by TrustZone controller)"
-		bool
-endchoice
-
-config TF_A_BL32_TSP_RAM_LOCATION_STRING
-        string
-        default "tsram" if TF_A_BL32_TSP_RAM_LOCATION_TSRAM
-        default "tdram" if TF_A_BL32_TSP_RAM_LOCATION_TDRAM
-        default "dram"  if TF_A_BL32_TSP_RAM_LOCATION_DRAM
-
-endif
-
-endif
diff --git a/rules/tf-a.make b/rules/tf-a.make
deleted file mode 100644
index 3ba5ca275050..000000000000
--- a/rules/tf-a.make
+++ /dev/null
@@ -1,122 +0,0 @@
-# -*-makefile-*-
-#
-# Copyright (C) 2018 by Rouven Czerwinski <r.czerwinski@pengutronix.de>
-#               2019 by Ahmad Fatoum <a.fatoum@pengutronix.de>
-#
-# For further information about the PTXdist project and license conditions
-# see the README file.
-#
-
-#
-# We provide this package
-#
-PACKAGES-$(PTXCONF_TF_A) += tf-a
-
-#
-# Paths and names
-#
-TF_A_VERSION	:= $(call remove_quotes,$(PTXCONF_TF_A_VERSION))
-TF_A_MD5	:= $(call remove_quotes,$(PTXCONF_TF_A_MD5))
-TF_A		:= tf-a-$(TF_A_VERSION)
-TF_A_SUFFIX	:= tar.gz
-TF_A_URL	:= https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot/$(TF_A_VERSION).$(TF_A_SUFFIX)
-TF_A_SOURCE	:= $(SRCDIR)/$(TF_A).$(TF_A_SUFFIX)
-TF_A_DIR	:= $(BUILDDIR)/$(TF_A)
-TF_A_LICENSE    := BSD-3-Clause AND BSD-2-Clause \
-		   AND (GPL-2.0-or-later OR BSD-2-Clause) \
-		   AND (NCSA OR MIT) \
-		   AND Zlib \
-		   AND (GPL-2.0-or-later OR BSD-3-Clause)
-
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-TF_A_WRAPPER_BLACKLIST := \
-	TARGET_HARDEN_RELRO \
-	TARGET_HARDEN_BINDNOW \
-	TARGET_HARDEN_PIE \
-	TARGET_DEBUG \
-	TARGET_BUILD_ID
-
-TF_A_RELEASE := 1
-
-TF_A_PATH	:= PATH=$(CROSS_PATH)
-TF_A_MAKE_OPT	:= \
-	CROSS_COMPILE=$(BOOTLOADER_CROSS_COMPILE) \
-	HOSTCC=$(HOSTCC) \
-	PLAT=$(PTXCONF_TF_A_PLATFORM) \
-	DEBUG=$(if $(filter 1,$(TF_A_RELEASE)),0,1) \
-	ARCH=$(PTXCONF_TF_A_ARCH_STRING) \
-	ARM_ARCH_MAJOR=$(PTXCONF_TF_A_ARM_ARCH_MAJOR) \
-	BUILD_STRING=$(PTXCONF_TF_A_VERSION) \
-	$(call remove_quotes,$(PTXCONF_TF_A_EXTRA_ARGS)) \
-	all
-
-ifdef PTXCONF_TF_A_BL32_TSP
-TF_A_MAKE_OPT += ARM_TSP_RAM_LOCATION=$(PTXCONF_TF_A_BL32_TSP_RAM_LOCATION_STRING)
-endif
-ifdef PTXCONF_TF_A_ARM_ARCH_MINOR
-TF_A_MAKE_OPT += ARM_ARCH_MINOR=$(PTXCONF_TF_A_ARM_ARCH_MINOR)
-endif
-ifdef PTXCONF_TF_A_BL32_SP_MIN
-TF_A_MAKE_OPT += AARCH32_SP=sp_min
-endif
-
-ifdef PTXCONF_TF_A
-ifeq ($(PTXCONF_TF_A_ARTIFACTS),)
-$(error TF_A_ARTIFACTS is empty. nothing to install.)
-endif
-endif
-
-TF_A_CONF_TOOL	:= NO
-
-$(STATEDIR)/tf-a.prepare:
-	@$(call targetinfo)
-	@rm -rf $(TF_A_DIR)/build/
-	@$(call touch)
-
-# ----------------------------------------------------------------------------
-# Compile
-# ----------------------------------------------------------------------------
-
-TF_A_MAKE_ENV	:= $(CROSS_ENV)
-
-# ----------------------------------------------------------------------------
-# Install
-# ----------------------------------------------------------------------------
-
-TF_A_BUILD_OUTPUT_DIR := $(TF_A_DIR)/build/$(call remove_quotes, \
-	$(PTXCONF_TF_A_PLATFORM))/$(if $(filter 1,$(TF_A_RELEASE)),release,debug)
-TF_A_ARTIFACTS_SRC = $(wildcard $(addprefix $(TF_A_BUILD_OUTPUT_DIR)/, \
-	$(call remove_quotes,$(PTXCONF_TF_A_ARTIFACTS))))
-TF_A_ARTIFACTS_DEST = $(subst $(TF_A_BUILD_OUTPUT_DIR)/,,$(TF_A_ARTIFACTS_SRC))
-
-$(STATEDIR)/tf-a.install:
-	@$(call targetinfo)
-	@$(foreach artifact, $(TF_A_ARTIFACTS_SRC), \
-		install -v -D -m 644 $(artifact) \
-		$(TF_A_PKGDIR)/usr/lib/firmware/$(notdir $(artifact))$(ptx/nl))
-	@$(call touch)
-
-# ----------------------------------------------------------------------------
-# Target-Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/tf-a.targetinstall:
-	@$(call targetinfo)
-	@$(foreach artifact, $(TF_A_ARTIFACTS_SRC), \
-		install -v -D -m 644 $(artifact) \
-		$(IMAGEDIR)/$(notdir $(artifact))$(ptx/nl))
-	@$(call touch)
-
-# ----------------------------------------------------------------------------
-# Clean
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/tf-a.clean:
-	@$(call targetinfo)
-	@rm -f $(addprefix $(IMAGEDIR)/, $(TF_A_ARTIFACTS_DEST))
-	@$(call clean_pkg, TF_A)
-
-# vim: syntax=make
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* [DistroKit] [PATCH 2/7] v7a: tf-a: version bump v2.2 -> v2.3
  2020-04-24 17:17 [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Ahmad Fatoum
@ 2020-04-24 17:17 ` Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 3/7] v7a: tf-a: add support for Linux Automation MC-1 Ahmad Fatoum
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-24 17:17 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

TF-A v2.3 brings in support for multi-image STM32MP1 builds, which means
less boilerplate for us, because we can build images for multiple
STM32MP1 boards at once with the same rule. We want to do this in the
follow-up commit, so bump the version now.

With this update, all boot device drivers are disabled by default.
We can afford continuing to waste a few kilobytes in the first stage
bootloader and in the future, we might want to support boards that
don't boot from SDMMC anyway, so just (re-)enable all of them.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 configs/platform-v7a/platformconfig | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index 6060f65076c5..04b01f93f017 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -183,14 +183,14 @@ PTXCONF_BOOTLOADER=y
 # PTXCONF_HOST_MXS_UTILS is not set
 # PTXCONF_OPTEE is not set
 PTXCONF_TF_A=y
-PTXCONF_TF_A_VERSION="v2.2"
-PTXCONF_TF_A_MD5="bb300e5a62c911e189c80d935d497a4b"
+PTXCONF_TF_A_VERSION="v2.3"
+PTXCONF_TF_A_MD5="95ccde0f7e96cd8e72d44420a5406252"
 PTXCONF_TF_A_ARCH_STRING="aarch32"
 PTXCONF_TF_A_ARM_ARCH_MAJOR_7=y
 # PTXCONF_TF_A_ARM_ARCH_MAJOR_8_32_BIT is not set
 PTXCONF_TF_A_ARM_ARCH_MAJOR=7
 PTXCONF_TF_A_PLATFORM="stm32mp1"
-PTXCONF_TF_A_EXTRA_ARGS="DTB_FILE_NAME=stm32mp157c-dk2.dtb"
+PTXCONF_TF_A_EXTRA_ARGS="DTB_FILE_NAME=stm32mp157c-dk2.dtb STM32MP_EMMC=1 STM32MP_SDMMC=1 STM32MP_RAW_NAND=1 STM32MP_SPI_NAND=1 STM32MP_SPI_NOR=1"
 PTXCONF_TF_A_ARTIFACTS="tf-a-*.stm32"
 
 #
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* [DistroKit] [PATCH 3/7] v7a: tf-a: add support for Linux Automation MC-1
  2020-04-24 17:17 [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 2/7] v7a: tf-a: version bump v2.2 -> v2.3 Ahmad Fatoum
@ 2020-04-24 17:17 ` Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 4/7] v7a: kernel: configure for MC-1 Ahmad Fatoum
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-24 17:17 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

The MC-1 can boot from SD-Card with the DK2 TF-A, but for use in
production, it's meant to boot from eMMC. Patch in the MC-1 device tree,
which enables the appropriate SDMMC controller.

RAM timings are those of the DK-2, which have worked so far, but should
be reconsidered prior to upstreaming.

[Note: eMMC boot doesn't yet work, presumably due to hardware issues.]

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 ...d-support-for-Linux-Automation-MC-1-.patch | 414 ++++++++++++++++++
 configs/platform-v7a/patches/tf-a-v2.3/series |   1 +
 configs/platform-v7a/platformconfig           |   2 +-
 3 files changed, 416 insertions(+), 1 deletion(-)
 create mode 100644 configs/platform-v7a/patches/tf-a-v2.3/0001-fdts-stm32mp1-add-support-for-Linux-Automation-MC-1-.patch
 create mode 100644 configs/platform-v7a/patches/tf-a-v2.3/series

diff --git a/configs/platform-v7a/patches/tf-a-v2.3/0001-fdts-stm32mp1-add-support-for-Linux-Automation-MC-1-.patch b/configs/platform-v7a/patches/tf-a-v2.3/0001-fdts-stm32mp1-add-support-for-Linux-Automation-MC-1-.patch
new file mode 100644
index 000000000000..abfbd7efa8bf
--- /dev/null
+++ b/configs/platform-v7a/patches/tf-a-v2.3/0001-fdts-stm32mp1-add-support-for-Linux-Automation-MC-1-.patch
@@ -0,0 +1,414 @@
+From 8713c33c448dddcaee33d71fe3d5d2ed40c49283 Mon Sep 17 00:00:00 2001
+From: Ahmad Fatoum <a.fatoum@pengutronix.de>
+Date: Wed, 29 Jan 2020 16:04:18 +0100
+Subject: [PATCH] fdts: stm32mp1: add support for Linux Automation MC-1
+ board
+
+The Linux Automation MC-1 is a SBC built around the Octavo Systems
+OSD32MP15x SiP. The SiP features up to 1 GB DDR3 RAM, EEPROM and
+PMIC. The board has eMMC and a SD slot for storage.
+
+Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
+---
+ fdts/stm32mp157c-lxa-mc1.dts | 110 ++++++++++++++
+ fdts/stm32mp15xx-osd32.dtsi  | 271 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 381 insertions(+)
+ create mode 100644 fdts/stm32mp157c-lxa-mc1.dts
+ create mode 100644 fdts/stm32mp15xx-osd32.dtsi
+
+diff --git a/fdts/stm32mp157c-lxa-mc1.dts b/fdts/stm32mp157c-lxa-mc1.dts
+new file mode 100644
+index 000000000000..e75e7b5ba28b
+--- /dev/null
++++ b/fdts/stm32mp157c-lxa-mc1.dts
+@@ -0,0 +1,110 @@
++/* 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 "stm32mp157c.dtsi"
++#include "stm32mp15-ddr3-1x4Gb-1066-binG.dtsi"
++#include "stm32mp157c-security.dtsi"
++#include "stm32mp15xx-osd32.dtsi"
++
++/ {
++	model = "Linux Automation MC-1 board";
++	compatible = "lxa,stm32mp157c-mc1", "oct,stm32mp157c-osd32", "st,stm32mp157";
++
++	aliases {
++		mmc0 = &sdmmc1;
++		mmc1 = &sdmmc2;
++		serial0 = &uart4;
++	};
++
++	chosen {
++		stdout-path = &uart4;
++	};
++
++	led-act {
++		compatible = "gpio-leds";
++
++		green {
++			label = "mc1:green:act";
++			gpios = <&gpioa 13 1>;
++			linux,default-trigger = "heartbeat";
++			default-state = "off";
++		};
++	};
++
++	reg_3v3: regulator_3v3 {
++		compatible = "regulator-fixed";
++		regulator-name = "3V3";
++		regulator-min-microvolt = <3300000>;
++		regulator-max-microvolt = <3300000>;
++		vin-supply = <&v3v3>;
++	};
++};
++
++&sdmmc1 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&sdmmc1_b4_pu_pins_a>;
++	cd-gpios = <&gpioh 3 1>;
++	st,neg-edge;
++	bus-width = <4>;
++	vmmc-supply = <&reg_3v3>;
++	no-1-8-v;
++	status = "okay";
++};
++
++&sdmmc2 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>;
++	non-removable;
++	no-sd;
++	no-sdio;
++	st,neg-edge;
++	bus-width = <8>;
++	vmmc-supply = <&reg_3v3>;
++	no-1-8-v;
++	mmc-ddr-3_3v;
++	status = "okay";
++};
++
++&uart4 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&uart4_pins_a>;
++	status = "okay";
++};
++
++&pinctrl {
++	sdmmc1_b4_pu_pins_a: sdmmc1-pu-b4-0 {
++		pins1 {
++			pinmux = <STM32_PINMUX('C',  8, AF12)>, /* SDMMC1_D0 */
++				 <STM32_PINMUX('C',  9, AF12)>, /* SDMMC1_D1 */
++				 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
++				 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
++				 <STM32_PINMUX('D',  2, AF12)>; /* SDMMC1_CMD */
++			slew-rate = <1>;
++			drive-push-pull;
++			bias-pull-up;
++		};
++		pins2 {
++			pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
++			slew-rate = <2>;
++			drive-push-pull;
++			bias-pull-up;
++		};
++	};
++
++	sdmmc2_d47_pins_b: sdmmc2-d47-1 {
++		pins {
++			pinmux = <STM32_PINMUX('A', 8, AF9)>,  /* eMMC_D4 */
++			         <STM32_PINMUX('A', 9, AF10)>, /* eMMC_D5 */
++			         <STM32_PINMUX('C', 6, AF10)>, /* eMMC_D6 */
++			         <STM32_PINMUX('C', 7, AF10)>; /* eMMC_D7 */
++			slew-rate = <1>;
++			drive-push-pull;
++			bias-disable;
++		};
++	};
++};
+diff --git a/fdts/stm32mp15xx-osd32.dtsi b/fdts/stm32mp15xx-osd32.dtsi
+new file mode 100644
+index 000000000000..453f18c30873
+--- /dev/null
++++ b/fdts/stm32mp15xx-osd32.dtsi
+@@ -0,0 +1,271 @@
++/* 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 "stm32mp157cac-pinctrl.dtsi"
++
++&i2c4 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&i2c4_pins_a>;
++	i2c-scl-rising-time-ns = <185>;
++	i2c-scl-falling-time-ns = <20>;
++	status = "okay";
++
++	/* spare dmas for other usage */
++	/delete-property/ dmas;
++	/delete-property/ dma-names;
++
++	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>;
++			ldo3-supply = <&vdd_ddr>;
++			ldo6-supply = <&v3v3>;
++			pwr_sw1-supply = <&bst_out>;
++			pwr_sw2-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;
++
++			};
++
++			v3v3_hdmi: ldo2 {
++				regulator-name = "v3v3_hdmi";
++				regulator-min-microvolt = <3300000>;
++				regulator-max-microvolt = <3300000>;
++				regulator-always-on;
++
++			};
++
++			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>;
++			};
++
++			vdda: ldo5 {
++				regulator-name = "vdda";
++				regulator-min-microvolt = <2900000>;
++				regulator-max-microvolt = <2900000>;
++				regulator-boot-on;
++			};
++
++			v1v2_hdmi: ldo6 {
++				regulator-name = "v1v2_hdmi";
++				regulator-min-microvolt = <1200000>;
++				regulator-max-microvolt = <1200000>;
++				regulator-always-on;
++
++			};
++
++			vref_ddr: vref_ddr {
++				regulator-name = "vref_ddr";
++				regulator-always-on;
++				regulator-over-current-protection;
++			};
++
++			 bst_out: boost {
++				regulator-name = "bst_out";
++			 };
++
++			vbus_otg: pwr_sw1 {
++				regulator-name = "vbus_otg";
++				regulator-active-discharge;
++			 };
++
++			 vbus_sw: pwr_sw2 {
++				regulator-name = "vbus_sw";
++				regulator-active-discharge;
++			 };
++		};
++
++		pmic_watchdog: watchdog {
++			compatible = "st,stpmic1-wdt";
++			status = "disabled";
++		};
++	};
++
++	sip_eeprom: eeprom@50 {
++		compatible = "atmel,24c32";
++		reg = <0x50>;
++	};
++};
++
++&rng1 {
++	status = "okay";
++};
++
++/* ATF Specific */
++#include <dt-bindings/clock/stm32mp1-clksrc.h>
++
++/ {
++	aliases {
++		gpio0 = &gpioa;
++		gpio1 = &gpiob;
++		gpio2 = &gpioc;
++		gpio3 = &gpiod;
++		gpio4 = &gpioe;
++		gpio5 = &gpiof;
++		gpio6 = &gpiog;
++		gpio7 = &gpioh;
++		gpio8 = &gpioi;
++		gpio25 = &gpioz;
++		i2c3 = &i2c4;
++	};
++};
++
++/* CLOCK init */
++&rcc {
++	secure-status = "disabled";
++	st,clksrc = <
++		CLK_MPU_PLL1P
++		CLK_AXI_PLL2P
++		CLK_MCU_PLL3P
++		CLK_PLL12_HSE
++		CLK_PLL3_HSE
++		CLK_PLL4_HSE
++		CLK_RTC_LSE
++		CLK_MCO1_DISABLED
++		CLK_MCO2_DISABLED
++	>;
++
++	st,clkdiv = <
++		1 /*MPU*/
++		0 /*AXI*/
++		0 /*MCU*/
++		1 /*APB1*/
++		1 /*APB2*/
++		1 /*APB3*/
++		1 /*APB4*/
++		2 /*APB5*/
++		23 /*RTC*/
++		0 /*MCO1*/
++		0 /*MCO2*/
++	>;
++
++	st,pkcs = <
++		CLK_CKPER_HSE
++		CLK_FMC_ACLK
++		CLK_QSPI_ACLK
++		CLK_ETH_DISABLED
++		CLK_SDMMC12_PLL4P
++		CLK_DSI_DSIPLL
++		CLK_STGEN_HSE
++		CLK_USBPHY_HSE
++		CLK_SPI2S1_PLL3Q
++		CLK_SPI2S23_PLL3Q
++		CLK_SPI45_HSI
++		CLK_SPI6_HSI
++		CLK_I2C46_HSI
++		CLK_SDMMC3_PLL4P
++		CLK_USBO_USBPHY
++		CLK_ADC_CKPER
++		CLK_CEC_LSE
++		CLK_I2C12_HSI
++		CLK_I2C35_HSI
++		CLK_UART1_HSI
++		CLK_UART24_HSI
++		CLK_UART35_HSI
++		CLK_UART6_HSI
++		CLK_UART78_HSI
++		CLK_SPDIF_PLL4P
++		CLK_FDCAN_PLL4R
++		CLK_SAI1_PLL3Q
++		CLK_SAI2_PLL3Q
++		CLK_SAI3_PLL3Q
++		CLK_SAI4_PLL3Q
++		CLK_RNG1_LSI
++		CLK_RNG2_LSI
++		CLK_LPTIM1_PCLK1
++		CLK_LPTIM23_PCLK3
++		CLK_LPTIM45_LSE
++	>;
++
++	/* VCO = 1300.0 MHz => P = 650 (CPU) */
++	pll1: st,pll@0 {
++		cfg = < 2 80 0 0 0 PQR(1,0,0) >;
++		frac = < 0x800 >;
++	};
++
++	/* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */
++	pll2: st,pll@1 {
++		cfg = < 2 65 1 0 0 PQR(1,1,1) >;
++		frac = < 0x1400 >;
++	};
++
++	/* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */
++	pll3: st,pll@2 {
++		cfg = < 1 33 1 16 36 PQR(1,1,1) >;
++		frac = < 0x1a04 >;
++	};
++
++	/* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */
++	pll4: st,pll@3 {
++		cfg = < 3 98 5 7 7 PQR(1,1,1) >;
++	};
++};
++
++&bsec {
++	board_id: board_id@ec {
++		reg = <0xec 0x4>;
++		status = "okay";
++		secure-status = "okay";
++	};
++};
+-- 
+2.25.0
+
diff --git a/configs/platform-v7a/patches/tf-a-v2.3/series b/configs/platform-v7a/patches/tf-a-v2.3/series
new file mode 100644
index 000000000000..2f7ede32179f
--- /dev/null
+++ b/configs/platform-v7a/patches/tf-a-v2.3/series
@@ -0,0 +1 @@
+0001-fdts-stm32mp1-add-support-for-Linux-Automation-MC-1-.patch
diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index 04b01f93f017..cdda0418da6f 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -190,7 +190,7 @@ PTXCONF_TF_A_ARM_ARCH_MAJOR_7=y
 # PTXCONF_TF_A_ARM_ARCH_MAJOR_8_32_BIT is not set
 PTXCONF_TF_A_ARM_ARCH_MAJOR=7
 PTXCONF_TF_A_PLATFORM="stm32mp1"
-PTXCONF_TF_A_EXTRA_ARGS="DTB_FILE_NAME=stm32mp157c-dk2.dtb STM32MP_EMMC=1 STM32MP_SDMMC=1 STM32MP_RAW_NAND=1 STM32MP_SPI_NAND=1 STM32MP_SPI_NOR=1"
+PTXCONF_TF_A_EXTRA_ARGS="DTB_FILE_NAME='stm32mp157c-dk2.dtb stm32mp157c-lxa-mc1.dtb' STM32MP_EMMC=1 STM32MP_SDMMC=1 STM32MP_RAW_NAND=1 STM32MP_SPI_NAND=1 STM32MP_SPI_NOR=1"
 PTXCONF_TF_A_ARTIFACTS="tf-a-*.stm32"
 
 #
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* [DistroKit] [PATCH 4/7] v7a: kernel: configure for MC-1
  2020-04-24 17:17 [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 2/7] v7a: tf-a: version bump v2.2 -> v2.3 Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 3/7] v7a: tf-a: add support for Linux Automation MC-1 Ahmad Fatoum
@ 2020-04-24 17:17 ` Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 5/7] v7a: stm32mp: add Linux Automation MC-1 device tree Ahmad Fatoum
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-24 17:17 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

Our current kernel config already supports one STM32MP board, but we
have some HW on the MC-1, that the DK-2 lacks, namely a KSZ9031 PHY,
an EEPROM in the SiP and PWM LEDs.

We also got a display controller, but in interest of keeping kernel
code size down, enabling DRM and associated drivers is left to a
ptxdist layer specific to the MC-1.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 configs/platform-v7a/kernelconfig | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/configs/platform-v7a/kernelconfig b/configs/platform-v7a/kernelconfig
index b58618a70092..e88beef37b7e 100644
--- a/configs/platform-v7a/kernelconfig
+++ b/configs/platform-v7a/kernelconfig
@@ -1298,7 +1298,7 @@ CONFIG_VEXPRESS_SYSCFG=y
 #
 # EEPROM support
 #
-# CONFIG_EEPROM_AT24 is not set
+CONFIG_EEPROM_AT24=y
 # CONFIG_EEPROM_AT25 is not set
 # CONFIG_EEPROM_LEGACY is not set
 # CONFIG_EEPROM_MAX6875 is not set
@@ -1472,7 +1472,7 @@ CONFIG_FIXED_PHY=y
 # CONFIG_LXT_PHY is not set
 # CONFIG_MARVELL_PHY is not set
 # CONFIG_MARVELL_10G_PHY is not set
-# CONFIG_MICREL_PHY is not set
+CONFIG_MICREL_PHY=y
 # CONFIG_MICROCHIP_PHY is not set
 # CONFIG_MICROCHIP_T1_PHY is not set
 # CONFIG_MICROSEMI_PHY is not set
@@ -2558,7 +2558,7 @@ CONFIG_LEDS_GPIO=y
 # CONFIG_LEDS_PCA955X is not set
 # CONFIG_LEDS_PCA963X is not set
 # CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_PWM is not set
+CONFIG_LEDS_PWM=y
 # CONFIG_LEDS_REGULATOR is not set
 # CONFIG_LEDS_BD2802 is not set
 # CONFIG_LEDS_LT3593 is not set
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* [DistroKit] [PATCH 5/7] v7a: stm32mp: add Linux Automation MC-1 device tree
  2020-04-24 17:17 [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Ahmad Fatoum
                   ` (2 preceding siblings ...)
  2020-04-24 17:17 ` [DistroKit] [PATCH 4/7] v7a: kernel: configure for MC-1 Ahmad Fatoum
@ 2020-04-24 17:17 ` Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 6/7] v7a: barebox: add support for Linux Automation MC-1 Ahmad Fatoum
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-24 17:17 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

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
without the prerequisite patches.

We can drop them again, when we upgrade to v5.8-rc1.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 .../platform-v7a/dts/stm32mp157c-lxa-mc1.dts  | 362 ++++++++++++++++++
 .../platform-v7a/dts/stm32mp15xx-osd32.dtsi   | 229 +++++++++++
 configs/platform-v7a/platformconfig           |   4 +-
 3 files changed, 593 insertions(+), 2 deletions(-)
 create mode 100644 configs/platform-v7a/dts/stm32mp157c-lxa-mc1.dts
 create mode 100644 configs/platform-v7a/dts/stm32mp15xx-osd32.dtsi

diff --git a/configs/platform-v7a/dts/stm32mp157c-lxa-mc1.dts b/configs/platform-v7a/dts/stm32mp157c-lxa-mc1.dts
new file mode 100644
index 000000000000..d65c82379a65
--- /dev/null
+++ b/configs/platform-v7a/dts/stm32mp157c-lxa-mc1.dts
@@ -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 "stm32mp157.dtsi"
+#include "stm32mp15xx-osd32.dtsi"
+#include "stm32mp15xxac-pinctrl.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+	model = "Linux Automation MC-1 board";
+	compatible = "lxa,stm32mp157c-mc1", "st,stm32mp157";
+
+	aliases {
+		ethernet0 = &ethernet0;
+		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 = <&reg_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 = <&reg_3v3>;
+
+		port {
+			panel_input: endpoint {
+				remote-endpoint = <&ltdc_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;
+	};
+};
+
+&ethernet0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&ethernet0_rgmii_mc1pins_b>;
+	phy-mode = "rgmii-id";
+	phy-handle = <&ethphy>;
+	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 = <&reg_3v3>;
+		reg = <0x38>;
+		reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */
+		touchscreen-size-x = <1792>;
+		touchscreen-size-y = <1024>;
+		wakeup-source;
+	};
+};
+
+&ltdc {
+	pinctrl-names = "default";
+	pinctrl-0 = <&ltdc_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 = <&reg_5v2>;	/* VIN */
+		ldo2-supply = <&reg_5v2>;	/* PMIC_LDO25IN */
+		ldo5-supply = <&reg_5v2>;	/* PMIC_LDO25IN */
+		boost-supply = <&reg_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 = <&reg_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 = <&reg_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 = <STM32_PINMUX('G', 5, AF11)>, /* ETH_RGMII_CLK125 */
+				 <STM32_PINMUX('G', 4, AF11)>, /* ETH_RGMII_GTX_CLK */
+				 <STM32_PINMUX('G', 13, AF11)>, /* ETH_RGMII_TXD0 */
+				 <STM32_PINMUX('G', 14, AF11)>, /* ETH_RGMII_TXD1 */
+				 <STM32_PINMUX('C', 2, AF11)>, /* ETH_RGMII_TXD2 */
+				 <STM32_PINMUX('E', 2, AF11)>, /* ETH_RGMII_TXD3 */
+				 <STM32_PINMUX('B', 11, AF11)>, /* ETH_RGMII_TX_CTL */
+				 <STM32_PINMUX('C', 1, AF11)>; /* ETH_MDC */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <2>;
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH_MDIO */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins3 {
+			pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH_RGMII_RXD0 */
+				 <STM32_PINMUX('C', 5, AF11)>, /* ETH_RGMII_RXD1 */
+				 <STM32_PINMUX('H', 6, AF11)>, /* ETH_RGMII_RXD2 */
+				 <STM32_PINMUX('H', 7, AF11)>, /* ETH_RGMII_RXD3 */
+				 <STM32_PINMUX('A', 1, AF11)>, /* ETH_RGMII_RX_CLK */
+				 <STM32_PINMUX('A', 7, AF11)>; /* ETH_RGMII_RX_CTL */
+			bias-disable;
+		};
+	};
+
+	i2c5_mc1pins_b: mc1-i2c5-1 {
+		pins {
+			pinmux = <STM32_PINMUX('D', 0, AF4)>, /* I2C5_SCL */
+			         <STM32_PINMUX('D', 1, AF4)>; /* I2C5_SDA */
+			bias-disable;
+			drive-open-drain;
+			slew-rate = <0>;
+		};
+	};
+
+	ltdc_mc1pins_c: mc1-ltdc-2 {
+		pins1 {
+			pinmux = <STM32_PINMUX('B',  1, AF9)>,  /* LTDC_R6 */
+				 <STM32_PINMUX('B',  9, AF14)>, /* LTDC_B7 */
+				 <STM32_PINMUX('C',  0, AF14)>, /* LTDC_R5 */
+				 <STM32_PINMUX('D',  3, AF14)>, /* LTDC_G7 */
+				 <STM32_PINMUX('D',  6, AF14)>, /* LTDC_B2 */
+				 <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
+				 <STM32_PINMUX('E', 11, AF14)>, /* LTDC_G3 */
+				 <STM32_PINMUX('E', 12, AF14)>, /* LTDC_B4 */
+				 <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */
+				 <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
+				 <STM32_PINMUX('H',  4, AF9)>,  /* LTDC_G5 */
+				 <STM32_PINMUX('H',  8, AF14)>, /* LTDC_R2 */
+				 <STM32_PINMUX('H',  9, AF14)>, /* LTDC_R3 */
+				 <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
+				 <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
+				 <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */
+				 <STM32_PINMUX('I',  1, AF14)>, /* LTDC_G6 */
+				 <STM32_PINMUX('I',  5, AF14)>, /* LTDC_B5 */
+				 <STM32_PINMUX('I',  6, AF14)>, /* LTDC_B6 */
+				 <STM32_PINMUX('I',  9, AF14)>, /* LTDC_VSYNC */
+				 <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('E', 14, AF14)>; /* LTDC_CLK */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <1>;
+		};
+	};
+
+	pwm3_mc1pins_b: mc1-pwm3-1 {
+		pins {
+			pinmux = <STM32_PINMUX('B', 5, AF2)>; /* TIM3_CH2 */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+	};
+
+	pwm5_mc1pins_b: mc1-pwm5-1 {
+		pins {
+			pinmux = <STM32_PINMUX('H', 11, AF2)>, /* TIM5_CH2 */
+				 <STM32_PINMUX('H', 12, AF2)>, /* TIM5_CH3 */
+				 <STM32_PINMUX('I', 0, AF2)>; /* TIM5_CH4 */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+	};
+
+	sdmmc2_d47_mc1pins_b: mc1-sdmmc2-d47-1 {
+		pins {
+			pinmux = <STM32_PINMUX('A', 8, AF9)>,  /* SDMMC2_D4 */
+				 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
+				 <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */
+				 <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */
+			slew-rate = <1>;
+			drive-push-pull;
+			bias-disable;
+		};
+	};
+
+};
diff --git a/configs/platform-v7a/dts/stm32mp15xx-osd32.dtsi b/configs/platform-v7a/dts/stm32mp15xx-osd32.dtsi
new file mode 100644
index 000000000000..cd0bbf08b5de
--- /dev/null
+++ b/configs/platform-v7a/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 "stm32mp15-pinctrl.dtsi"
+
+#include <dt-bindings/mfd/st,stpmic1.h>
+
+/ {
+	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 = <IT_CURLIM_LDO1 0>;
+
+			};
+
+			v3v3_hdmi: ldo2 {
+				regulator-name = "v3v3_hdmi";
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+				interrupts = <IT_CURLIM_LDO2 0>;
+
+			};
+
+			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 = <IT_CURLIM_LDO4 0>;
+			};
+
+			vdda: ldo5 {
+				regulator-name = "vdda";
+				regulator-min-microvolt = <2900000>;
+				regulator-max-microvolt = <2900000>;
+				interrupts = <IT_CURLIM_LDO5 0>;
+				regulator-boot-on;
+			};
+
+			v1v2_hdmi: ldo6 {
+				regulator-name = "v1v2_hdmi";
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <1200000>;
+				regulator-always-on;
+				interrupts = <IT_CURLIM_LDO6 0>;
+
+			};
+
+			vref_ddr: vref_ddr {
+				regulator-name = "vref_ddr";
+				regulator-always-on;
+				regulator-over-current-protection;
+			};
+
+			bst_out: boost {
+				regulator-name = "bst_out";
+				interrupts = <IT_OCP_BOOST 0>;
+			};
+
+			vbus_otg: pwr_sw1 {
+				regulator-name = "vbus_otg";
+				interrupts = <IT_OCP_OTG 0>;
+				regulator-active-discharge;
+			};
+
+			vbus_sw: pwr_sw2 {
+				regulator-name = "vbus_sw";
+				interrupts = <IT_OCP_SWOUT 0>;
+				regulator-active-discharge;
+			};
+		};
+
+		onkey {
+			compatible = "st,stpmic1-onkey";
+			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
+			interrupt-names = "onkey-falling", "onkey-rising";
+		};
+
+		pmic_watchdog: watchdog {
+			compatible = "st,stpmic1-wdt";
+			status = "disabled";
+		};
+	};
+
+	sip_eeprom: eeprom@50 {
+		compatible = "atmel,24c32";
+		vcc-supply = <&reg_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/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index cdda0418da6f..41ab61a9b9bf 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -142,8 +142,8 @@ PTXCONF_KERNEL_CONFIG="kernelconfig"
 PTXCONF_KERNEL_EXTRA_MAKEVARS=""
 PTXCONF_DTC=y
 PTXCONF_DTC_INSTALL_OFTREE=y
-PTXCONF_DTC_OFTREE_DTS_PATH="${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts"
-PTXCONF_DTC_OFTREE_DTS="am335x-bone.dts am335x-boneblack.dts vexpress-v2p-ca9.dts bcm2836-rpi-2-b.dts imx6q-sabrelite.dts imx6sx-udoo-neo-full.dts imx6dl-riotboard.dts imx6q-nitrogen6x.dts imx6qp-nitrogen6_max.dts bcm2837-rpi-3-b.dts stm32mp157c-dk2.dts"
+PTXCONF_DTC_OFTREE_DTS_PATH="${PTXDIST_PLATFORMCONFIGDIR}/dts:${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts"
+PTXCONF_DTC_OFTREE_DTS="am335x-bone.dts am335x-boneblack.dts vexpress-v2p-ca9.dts bcm2836-rpi-2-b.dts imx6q-sabrelite.dts imx6sx-udoo-neo-full.dts imx6dl-riotboard.dts imx6q-nitrogen6x.dts imx6qp-nitrogen6_max.dts bcm2837-rpi-3-b.dts stm32mp157c-dk2.dts stm32mp157c-lxa-mc1.dts"
 PTXCONF_DTC_EXTRA_ARGS=""
 PTXCONF_HOST_DTC=y
 PTXCONF_HOST_DTC_VERSION="1.5.1"
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* [DistroKit] [PATCH 6/7] v7a: barebox: add support for Linux Automation MC-1
  2020-04-24 17:17 [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Ahmad Fatoum
                   ` (3 preceding siblings ...)
  2020-04-24 17:17 ` [DistroKit] [PATCH 5/7] v7a: stm32mp: add Linux Automation MC-1 device tree Ahmad Fatoum
@ 2020-04-24 17:17 ` Ahmad Fatoum
  2020-04-24 17:17 ` [DistroKit] [PATCH 7/7] v7a: generate image " Ahmad Fatoum
  2020-04-26  7:47 ` [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Robert Schwebel
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-24 17:17 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

This adds barebox support for the Linux Automation GmbH MC-1 board built
around the Octavo Systems OSD32MP157C-512M SiP.

The patches have been posted[1] upstream, but are not yet accepted.
It's however expected for them to be part of barebox v2020.06.0, at which
time we can drop the patchset again.

[1]: https://lists.infradead.org/pipermail/barebox/2020-April/041653.html

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 .../platform-v7a/barebox-am335x-mlo.config    |   2 +-
 configs/platform-v7a/barebox-am335x.config    |   2 +-
 .../platform-v7a/barebox-am335x.config.diff   |   2 +-
 configs/platform-v7a/barebox-mx6.config       |   2 +-
 configs/platform-v7a/barebox-mx6.config.diff  |   2 +-
 configs/platform-v7a/barebox-rpi2.config      |   2 +-
 configs/platform-v7a/barebox-rpi2.config.diff |   2 +-
 configs/platform-v7a/barebox-stm32mp.config   |  13 +-
 .../platform-v7a/barebox-stm32mp.config.diff  |   9 +-
 configs/platform-v7a/barebox-vexpress.config  |   2 +-
 .../platform-v7a/barebox-vexpress.config.diff |   2 +-
 configs/platform-v7a/barebox.config           |   2 +-
 configs/platform-v7a/kernelconfig             |   4 +-
 ...mp-add-Linux-Automation-MC-1-support.patch | 815 ++++++++++++++++++
 ...mc1-break-reg_3v3-dependency-on-PMIC.patch |  60 ++
 ...0-customers-pengutronix-distrokit-v7.patch |  22 +
 .../patches/barebox-2020.04.0/series          |  12 +
 .../platform-v7a/rules/barebox-stm32mp.make   |   3 +-
 18 files changed, 939 insertions(+), 19 deletions(-)
 create mode 100644 configs/platform-v7a/patches/barebox-2020.04.0/0001-ARM-stm32mp-add-Linux-Automation-MC-1-support.patch
 create mode 100644 configs/platform-v7a/patches/barebox-2020.04.0/0002-ARM-stm32mp-lxa-mc1-break-reg_3v3-dependency-on-PMIC.patch
 create mode 100644 configs/platform-v7a/patches/barebox-2020.04.0/0101-Release-2020.04.0-customers-pengutronix-distrokit-v7.patch
 create mode 100644 configs/platform-v7a/patches/barebox-2020.04.0/series

diff --git a/configs/platform-v7a/barebox-am335x-mlo.config b/configs/platform-v7a/barebox-am335x-mlo.config
index a680c87a291e..e5c0eef2e8ea 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 Configuration
+# Barebox/arm 2020.04.0-20200424-2 Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_USE_COMPRESSED_DTB=y
diff --git a/configs/platform-v7a/barebox-am335x.config b/configs/platform-v7a/barebox-am335x.config
index 62c4246ee72a..98ecd1d80993 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 Configuration
+# Barebox/arm 2020.04.0-20200424-2 Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_LINUX=y
diff --git a/configs/platform-v7a/barebox-am335x.config.diff b/configs/platform-v7a/barebox-am335x.config.diff
index a3045113fb09..5f81f855c454 100644
--- a/configs/platform-v7a/barebox-am335x.config.diff
+++ b/configs/platform-v7a/barebox-am335x.config.diff
@@ -1,4 +1,4 @@
-3bfd0a3556e630878dfbff7b733b494e
+c0f89a11f3201404131209bd133590b7
 # 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 8c931343e3b0..aec9896fb4f9 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 Configuration
+# Barebox/arm 2020.04.0-20200424-2 Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_LINUX=y
diff --git a/configs/platform-v7a/barebox-mx6.config.diff b/configs/platform-v7a/barebox-mx6.config.diff
index 4c1d40846056..e682d55d4fb4 100644
--- a/configs/platform-v7a/barebox-mx6.config.diff
+++ b/configs/platform-v7a/barebox-mx6.config.diff
@@ -1,4 +1,4 @@
-3bfd0a3556e630878dfbff7b733b494e
+c0f89a11f3201404131209bd133590b7
 # CONFIG_ARCH_BCM283X is not set
 CONFIG_ARCH_HAS_FEC_IMX=y
 CONFIG_ARCH_HAS_IMX_GPT=y
diff --git a/configs/platform-v7a/barebox-rpi2.config b/configs/platform-v7a/barebox-rpi2.config
index f40288ab5820..22da0fed279b 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 Configuration
+# Barebox/arm 2020.04.0-20200424-2 Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_LINUX=y
diff --git a/configs/platform-v7a/barebox-rpi2.config.diff b/configs/platform-v7a/barebox-rpi2.config.diff
index 64ecde1aa007..1690e36d7b7b 100644
--- a/configs/platform-v7a/barebox-rpi2.config.diff
+++ b/configs/platform-v7a/barebox-rpi2.config.diff
@@ -1,4 +1,4 @@
-3bfd0a3556e630878dfbff7b733b494e
+c0f89a11f3201404131209bd133590b7
 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 4dce15bf13c5..35069621059e 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 Configuration
+# Barebox/arm 2020.04.0-20200424-2 Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_LINUX=y
@@ -53,6 +53,7 @@ CONFIG_BAREBOX_MAX_IMAGE_SIZE=0xffffffff
 CONFIG_ARCH_NR_GPIO=416
 CONFIG_ARCH_STM32MP157=y
 CONFIG_MACH_STM32MP157C_DK2=y
+CONFIG_MACH_LXA_MC1=y
 # CONFIG_BOARD_ARM_GENERIC_DT is not set
 CONFIG_ARM_ASM_UNIFIED=y
 CONFIG_AEABI=y
@@ -133,6 +134,7 @@ CONFIG_RELOCATABLE=y
 CONFIG_PROMPT="barebox:"
 CONFIG_BAUDRATE=115200
 CONFIG_CBSIZE=1024
+CONFIG_FIRMWARE=y
 CONFIG_SHELL_HUSH=y
 # CONFIG_SHELL_SIMPLE is not set
 # CONFIG_SHELL_NONE is not set
@@ -377,7 +379,7 @@ CONFIG_CMD_WD_DEFAULT_TIMOUT=0
 CONFIG_CMD_BAREBOX_UPDATE=y
 # CONFIG_CMD_BLOBGEN is not set
 # CONFIG_CMD_FIRMWARELOAD is not set
-# CONFIG_CMD_OF_DIFF is not set
+CONFIG_CMD_OF_DIFF=y
 CONFIG_CMD_OF_DUMP=y
 CONFIG_CMD_OF_NODE=y
 CONFIG_CMD_OF_PROPERTY=y
@@ -513,7 +515,7 @@ CONFIG_MCI=y
 CONFIG_MCI_STARTUP=y
 CONFIG_MCI_INFO=y
 CONFIG_MCI_WRITE=y
-# CONFIG_MCI_MMC_BOOT_PARTITIONS is not set
+CONFIG_MCI_MMC_BOOT_PARTITIONS=y
 
 #
 # --- MCI host drivers ---
@@ -574,7 +576,7 @@ CONFIG_LED_GPIO_OF=y
 #
 # EEPROM support
 #
-# CONFIG_EEPROM_AT24 is not set
+CONFIG_EEPROM_AT24=y
 # end of EEPROM support
 
 #
@@ -639,7 +641,8 @@ CONFIG_REGULATOR_STPMIC1=y
 #
 # Remoteproc drivers
 #
-# CONFIG_REMOTEPROC is not set
+CONFIG_REMOTEPROC=y
+CONFIG_STM32_REMOTEPROC=y
 # end of Remoteproc drivers
 
 CONFIG_ARCH_HAS_RESET_CONTROLLER=y
diff --git a/configs/platform-v7a/barebox-stm32mp.config.diff b/configs/platform-v7a/barebox-stm32mp.config.diff
index e68585038825..a10ca6f9d278 100644
--- a/configs/platform-v7a/barebox-stm32mp.config.diff
+++ b/configs/platform-v7a/barebox-stm32mp.config.diff
@@ -1,4 +1,4 @@
-3bfd0a3556e630878dfbff7b733b494e
+c0f89a11f3201404131209bd133590b7
 # CONFIG_ARCH_BCM283X is not set
 CONFIG_ARCH_HAS_RESET_CONTROLLER=y
 CONFIG_ARCH_NR_GPIO=416
@@ -24,6 +24,7 @@ CONFIG_BOOTM_OFTREE_UIMAGE=y
 # CONFIG_CMD_LED_TRIGGER is undefined
 CONFIG_CMD_MENU_MANAGEMENT=y
 CONFIG_CMD_MIITOOL=y
+CONFIG_CMD_OF_DIFF=y
 CONFIG_CMD_POWEROFF=y
 # CONFIG_CMD_SHA1SUM is not set
 # CONFIG_CMD_SPI is undefined
@@ -47,8 +48,10 @@ CONFIG_DRIVER_NET_DESIGNWARE_STM32=y
 # CONFIG_DRIVER_NET_MICREL is undefined
 CONFIG_DRIVER_SERIAL_STM32=y
 # CONFIG_DRIVER_SPI_GPIO is undefined
+CONFIG_EEPROM_AT24=y
 # CONFIG_EEPROM_AT25 is undefined
 # CONFIG_FILE_LIST is undefined
+CONFIG_FIRMWARE=y
 # CONFIG_FIRMWARE_ALTERA_SERIAL is undefined
 # CONFIG_FS_JFFS2 is undefined
 # CONFIG_GPIO_74164 is undefined
@@ -61,6 +64,7 @@ CONFIG_I2C_STM32=y
 # CONFIG_LED_TRIGGERS is not set
 # CONFIG_LIBFDT is undefined
 # CONFIG_MACHINE_ID is undefined
+CONFIG_MACH_LXA_MC1=y
 # CONFIG_MACH_RPI2 is undefined
 # CONFIG_MACH_RPI3 is undefined
 # CONFIG_MACH_RPI is undefined
@@ -70,6 +74,7 @@ CONFIG_MACH_STM32MP157C_DK2=y
 # CONFIG_MCI_BCM283X is undefined
 # CONFIG_MCI_BCM283X_SDHOST is undefined
 # CONFIG_MCI_MMCI is not set
+CONFIG_MCI_MMC_BOOT_PARTITIONS=y
 # CONFIG_MCI_SPI is undefined
 CONFIG_MCI_STM32_SDMMC2=y
 CONFIG_MFD_STPMIC1=y
@@ -109,6 +114,7 @@ CONFIG_PROMPT="barebox:"
 CONFIG_REGULATOR_FIXED=y
 # CONFIG_REGULATOR_STM32_PWR is not set
 CONFIG_REGULATOR_STPMIC1=y
+CONFIG_REMOTEPROC=y
 CONFIG_RESET_CONTROLLER=y
 # CONFIG_RESET_IMX7 is not set
 CONFIG_RESET_STM32=y
@@ -121,6 +127,7 @@ CONFIG_RESET_STM32=y
 # CONFIG_STATE_DRV is undefined
 CONFIG_STM32_BSEC=y
 CONFIG_STM32_IWDG_WATCHDOG=y
+CONFIG_STM32_REMOTEPROC=y
 # CONFIG_STPMIC1_WATCHDOG is not set
 CONFIG_THUMB2_BAREBOX=y
 # CONFIG_USB is undefined
diff --git a/configs/platform-v7a/barebox-vexpress.config b/configs/platform-v7a/barebox-vexpress.config
index 2a8bf5fa4516..2735b2071029 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 Configuration
+# Barebox/arm 2020.04.0-20200424-2 Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_LINUX=y
diff --git a/configs/platform-v7a/barebox-vexpress.config.diff b/configs/platform-v7a/barebox-vexpress.config.diff
index 39405a7d525e..ed3d8f619d0d 100644
--- a/configs/platform-v7a/barebox-vexpress.config.diff
+++ b/configs/platform-v7a/barebox-vexpress.config.diff
@@ -1,4 +1,4 @@
-3bfd0a3556e630878dfbff7b733b494e
+c0f89a11f3201404131209bd133590b7
 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 50a7c1aa3bcc..e939f53adb00 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 Configuration
+# Barebox/arm 2020.04.0-20200424-2 Configuration
 #
 CONFIG_ARM=y
 CONFIG_ARM_LINUX=y
diff --git a/configs/platform-v7a/kernelconfig b/configs/platform-v7a/kernelconfig
index e88beef37b7e..5e05c6629dea 100644
--- a/configs/platform-v7a/kernelconfig
+++ b/configs/platform-v7a/kernelconfig
@@ -2143,7 +2143,7 @@ CONFIG_TWL6040_CORE=y
 # CONFIG_MFD_STM32_LPTIMER is not set
 CONFIG_MFD_STM32_TIMERS=y
 CONFIG_MFD_STPMIC1=y
-# CONFIG_MFD_STMFX is not set
+CONFIG_MFD_STMFX=y
 CONFIG_MFD_VEXPRESS_SYSREG=y
 # end of Multifunction device drivers
 
@@ -2980,7 +2980,7 @@ CONFIG_PWM_BCM2835=y
 # CONFIG_PWM_IMX_TPM is not set
 # CONFIG_PWM_OMAP_DMTIMER is not set
 # CONFIG_PWM_PCA9685 is not set
-# CONFIG_PWM_STM32 is not set
+CONFIG_PWM_STM32=y
 # CONFIG_PWM_TIECAP is not set
 # CONFIG_PWM_TIEHRPWM is not set
 # CONFIG_PWM_TWL is not set
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
new file mode 100644
index 000000000000..f6603021e9d5
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2020.04.0/0001-ARM-stm32mp-add-Linux-Automation-MC-1-support.patch
@@ -0,0 +1,815 @@
+From: Ahmad Fatoum <a.fatoum@pengutronix.de>
+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 <a.fatoum@pengutronix.de>
+---
+ 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 <common.h>
++#include <linux/sizes.h>
++#include <init.h>
++#include <asm/memory.h>
++#include <mach/bbu.h>
++#include <bootsource.h>
++
++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 <common.h>
++#include <mach/entry.h>
++#include <debug_ll.h>
++
++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 <arm/stm32mp157.dtsi>
++#include "stm32mp15xx-osd32.dtsi"
++#include <arm/stm32mp15xxac-pinctrl.dtsi>
++
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/pwm/pwm.h>
++
++/ {
++	model = "Linux Automation MC-1 board";
++	compatible = "lxa,stm32mp157c-mc1", "st,stm32mp157";
++
++	aliases {
++		ethernet0 = &ethernet0;
++		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 = <&reg_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 = <&reg_3v3>;
++
++		port {
++			panel_input: endpoint {
++				remote-endpoint = <&ltdc_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;
++	};
++};
++
++&ethernet0 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&ethernet0_rgmii_mc1pins_b>;
++	phy-mode = "rgmii-id";
++	phy-handle = <&ethphy>;
++	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 = <&reg_3v3>;
++		reg = <0x38>;
++		reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */
++		touchscreen-size-x = <1792>;
++		touchscreen-size-y = <1024>;
++		wakeup-source;
++	};
++};
++
++&ltdc {
++	pinctrl-names = "default";
++	pinctrl-0 = <&ltdc_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 = <&reg_5v2>;	/* VIN */
++		ldo2-supply = <&reg_5v2>;	/* PMIC_LDO25IN */
++		ldo5-supply = <&reg_5v2>;	/* PMIC_LDO25IN */
++		boost-supply = <&reg_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 = <&reg_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 = <&reg_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 = <STM32_PINMUX('G', 5, AF11)>, /* ETH_RGMII_CLK125 */
++				 <STM32_PINMUX('G', 4, AF11)>, /* ETH_RGMII_GTX_CLK */
++				 <STM32_PINMUX('G', 13, AF11)>, /* ETH_RGMII_TXD0 */
++				 <STM32_PINMUX('G', 14, AF11)>, /* ETH_RGMII_TXD1 */
++				 <STM32_PINMUX('C', 2, AF11)>, /* ETH_RGMII_TXD2 */
++				 <STM32_PINMUX('E', 2, AF11)>, /* ETH_RGMII_TXD3 */
++				 <STM32_PINMUX('B', 11, AF11)>, /* ETH_RGMII_TX_CTL */
++				 <STM32_PINMUX('C', 1, AF11)>; /* ETH_MDC */
++			bias-disable;
++			drive-push-pull;
++			slew-rate = <2>;
++		};
++		pins2 {
++			pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH_MDIO */
++			bias-disable;
++			drive-push-pull;
++			slew-rate = <0>;
++		};
++		pins3 {
++			pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH_RGMII_RXD0 */
++				 <STM32_PINMUX('C', 5, AF11)>, /* ETH_RGMII_RXD1 */
++				 <STM32_PINMUX('H', 6, AF11)>, /* ETH_RGMII_RXD2 */
++				 <STM32_PINMUX('H', 7, AF11)>, /* ETH_RGMII_RXD3 */
++				 <STM32_PINMUX('A', 1, AF11)>, /* ETH_RGMII_RX_CLK */
++				 <STM32_PINMUX('A', 7, AF11)>; /* ETH_RGMII_RX_CTL */
++			bias-disable;
++		};
++	};
++
++	i2c5_mc1pins_b: mc1-i2c5-1 {
++		pins {
++			pinmux = <STM32_PINMUX('D', 0, AF4)>, /* I2C5_SCL */
++			         <STM32_PINMUX('D', 1, AF4)>; /* I2C5_SDA */
++			bias-disable;
++			drive-open-drain;
++			slew-rate = <0>;
++		};
++	};
++
++	ltdc_mc1pins_c: mc1-ltdc-2 {
++		pins1 {
++			pinmux = <STM32_PINMUX('B',  1, AF9)>,  /* LTDC_R6 */
++				 <STM32_PINMUX('B',  9, AF14)>, /* LTDC_B7 */
++				 <STM32_PINMUX('C',  0, AF14)>, /* LTDC_R5 */
++				 <STM32_PINMUX('D',  3, AF14)>, /* LTDC_G7 */
++				 <STM32_PINMUX('D',  6, AF14)>, /* LTDC_B2 */
++				 <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
++				 <STM32_PINMUX('E', 11, AF14)>, /* LTDC_G3 */
++				 <STM32_PINMUX('E', 12, AF14)>, /* LTDC_B4 */
++				 <STM32_PINMUX('E', 13, AF14)>, /* LTDC_DE */
++				 <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
++				 <STM32_PINMUX('H',  4, AF9)>,  /* LTDC_G5 */
++				 <STM32_PINMUX('H',  8, AF14)>, /* LTDC_R2 */
++				 <STM32_PINMUX('H',  9, AF14)>, /* LTDC_R3 */
++				 <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
++				 <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
++				 <STM32_PINMUX('H', 15, AF14)>, /* LTDC_G4 */
++				 <STM32_PINMUX('I',  1, AF14)>, /* LTDC_G6 */
++				 <STM32_PINMUX('I',  5, AF14)>, /* LTDC_B5 */
++				 <STM32_PINMUX('I',  6, AF14)>, /* LTDC_B6 */
++				 <STM32_PINMUX('I',  9, AF14)>, /* LTDC_VSYNC */
++				 <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
++			bias-disable;
++			drive-push-pull;
++			slew-rate = <0>;
++		};
++		pins2 {
++			pinmux = <STM32_PINMUX('E', 14, AF14)>; /* LTDC_CLK */
++			bias-disable;
++			drive-push-pull;
++			slew-rate = <1>;
++		};
++	};
++
++	pwm3_mc1pins_b: mc1-pwm3-1 {
++		pins {
++			pinmux = <STM32_PINMUX('B', 5, AF2)>; /* TIM3_CH2 */
++			bias-disable;
++			drive-push-pull;
++			slew-rate = <0>;
++		};
++	};
++
++	pwm5_mc1pins_b: mc1-pwm5-1 {
++		pins {
++			pinmux = <STM32_PINMUX('H', 11, AF2)>, /* TIM5_CH2 */
++				 <STM32_PINMUX('H', 12, AF2)>, /* TIM5_CH3 */
++				 <STM32_PINMUX('I', 0, AF2)>; /* TIM5_CH4 */
++			bias-disable;
++			drive-push-pull;
++			slew-rate = <0>;
++		};
++	};
++
++	sdmmc2_d47_mc1pins_b: mc1-sdmmc2-d47-1 {
++		pins {
++			pinmux = <STM32_PINMUX('A', 8, AF9)>,  /* SDMMC2_D4 */
++				 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
++				 <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */
++				 <STM32_PINMUX('C', 7, AF10)>; /* 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 <arm/stm32mp15-pinctrl.dtsi>
++
++#include <dt-bindings/mfd/st,stpmic1.h>
++
++/ {
++	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 = <IT_CURLIM_LDO1 0>;
++
++			};
++
++			v3v3_hdmi: ldo2 {
++				regulator-name = "v3v3_hdmi";
++				regulator-min-microvolt = <3300000>;
++				regulator-max-microvolt = <3300000>;
++				regulator-always-on;
++				interrupts = <IT_CURLIM_LDO2 0>;
++
++			};
++
++			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 = <IT_CURLIM_LDO4 0>;
++			};
++
++			vdda: ldo5 {
++				regulator-name = "vdda";
++				regulator-min-microvolt = <2900000>;
++				regulator-max-microvolt = <2900000>;
++				interrupts = <IT_CURLIM_LDO5 0>;
++				regulator-boot-on;
++			};
++
++			v1v2_hdmi: ldo6 {
++				regulator-name = "v1v2_hdmi";
++				regulator-min-microvolt = <1200000>;
++				regulator-max-microvolt = <1200000>;
++				regulator-always-on;
++				interrupts = <IT_CURLIM_LDO6 0>;
++
++			};
++
++			vref_ddr: vref_ddr {
++				regulator-name = "vref_ddr";
++				regulator-always-on;
++				regulator-over-current-protection;
++			};
++
++			bst_out: boost {
++				regulator-name = "bst_out";
++				interrupts = <IT_OCP_BOOST 0>;
++			};
++
++			vbus_otg: pwr_sw1 {
++				regulator-name = "vbus_otg";
++				interrupts = <IT_OCP_OTG 0>;
++				regulator-active-discharge;
++			};
++
++			vbus_sw: pwr_sw2 {
++				regulator-name = "vbus_sw";
++				interrupts = <IT_OCP_SWOUT 0>;
++				regulator-active-discharge;
++			};
++		};
++
++		onkey {
++			compatible = "st,stpmic1-onkey";
++			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
++			interrupt-names = "onkey-falling", "onkey-rising";
++		};
++
++		pmic_watchdog: watchdog {
++			compatible = "st,stpmic1-wdt";
++			status = "disabled";
++		};
++	};
++
++	sip_eeprom: eeprom@50 {
++		compatible = "atmel,24c32";
++		vcc-supply = <&reg_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
new file mode 100644
index 000000000000..451bb7b6aa2b
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2020.04.0/0002-ARM-stm32mp-lxa-mc1-break-reg_3v3-dependency-on-PMIC.patch
@@ -0,0 +1,60 @@
+From: Ahmad Fatoum <a.fatoum@pengutronix.de>
+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 <a.fatoum@pengutronix.de>
+---
+ 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 <asm/memory.h>
+ #include <mach/bbu.h>
+ #include <bootsource.h>
++#include <of.h>
++
++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
new file mode 100644
index 000000000000..3f85f36cf310
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2020.04.0/0101-Release-2020.04.0-customers-pengutronix-distrokit-v7.patch
@@ -0,0 +1,22 @@
+From: Ahmad Fatoum <a.fatoum@pengutronix.de>
+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
new file mode 100644
index 000000000000..83b5861ba980
--- /dev/null
+++ b/configs/platform-v7a/patches/barebox-2020.04.0/series
@@ -0,0 +1,12 @@
+# 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/rules/barebox-stm32mp.make b/configs/platform-v7a/rules/barebox-stm32mp.make
index 35e3edcdd833..82a3c3178f66 100644
--- a/configs/platform-v7a/rules/barebox-stm32mp.make
+++ b/configs/platform-v7a/rules/barebox-stm32mp.make
@@ -43,7 +43,8 @@ BAREBOX_STM32MP_MAKE_ENV := $(BAREBOX_STM32MP_CONF_ENV)
 BAREBOX_STM32MP_MAKE_OPT := $(BAREBOX_STM32MP_CONF_OPT)
 
 BAREBOX_STM32MP_IMAGES := \
-	images/barebox-stm32mp157c-dk2.img
+	images/barebox-stm32mp157c-dk2.img \
+	images/barebox-stm32mp157c-lxa-mc1.img
 
 BAREBOX_STM32MP_IMAGES := $(addprefix $(BAREBOX_STM32MP_DIR)/,$(BAREBOX_STM32MP_IMAGES))
 
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* [DistroKit] [PATCH 7/7] v7a: generate image for Linux Automation MC-1
  2020-04-24 17:17 [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Ahmad Fatoum
                   ` (4 preceding siblings ...)
  2020-04-24 17:17 ` [DistroKit] [PATCH 6/7] v7a: barebox: add support for Linux Automation MC-1 Ahmad Fatoum
@ 2020-04-24 17:17 ` Ahmad Fatoum
  2020-04-26  7:47 ` [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Robert Schwebel
  6 siblings, 0 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-24 17:17 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

With TF-A and barebox support added in previous commits, everything is
now in place for having DistroKit generate a MC-1 rootfs image. Do so.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 configs/platform-v7a/platformconfig           |  2 ++
 .../platform-v7a/platforms/blspec-lxa-mc1.in  |  5 +++
 .../platform-v7a/platforms/image-lxa-mc1.in   | 11 ++++++
 .../projectroot/loader/entries/lxa-mc1.conf   |  6 ++++
 .../platform-v7a/rules/blspec-lxa-mc1.make    | 36 +++++++++++++++++++
 configs/platform-v7a/rules/image-lxa-mc1.make | 35 ++++++++++++++++++
 6 files changed, 95 insertions(+)
 create mode 100644 configs/platform-v7a/platforms/blspec-lxa-mc1.in
 create mode 100644 configs/platform-v7a/platforms/image-lxa-mc1.in
 create mode 100644 configs/platform-v7a/projectroot/loader/entries/lxa-mc1.conf
 create mode 100644 configs/platform-v7a/rules/blspec-lxa-mc1.make
 create mode 100644 configs/platform-v7a/rules/image-lxa-mc1.make

diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index 41ab61a9b9bf..cfc70d4d0dcc 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -208,6 +208,7 @@ PTXCONF_BLSPEC_BONEBLACK=y
 PTXCONF_BLSPEC_BONEWHITE=y
 # PTXCONF_BLSPEC_ENTRY is not set
 PTXCONF_BLSPEC_GF=y
+PTXCONF_BLSPEC_LXA_MC1=y
 PTXCONF_BLSPEC_NITROGEN6MAX=y
 PTXCONF_BLSPEC_NITROGEN6X=y
 PTXCONF_BLSPEC_RIOTBOARD=y
@@ -241,6 +242,7 @@ PTXCONF_IMAGE_KERNEL=y
 #
 PTXCONF_IMAGE_KERNEL_INSTALL_EARLY=y
 # PTXCONF_IMAGE_KERNEL_LZOP is not set
+PTXCONF_IMAGE_LXA_MC1=y
 # PTXCONF_IMAGE_RAUC is not set
 PTXCONF_IMAGE_RIOTBOARD=y
 # PTXCONF_IMAGE_ROOT_CPIO_GZ is not set
diff --git a/configs/platform-v7a/platforms/blspec-lxa-mc1.in b/configs/platform-v7a/platforms/blspec-lxa-mc1.in
new file mode 100644
index 000000000000..87dcc9bd86cd
--- /dev/null
+++ b/configs/platform-v7a/platforms/blspec-lxa-mc1.in
@@ -0,0 +1,5 @@
+## SECTION=blspec
+
+config BLSPEC_LXA_MC1
+	tristate
+	prompt "/loader/entries/lxa-mc1.conf bootloader spec entry"
diff --git a/configs/platform-v7a/platforms/image-lxa-mc1.in b/configs/platform-v7a/platforms/image-lxa-mc1.in
new file mode 100644
index 000000000000..baae9c47edd4
--- /dev/null
+++ b/configs/platform-v7a/platforms/image-lxa-mc1.in
@@ -0,0 +1,11 @@
+## SECTION=image
+
+config IMAGE_LXA_MC1
+	tristate
+	select HOST_GENIMAGE
+	select IMAGE_ROOT_EXT
+	select BAREBOX_STM32MP
+	select TF_A
+	prompt "Generate images/lxa-mc1.hdimg"
+	help
+	  Generate GPT image for the Linux Automation MC-1
diff --git a/configs/platform-v7a/projectroot/loader/entries/lxa-mc1.conf b/configs/platform-v7a/projectroot/loader/entries/lxa-mc1.conf
new file mode 100644
index 000000000000..e0f418c95398
--- /dev/null
+++ b/configs/platform-v7a/projectroot/loader/entries/lxa-mc1.conf
@@ -0,0 +1,6 @@
+title		PTXdist - Pengutronix-DistroKit
+version		5.5
+options		rootwait rw loglevel=5 systemd.log_level=warning systemd.show_status=auto
+linux		/boot/zImage
+devicetree	/boot/stm32mp157c-lxa-mc1.dtb
+linux-appendroot true
diff --git a/configs/platform-v7a/rules/blspec-lxa-mc1.make b/configs/platform-v7a/rules/blspec-lxa-mc1.make
new file mode 100644
index 000000000000..62cafb30c52e
--- /dev/null
+++ b/configs/platform-v7a/rules/blspec-lxa-mc1.make
@@ -0,0 +1,36 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 by Ahmad Fatoum <a.fatoum@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_BLSPEC_LXA_MC1) += blspec-lxa-mc1
+
+BLSPEC_LXA_MC1_VERSION	:= 5.4
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/blspec-lxa-mc1.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, blspec-lxa-mc1)
+	@$(call install_fixup,blspec-lxa-mc1,PRIORITY,optional)
+	@$(call install_fixup,blspec-lxa-mc1,SECTION,base)
+	@$(call install_fixup,blspec-lxa-mc1,AUTHOR,"Ahmad Fatoum <a.fatoum@pengutronix.de>")
+	@$(call install_fixup,blspec-lxa-mc1,DESCRIPTION,missing)
+
+	@$(call install_alternative, blspec-lxa-mc1, 0, 0, 0644, \
+		/loader/entries/lxa-mc1.conf)
+
+	@$(call install_finish,blspec-lxa-mc1)
+
+	@$(call touch)
+
+# vim: syntax=make
diff --git a/configs/platform-v7a/rules/image-lxa-mc1.make b/configs/platform-v7a/rules/image-lxa-mc1.make
new file mode 100644
index 000000000000..c08e246c1df3
--- /dev/null
+++ b/configs/platform-v7a/rules/image-lxa-mc1.make
@@ -0,0 +1,35 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 by Ahmad Fatoum <a.fatoum@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+IMAGE_PACKAGES-$(PTXCONF_IMAGE_LXA_MC1) += image-lxa-mc1
+
+IMAGE_LXA_MC1_ENV := \
+	STM32MP_BOARD=stm32mp157c-lxa-mc1
+
+#
+# Paths and names
+#
+IMAGE_LXA_MC1		:= image-lxa-mc1
+IMAGE_LXA_MC1_DIR	:= $(BUILDDIR)/$(IMAGE_LXA_MC1)
+IMAGE_LXA_MC1_IMAGE	:= $(IMAGEDIR)/lxa-mc1.hdimg
+IMAGE_LXA_MC1_FILES	:= $(IMAGEDIR)/root.tgz
+IMAGE_LXA_MC1_CONFIG	:= stm32mp.config
+
+# ----------------------------------------------------------------------------
+# Image
+# ----------------------------------------------------------------------------
+
+$(IMAGE_LXA_MC1_IMAGE):
+	@$(call targetinfo)
+	@$(call image/genimage, IMAGE_LXA_MC1)
+	@$(call finish)
+
+# vim: syntax=make
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* Re: [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults
  2020-04-24 17:17 [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Ahmad Fatoum
                   ` (5 preceding siblings ...)
  2020-04-24 17:17 ` [DistroKit] [PATCH 7/7] v7a: generate image " Ahmad Fatoum
@ 2020-04-26  7:47 ` Robert Schwebel
  2020-04-26 22:20   ` Ahmad Fatoum
                     ` (2 more replies)
  6 siblings, 3 replies; 15+ messages in thread
From: Robert Schwebel @ 2020-04-26  7:47 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: distrokit

On Fri, Apr 24, 2020 at 07:17:20PM +0200, Ahmad Fatoum wrote:
> With this release, the TF-A rule went upstream in revised form,
> so it's dropped as part of the migration.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>

Series applied to next.

Could you put an MC-1 board into a remotelab and add a labgrid test for
it?

rsc
-- 
Pengutronix e.K.                           | Dipl.-Ing. Robert Schwebel  |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-9    |

_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* Re: [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults
  2020-04-26  7:47 ` [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Robert Schwebel
@ 2020-04-26 22:20   ` Ahmad Fatoum
  2020-04-26 22:27   ` [DistroKit] [PATCH] fixup! v7a: kernel: configure for MC-1 Ahmad Fatoum
  2020-04-26 22:28   ` [DistroKit] [PATCH] fixup! v7a: barebox: add support for Linux Automation MC-1 Ahmad Fatoum
  2 siblings, 0 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-26 22:20 UTC (permalink / raw)
  To: Robert Schwebel; +Cc: distrokit


On 4/26/20 9:47 AM, Robert Schwebel wrote:
> On Fri, Apr 24, 2020 at 07:17:20PM +0200, Ahmad Fatoum wrote:
>> With this release, the TF-A rule went upstream in revised form,
>> so it's dropped as part of the migration.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> 
> Series applied to next.
> 
> Could you put an MC-1 board into a remotelab and add a labgrid test for
> it?

Planned for Thursday.

Cheers,
Ahmad

> 
> rsc
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* [DistroKit] [PATCH] fixup! v7a: kernel: configure for MC-1
  2020-04-26  7:47 ` [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Robert Schwebel
  2020-04-26 22:20   ` Ahmad Fatoum
@ 2020-04-26 22:27   ` Ahmad Fatoum
  2020-04-27  5:47     ` Robert Schwebel
  2020-04-26 22:28   ` [DistroKit] [PATCH] fixup! v7a: barebox: add support for Linux Automation MC-1 Ahmad Fatoum
  2 siblings, 1 reply; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-26 22:27 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

To use the PWM LED support on the MC-1, we need the PWM driver support
as well. Add it.

[ landed in a different patch, due to rebase mistake ]

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 configs/platform-v7a/kernelconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/platform-v7a/kernelconfig b/configs/platform-v7a/kernelconfig
index e88beef37b7e..805391007ce0 100644
--- a/configs/platform-v7a/kernelconfig
+++ b/configs/platform-v7a/kernelconfig
@@ -2980,7 +2980,7 @@ CONFIG_PWM_BCM2835=y
 # CONFIG_PWM_IMX_TPM is not set
 # CONFIG_PWM_OMAP_DMTIMER is not set
 # CONFIG_PWM_PCA9685 is not set
-# CONFIG_PWM_STM32 is not set
+CONFIG_PWM_STM32=y
 # CONFIG_PWM_TIECAP is not set
 # CONFIG_PWM_TIEHRPWM is not set
 # CONFIG_PWM_TWL is not set
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* [DistroKit] [PATCH] fixup! v7a: barebox: add support for Linux Automation MC-1
  2020-04-26  7:47 ` [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Robert Schwebel
  2020-04-26 22:20   ` Ahmad Fatoum
  2020-04-26 22:27   ` [DistroKit] [PATCH] fixup! v7a: kernel: configure for MC-1 Ahmad Fatoum
@ 2020-04-26 22:28   ` Ahmad Fatoum
  2020-04-27  5:46     ` Robert Schwebel
  2 siblings, 1 reply; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-26 22:28 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum

We don't use STMFX and kernelconfig changes shouldn't be part of the
barebox commit, but made their way in via rebase mistake. fix it up.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
Is the next branch rebased? If not, I can send regular patches instead.
---
 configs/platform-v7a/kernelconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/platform-v7a/kernelconfig b/configs/platform-v7a/kernelconfig
index 5e05c6629dea..805391007ce0 100644
--- a/configs/platform-v7a/kernelconfig
+++ b/configs/platform-v7a/kernelconfig
@@ -2143,7 +2143,7 @@ CONFIG_TWL6040_CORE=y
 # CONFIG_MFD_STM32_LPTIMER is not set
 CONFIG_MFD_STM32_TIMERS=y
 CONFIG_MFD_STPMIC1=y
-CONFIG_MFD_STMFX=y
+# CONFIG_MFD_STMFX is not set
 CONFIG_MFD_VEXPRESS_SYSREG=y
 # end of Multifunction device drivers
 
-- 
2.26.1


_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* Re: [DistroKit] [PATCH] fixup! v7a: barebox: add support for Linux Automation MC-1
  2020-04-26 22:28   ` [DistroKit] [PATCH] fixup! v7a: barebox: add support for Linux Automation MC-1 Ahmad Fatoum
@ 2020-04-27  5:46     ` Robert Schwebel
  0 siblings, 0 replies; 15+ messages in thread
From: Robert Schwebel @ 2020-04-27  5:46 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: distrokit

On Mon, Apr 27, 2020 at 12:28:36AM +0200, Ahmad Fatoum wrote:
> We don't use STMFX and kernelconfig changes shouldn't be part of the
> barebox commit, but made their way in via rebase mistake. fix it up.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
> Is the next branch rebased? If not, I can send regular patches instead.

It is, and I have fixuped it.

> ---
>  configs/platform-v7a/kernelconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configs/platform-v7a/kernelconfig b/configs/platform-v7a/kernelconfig
> index 5e05c6629dea..805391007ce0 100644
> --- a/configs/platform-v7a/kernelconfig
> +++ b/configs/platform-v7a/kernelconfig
> @@ -2143,7 +2143,7 @@ CONFIG_TWL6040_CORE=y
>  # CONFIG_MFD_STM32_LPTIMER is not set
>  CONFIG_MFD_STM32_TIMERS=y
>  CONFIG_MFD_STPMIC1=y
> -CONFIG_MFD_STMFX=y
> +# CONFIG_MFD_STMFX is not set
>  CONFIG_MFD_VEXPRESS_SYSREG=y
>  # end of Multifunction device drivers

rsc
-- 
Pengutronix e.K.                           | Dipl.-Ing. Robert Schwebel  |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-9    |

_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* Re: [DistroKit] [PATCH] fixup! v7a: kernel: configure for MC-1
  2020-04-26 22:27   ` [DistroKit] [PATCH] fixup! v7a: kernel: configure for MC-1 Ahmad Fatoum
@ 2020-04-27  5:47     ` Robert Schwebel
  2020-04-27  7:26       ` Ahmad Fatoum
  0 siblings, 1 reply; 15+ messages in thread
From: Robert Schwebel @ 2020-04-27  5:47 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: distrokit

On Mon, Apr 27, 2020 at 12:27:00AM +0200, Ahmad Fatoum wrote:
> To use the PWM LED support on the MC-1, we need the PWM driver support
> as well. Add it.
> 
> [ landed in a different patch, due to rebase mistake ]

This does not apply; did you mean to patch the barebox patch instead of
the kernel patch?

> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  configs/platform-v7a/kernelconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configs/platform-v7a/kernelconfig b/configs/platform-v7a/kernelconfig
> index e88beef37b7e..805391007ce0 100644
> --- a/configs/platform-v7a/kernelconfig
> +++ b/configs/platform-v7a/kernelconfig
> @@ -2980,7 +2980,7 @@ CONFIG_PWM_BCM2835=y
>  # CONFIG_PWM_IMX_TPM is not set
>  # CONFIG_PWM_OMAP_DMTIMER is not set
>  # CONFIG_PWM_PCA9685 is not set
> -# CONFIG_PWM_STM32 is not set
> +CONFIG_PWM_STM32=y
>  # CONFIG_PWM_TIECAP is not set
>  # CONFIG_PWM_TIEHRPWM is not set
>  # CONFIG_PWM_TWL is not set
> -- 
> 2.26.1
> 
> 
> _______________________________________________
> DistroKit mailing list
> DistroKit@pengutronix.de
> 

-- 
Pengutronix e.K.                           | Dipl.-Ing. Robert Schwebel  |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-9    |

_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* Re: [DistroKit] [PATCH] fixup! v7a: kernel: configure for MC-1
  2020-04-27  5:47     ` Robert Schwebel
@ 2020-04-27  7:26       ` Ahmad Fatoum
  2020-04-27  7:40         ` Robert Schwebel
  0 siblings, 1 reply; 15+ messages in thread
From: Ahmad Fatoum @ 2020-04-27  7:26 UTC (permalink / raw)
  To: Robert Schwebel; +Cc: distrokit

Hello,

On 4/27/20 7:47 AM, Robert Schwebel wrote:
> On Mon, Apr 27, 2020 at 12:27:00AM +0200, Ahmad Fatoum wrote:
>> To use the PWM LED support on the MC-1, we need the PWM driver support
>> as well. Add it.
>>
>> [ landed in a different patch, due to rebase mistake ]
> 
> This does not apply; did you mean to patch the barebox patch instead of
> the kernel patch?

I wanted to migrate the kernel config changes from the barebox commit to the kernel one,
where it belongs. Unfortunately, I can't prepare a patch applicable at the end as that
would result in a conflict on squashing.

Could you do an interactive rebase, choose to [e]dit the "v7a: kernel: configure for MC-1"
commit and then apply this fixup?

Sorry for the inconvenience,
Ahmad

> 
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
>> ---
>>  configs/platform-v7a/kernelconfig | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/configs/platform-v7a/kernelconfig b/configs/platform-v7a/kernelconfig
>> index e88beef37b7e..805391007ce0 100644
>> --- a/configs/platform-v7a/kernelconfig
>> +++ b/configs/platform-v7a/kernelconfig
>> @@ -2980,7 +2980,7 @@ CONFIG_PWM_BCM2835=y
>>  # CONFIG_PWM_IMX_TPM is not set
>>  # CONFIG_PWM_OMAP_DMTIMER is not set
>>  # CONFIG_PWM_PCA9685 is not set
>> -# CONFIG_PWM_STM32 is not set
>> +CONFIG_PWM_STM32=y
>>  # CONFIG_PWM_TIECAP is not set
>>  # CONFIG_PWM_TIEHRPWM is not set
>>  # CONFIG_PWM_TWL is not set
>> -- 
>> 2.26.1
>>
>>
>> _______________________________________________
>> DistroKit mailing list
>> DistroKit@pengutronix.de
>>
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

* Re: [DistroKit] [PATCH] fixup! v7a: kernel: configure for MC-1
  2020-04-27  7:26       ` Ahmad Fatoum
@ 2020-04-27  7:40         ` Robert Schwebel
  0 siblings, 0 replies; 15+ messages in thread
From: Robert Schwebel @ 2020-04-27  7:40 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: distrokit

On Mon, Apr 27, 2020 at 09:26:36AM +0200, Ahmad Fatoum wrote:
> > This does not apply; did you mean to patch the barebox patch instead
> > of the kernel patch?
> 
> I wanted to migrate the kernel config changes from the barebox commit
> to the kernel one, where it belongs. Unfortunately, I can't prepare a
> patch applicable at the end as that would result in a conflict on
> squashing.
> 
> Could you do an interactive rebase, choose to [e]dit the "v7a: kernel:
> configure for MC-1" commit and then apply this fixup?

Done.

rsc
-- 
Pengutronix e.K.                           | Dipl.-Ing. Robert Schwebel  |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-9    |

_______________________________________________
DistroKit mailing list
DistroKit@pengutronix.de

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

end of thread, other threads:[~2020-04-27  7:40 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-24 17:17 [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Ahmad Fatoum
2020-04-24 17:17 ` [DistroKit] [PATCH 2/7] v7a: tf-a: version bump v2.2 -> v2.3 Ahmad Fatoum
2020-04-24 17:17 ` [DistroKit] [PATCH 3/7] v7a: tf-a: add support for Linux Automation MC-1 Ahmad Fatoum
2020-04-24 17:17 ` [DistroKit] [PATCH 4/7] v7a: kernel: configure for MC-1 Ahmad Fatoum
2020-04-24 17:17 ` [DistroKit] [PATCH 5/7] v7a: stm32mp: add Linux Automation MC-1 device tree Ahmad Fatoum
2020-04-24 17:17 ` [DistroKit] [PATCH 6/7] v7a: barebox: add support for Linux Automation MC-1 Ahmad Fatoum
2020-04-24 17:17 ` [DistroKit] [PATCH 7/7] v7a: generate image " Ahmad Fatoum
2020-04-26  7:47 ` [DistroKit] [PATCH 1/7] ptxdist: migrate 2020.03.0 -> 2020.04.0 with defaults Robert Schwebel
2020-04-26 22:20   ` Ahmad Fatoum
2020-04-26 22:27   ` [DistroKit] [PATCH] fixup! v7a: kernel: configure for MC-1 Ahmad Fatoum
2020-04-27  5:47     ` Robert Schwebel
2020-04-27  7:26       ` Ahmad Fatoum
2020-04-27  7:40         ` Robert Schwebel
2020-04-26 22:28   ` [DistroKit] [PATCH] fixup! v7a: barebox: add support for Linux Automation MC-1 Ahmad Fatoum
2020-04-27  5:46     ` Robert Schwebel

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