* [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 = <®_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 = <®_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 = ðernet0;
+ mmc0 = &sdmmc1;
+ mmc1 = &sdmmc2;
+ serial0 = &uart4;
+ };
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&backlight_pwm 1 100000 PWM_POLARITY_INVERTED>;
+ brightness-levels = <0 31 63 95 127 159 191 223 255>;
+ default-brightness-level = <7>;
+ power-supply = <®_5v2>; /* 3V3_BACKLIGHT */
+ };
+
+ chosen {
+ stdout-path = &uart4;
+ };
+
+ led-act {
+ compatible = "gpio-leds";
+
+ led-green {
+ label = "mc1:green:act";
+ gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "heartbeat";
+ };
+ };
+
+ led-rgb {
+ compatible = "pwm-leds";
+
+ led-red {
+ label = "mc1:red:rgb";
+ pwms = <&leds_pwm 1 1000000 0>;
+ max-brightness = <255>;
+ active-low;
+ };
+
+ led-green {
+ label = "mc1:green:rgb";
+ pwms = <&leds_pwm 2 1000000 0>;
+ max-brightness = <255>;
+ active-low;
+ };
+
+ led-blue {
+ label = "mc1:blue:rgb";
+ pwms = <&leds_pwm 3 1000000 0>;
+ max-brightness = <255>;
+ active-low;
+ };
+ };
+
+ panel: panel {
+ compatible = "edt,etm0700g0edh6", "simple-panel";
+ backlight = <&backlight>;
+ enable-gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>;
+ power-supply = <®_3v3>;
+
+ port {
+ panel_input: endpoint {
+ remote-endpoint = <<dc_ep0_out>;
+ };
+ };
+ };
+
+ reg_3v3: regulator_3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "3V3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ vin-supply = <&v3v3>;
+ };
+
+ /* supplied by either debug board or PoE */
+ reg_5v2: regulator_5v2 {
+ compatible = "regulator-fixed";
+ regulator-name = "5V2";
+ regulator-min-microvolt = <5200000>;
+ regulator-max-microvolt = <5200000>;
+ regulator-always-on;
+ };
+};
+
+ðernet0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <ðernet0_rgmii_mc1pins_b>;
+ phy-mode = "rgmii-id";
+ phy-handle = <ðphy>;
+ status = "okay";
+
+ mdio0 {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethphy: ethernet-phy@3 { /* KSZ9031RN */
+ reg = <3>;
+ reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */
+ interrupt-parent = <&gpioa>;
+ interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */
+ rxc-skew-ps = <1860>;
+ txc-skew-ps = <1860>;
+ reset-assert-us = <10000>;
+ reset-deassert-us = <300>;
+ micrel,force-master;
+ };
+ };
+};
+
+&gpioz {
+ gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", "",
+ "HWID4", "HWID5";
+};
+
+&gpu {
+ status = "okay";
+};
+
+&i2c5 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c5_mc1pins_b>;
+ clock-frequency = <400000>;
+ status = "okay";
+
+ touchscreen@38 {
+ compatible = "edt,edt-ft5x06";
+ interrupt-parent = <&gpiod>;
+ interrupts = <11 IRQ_TYPE_EDGE_FALLING>; /* TOUCH_INT# */
+ vcc-supply = <®_3v3>;
+ reg = <0x38>;
+ reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */
+ touchscreen-size-x = <1792>;
+ touchscreen-size-y = <1024>;
+ wakeup-source;
+ };
+};
+
+<dc {
+ pinctrl-names = "default";
+ pinctrl-0 = <<dc_mc1pins_c>;
+ status = "okay";
+
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ltdc_ep0_out: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&panel_input>;
+ };
+ };
+};
+
+&pmic {
+ regulators {
+ buck4-supply = <®_5v2>; /* VIN */
+ ldo2-supply = <®_5v2>; /* PMIC_LDO25IN */
+ ldo5-supply = <®_5v2>; /* PMIC_LDO25IN */
+ boost-supply = <®_5v2>; /* PMIC_BSTIN */
+ pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */
+ };
+};
+
+&sdmmc1 {
+ pinctrl-names = "default", "opendrain";
+ pinctrl-0 = <&sdmmc1_b4_pins_a>;
+ pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
+ bus-width = <4>;
+ cd-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>;
+ disable-wp;
+ no-1-8-v;
+ st,neg-edge;
+ vmmc-supply = <®_3v3>;
+ status = "okay";
+};
+
+&sdmmc1_b4_pins_a {
+ /*
+ * board lacks external pull-ups on SDMMC lines. Class 10 SD refuses to
+ * work, thus enable internal pull-ups.
+ */
+ pins1 {
+ /delete-property/ bias-disable;
+ bias-pull-up;
+ };
+ pins2 {
+ /delete-property/ bias-disable;
+ bias-pull-up;
+ };
+};
+
+&sdmmc2 {
+ pinctrl-names = "default", "opendrain";
+ pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_mc1pins_b>;
+ pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_mc1pins_b>;
+ bus-width = <8>;
+ no-1-8-v;
+ no-sd;
+ no-sdio;
+ non-removable;
+ st,neg-edge;
+ vmmc-supply = <®_3v3>;
+ status = "okay";
+};
+
+&timers3 {
+ status = "okay";
+
+ backlight_pwm: pwm {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm3_mc1pins_b>;
+ status = "okay";
+ };
+};
+
+&timers5 {
+ status = "okay";
+
+ leds_pwm: pwm {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm5_mc1pins_b>;
+ status = "okay";
+ };
+};
+
+&uart4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart4_pins_a>;
+ status = "okay";
+};
+
+&pinctrl {
+ ethernet0_rgmii_mc1pins_b: mc1-rgmii-1 {
+ pins1 {
+ pinmux = <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 = <®_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 = ðernet0;
++ mmc0 = &sdmmc1;
++ mmc1 = &sdmmc2;
++ serial0 = &uart4;
++ };
++
++ backlight: backlight {
++ compatible = "pwm-backlight";
++ pwms = <&backlight_pwm 1 100000 PWM_POLARITY_INVERTED>;
++ brightness-levels = <0 31 63 95 127 159 191 223 255>;
++ default-brightness-level = <7>;
++ power-supply = <®_5v2>; /* 3V3_BACKLIGHT */
++ };
++
++ chosen {
++ stdout-path = &uart4;
++ };
++
++ led-act {
++ compatible = "gpio-leds";
++
++ led-green {
++ label = "mc1:green:act";
++ gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
++ linux,default-trigger = "heartbeat";
++ };
++ };
++
++ led-rgb {
++ compatible = "pwm-leds";
++
++ led-red {
++ label = "mc1:red:rgb";
++ pwms = <&leds_pwm 1 1000000 0>;
++ max-brightness = <255>;
++ active-low;
++ };
++
++ led-green {
++ label = "mc1:green:rgb";
++ pwms = <&leds_pwm 2 1000000 0>;
++ max-brightness = <255>;
++ active-low;
++ };
++
++ led-blue {
++ label = "mc1:blue:rgb";
++ pwms = <&leds_pwm 3 1000000 0>;
++ max-brightness = <255>;
++ active-low;
++ };
++ };
++
++ panel: panel {
++ compatible = "edt,etm0700g0edh6", "simple-panel";
++ backlight = <&backlight>;
++ enable-gpios = <&gpiod 4 GPIO_ACTIVE_HIGH>;
++ power-supply = <®_3v3>;
++
++ port {
++ panel_input: endpoint {
++ remote-endpoint = <<dc_ep0_out>;
++ };
++ };
++ };
++
++ reg_3v3: regulator_3v3 {
++ compatible = "regulator-fixed";
++ regulator-name = "3V3";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-always-on;
++ vin-supply = <&v3v3>;
++ };
++
++ /* supplied by either debug board or PoE */
++ reg_5v2: regulator_5v2 {
++ compatible = "regulator-fixed";
++ regulator-name = "5V2";
++ regulator-min-microvolt = <5200000>;
++ regulator-max-microvolt = <5200000>;
++ regulator-always-on;
++ };
++};
++
++ðernet0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <ðernet0_rgmii_mc1pins_b>;
++ phy-mode = "rgmii-id";
++ phy-handle = <ðphy>;
++ status = "okay";
++
++ mdio0 {
++ compatible = "snps,dwmac-mdio";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ ethphy: ethernet-phy@3 { /* KSZ9031RN */
++ reg = <3>;
++ reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */
++ interrupt-parent = <&gpioa>;
++ interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */
++ rxc-skew-ps = <1860>;
++ txc-skew-ps = <1860>;
++ reset-assert-us = <10000>;
++ reset-deassert-us = <300>;
++ micrel,force-master;
++ };
++ };
++};
++
++&gpioz {
++ gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", "",
++ "HWID4", "HWID5";
++};
++
++&gpu {
++ status = "okay";
++};
++
++&i2c5 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&i2c5_mc1pins_b>;
++ clock-frequency = <400000>;
++ status = "okay";
++
++ touchscreen@38 {
++ compatible = "edt,edt-ft5x06";
++ interrupt-parent = <&gpiod>;
++ interrupts = <11 IRQ_TYPE_EDGE_FALLING>; /* TOUCH_INT# */
++ vcc-supply = <®_3v3>;
++ reg = <0x38>;
++ reset-gpios = <&gpiof 8 GPIO_ACTIVE_LOW>; /* TOUCH_RESET# */
++ touchscreen-size-x = <1792>;
++ touchscreen-size-y = <1024>;
++ wakeup-source;
++ };
++};
++
++<dc {
++ pinctrl-names = "default";
++ pinctrl-0 = <<dc_mc1pins_c>;
++ status = "okay";
++
++ port {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ ltdc_ep0_out: endpoint@0 {
++ reg = <0>;
++ remote-endpoint = <&panel_input>;
++ };
++ };
++};
++
++&pmic {
++ regulators {
++ buck4-supply = <®_5v2>; /* VIN */
++ ldo2-supply = <®_5v2>; /* PMIC_LDO25IN */
++ ldo5-supply = <®_5v2>; /* PMIC_LDO25IN */
++ boost-supply = <®_5v2>; /* PMIC_BSTIN */
++ pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */
++ };
++};
++
++&sdmmc1 {
++ pinctrl-names = "default", "opendrain";
++ pinctrl-0 = <&sdmmc1_b4_pins_a>;
++ pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
++ bus-width = <4>;
++ cd-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>;
++ disable-wp;
++ no-1-8-v;
++ st,neg-edge;
++ vmmc-supply = <®_3v3>;
++ status = "okay";
++};
++
++&sdmmc1_b4_pins_a {
++ /*
++ * board lacks external pull-ups on SDMMC lines. Class 10 SD refuses to
++ * work, thus enable internal pull-ups.
++ */
++ pins1 {
++ /delete-property/ bias-disable;
++ bias-pull-up;
++ };
++ pins2 {
++ /delete-property/ bias-disable;
++ bias-pull-up;
++ };
++};
++
++&sdmmc2 {
++ pinctrl-names = "default", "opendrain";
++ pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_mc1pins_b>;
++ pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_mc1pins_b>;
++ bus-width = <8>;
++ no-1-8-v;
++ no-sd;
++ no-sdio;
++ non-removable;
++ st,neg-edge;
++ vmmc-supply = <®_3v3>;
++ status = "okay";
++};
++
++&timers3 {
++ status = "okay";
++
++ backlight_pwm: pwm {
++ pinctrl-names = "default";
++ pinctrl-0 = <&pwm3_mc1pins_b>;
++ status = "okay";
++ };
++};
++
++&timers5 {
++ status = "okay";
++
++ leds_pwm: pwm {
++ pinctrl-names = "default";
++ pinctrl-0 = <&pwm5_mc1pins_b>;
++ status = "okay";
++ };
++};
++
++&uart4 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart4_pins_a>;
++ status = "okay";
++};
++
++&pinctrl {
++ ethernet0_rgmii_mc1pins_b: mc1-rgmii-1 {
++ pins1 {
++ pinmux = <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 = <®_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
* 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
* [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