summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2024-01-12 18:05:28 +0100
committerRobert Schwebel <r.schwebel@pengutronix.de>2024-01-26 17:41:25 +0100
commitc3f7ce9d3f09bae4c4f2c12e58fc8459d74939b8 (patch)
treee6ed81e24e0eb781d2cecc7861153a37e71dc8d0 /configs/platform-v7a/patches
parent4f108d42e1eafd18e251908bc4919855f828a511 (diff)
downloadDistroKit-c3f7ce9d3f09bae4c4f2c12e58fc8459d74939b8.tar.gz
DistroKit-c3f7ce9d3f09bae4c4f2c12e58fc8459d74939b8.tar.xz
v7a: update barebox to v2023.09.0 -> v2023.12.0
This lets us drop two patches that fixed issues with v2023.09.0. This update also enables some options that are useful for the hardware we support: - on STM32MP1, support for the NAND controller is enabled - on STM32MP1, we enable HWRNG and stack protector support The latter could be enabled universally for all platforms that are no size constrained, but it prints an ugly error message if there's no HWRNG as using the fixed fallback canary is insecure. We'll just postpone enabling stack protector on other platforms until we enable HWRNG support there. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.pengutronix.de/20240112170529.1970537-5-a.fatoum@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
Diffstat (limited to 'configs/platform-v7a/patches')
-rw-r--r--configs/platform-v7a/patches/barebox-2023.09.0/0001-remoteproc-stm32-fix-typo-in-Kconfig-symbol.patch26
-rw-r--r--configs/platform-v7a/patches/barebox-2023.09.0/0002-remoteproc-stm32-fix-breakage-after-DT-sync-with-ups.patch135
-rw-r--r--configs/platform-v7a/patches/barebox-2023.09.0/series5
3 files changed, 0 insertions, 166 deletions
diff --git a/configs/platform-v7a/patches/barebox-2023.09.0/0001-remoteproc-stm32-fix-typo-in-Kconfig-symbol.patch b/configs/platform-v7a/patches/barebox-2023.09.0/0001-remoteproc-stm32-fix-typo-in-Kconfig-symbol.patch
deleted file mode 100644
index acb5ba3..0000000
--- a/configs/platform-v7a/patches/barebox-2023.09.0/0001-remoteproc-stm32-fix-typo-in-Kconfig-symbol.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Date: Fri, 20 Oct 2023 15:37:43 +0200
-Subject: [PATCH] remoteproc: stm32: fix typo in Kconfig symbol
-
-The Kconfig symbol for enabling support for the ARM Secure Monitor Call
-Calling Convention if CONFIG_ARM_SMCCC and not CONFIG_ARM_SMCC, but the
-latter is checked with IS_ENABLED() in the driver. Fix the typo.
-
-Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
----
- drivers/remoteproc/stm32_rproc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c
-index b6a62634842f..b2282f2fac5b 100644
---- a/drivers/remoteproc/stm32_rproc.c
-+++ b/drivers/remoteproc/stm32_rproc.c
-@@ -56,7 +56,7 @@ static int stm32_rproc_set_hold_boot(struct rproc *rproc, bool hold)
-
- val = hold ? HOLD_BOOT : RELEASE_BOOT;
-
-- if (IS_ENABLED(CONFIG_ARM_SMCC) && ddata->secured_soc) {
-+ if (IS_ENABLED(CONFIG_ARM_SMCCC) && ddata->secured_soc) {
- arm_smccc_smc(STM32_SMC_RCC, STM32_SMC_REG_WRITE,
- hold_boot->reg, val, 0, 0, 0, 0, &smc_res);
- err = smc_res.a0;
diff --git a/configs/platform-v7a/patches/barebox-2023.09.0/0002-remoteproc-stm32-fix-breakage-after-DT-sync-with-ups.patch b/configs/platform-v7a/patches/barebox-2023.09.0/0002-remoteproc-stm32-fix-breakage-after-DT-sync-with-ups.patch
deleted file mode 100644
index 8d93285..0000000
--- a/configs/platform-v7a/patches/barebox-2023.09.0/0002-remoteproc-stm32-fix-breakage-after-DT-sync-with-ups.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Date: Fri, 20 Oct 2023 15:37:44 +0200
-Subject: [PATCH] remoteproc: stm32: fix breakage after DT sync with upstream
-
-Once more, a device tree sync with Linux breaks a barebox driver.
-
-This time, the STM32 remoteproc driver ported from Linux was broken by
-the upstream stm32mp151.dtsi removing the st,syscfg-tz property.
-
-This property is only needed for the SiP secure monitor call case,
-but was so far always specified and the driver required its presence,
-even if it went unused.
-
-The Linux driver has since removed this hard requirement and added a new
-third way to do co-processor reset: Besides direct access to hardware
-and Silicon Provider specific secure monitor call, there's also support
-for doing it over SCMI now.
-
-Sync that part with the Linux driver to fix following boot-time error
-message:
-
- ERROR: stm32-rproc 10000000.m4@10000000.of: failed to get tz syscfg
-
-Reported-by: Robert Schwebel <rsc@pengutronix.de>
-Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
----
- drivers/remoteproc/stm32_rproc.c | 70 ++++++++++++++++++++++++++++------------
- 1 file changed, 50 insertions(+), 20 deletions(-)
-
-diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c
-index b2282f2fac5b..a7df29e57051 100644
---- a/drivers/remoteproc/stm32_rproc.c
-+++ b/drivers/remoteproc/stm32_rproc.c
-@@ -30,8 +30,9 @@ struct stm32_syscon {
-
- struct stm32_rproc {
- struct reset_control *rst;
-+ struct reset_control *hold_boot_rst;
- struct stm32_syscon hold_boot;
-- bool secured_soc;
-+ bool hold_boot_smc;
- };
-
- static void *stm32_rproc_da_to_va(struct rproc *rproc, u64 da, int len)
-@@ -54,13 +55,28 @@ static int stm32_rproc_set_hold_boot(struct rproc *rproc, bool hold)
- struct arm_smccc_res smc_res;
- int val, err;
-
-+ /*
-+ * Three ways to manage the hold boot
-+ * - using SCMI: the hold boot is managed as a reset,
-+ * - using Linux(no SCMI): the hold boot is managed as a syscon register
-+ * - using SMC call (deprecated): use SMC reset interface
-+ */
-+
- val = hold ? HOLD_BOOT : RELEASE_BOOT;
-
-- if (IS_ENABLED(CONFIG_ARM_SMCCC) && ddata->secured_soc) {
-+ if (ddata->hold_boot_rst) {
-+ /* Use the SCMI reset controller */
-+ if (!hold)
-+ err = reset_control_deassert(ddata->hold_boot_rst);
-+ else
-+ err = reset_control_assert(ddata->hold_boot_rst);
-+ } else if (IS_ENABLED(CONFIG_HAVE_ARM_SMCCC) && ddata->hold_boot_smc) {
-+ /* Use the SMC call */
- arm_smccc_smc(STM32_SMC_RCC, STM32_SMC_REG_WRITE,
- hold_boot->reg, val, 0, 0, 0, 0, &smc_res);
- err = smc_res.a0;
- } else {
-+ /* Use syscon */
- err = regmap_update_bits(hold_boot->map, hold_boot->reg,
- hold_boot->mask, val);
- }
-@@ -142,28 +158,42 @@ static int stm32_rproc_parse_dt(struct device *dev, struct stm32_rproc *ddata)
- }
-
- /*
-- * if platform is secured the hold boot bit must be written by
-- * smc call and read normally.
-- * if not secure the hold boot bit could be read/write normally
-+ * Three ways to manage the hold boot
-+ * - using SCMI: the hold boot is managed as a reset
-+ * The DT "reset-mames" property should be defined with 2 items:
-+ * reset-names = "mcu_rst", "hold_boot";
-+ * - using SMC call (deprecated): use SMC reset interface
-+ * The DT "reset-mames" property is optional, "st,syscfg-tz" is required
-+ * - default(no SCMI, no SMC): the hold boot is managed as a syscon register
-+ * The DT "reset-mames" property is optional, "st,syscfg-holdboot" is required
- */
-- err = stm32_rproc_get_syscon(np, "st,syscfg-tz", &tz);
-- if (err) {
-- dev_err(dev, "failed to get tz syscfg\n");
-- return err;
-- }
-
-- err = regmap_read(tz.map, tz.reg, &tzen);
-- if (err) {
-- dev_err(dev, "failed to read tzen\n");
-- return err;
-+ ddata->hold_boot_rst = reset_control_get_optional(dev, "hold_boot");
-+ if (IS_ERR(ddata->hold_boot_rst))
-+ return dev_err_probe(dev, PTR_ERR(ddata->hold_boot_rst),
-+ "failed to get hold_boot reset\n");
-+
-+ if (!ddata->hold_boot_rst && IS_ENABLED(CONFIG_HAVE_ARM_SMCCC)) {
-+ /* Manage the MCU_BOOT using SMC call */
-+ err = stm32_rproc_get_syscon(np, "st,syscfg-tz", &tz);
-+ if (!err) {
-+ err = regmap_read(tz.map, tz.reg, &tzen);
-+ if (err) {
-+ dev_err(dev, "failed to read tzen\n");
-+ return err;
-+ }
-+ ddata->hold_boot_smc = tzen & tz.mask;
-+ }
- }
-- ddata->secured_soc = tzen & tz.mask;
-
-- err = stm32_rproc_get_syscon(np, "st,syscfg-holdboot",
-- &ddata->hold_boot);
-- if (err) {
-- dev_err(dev, "failed to get hold boot\n");
-- return err;
-+ if (!ddata->hold_boot_rst && !ddata->hold_boot_smc) {
-+ /* Default: hold boot manage it through the syscon controller */
-+ err = stm32_rproc_get_syscon(np, "st,syscfg-holdboot",
-+ &ddata->hold_boot);
-+ if (err) {
-+ dev_err(dev, "failed to get hold boot\n");
-+ return err;
-+ }
- }
-
- return 0;
diff --git a/configs/platform-v7a/patches/barebox-2023.09.0/series b/configs/platform-v7a/patches/barebox-2023.09.0/series
deleted file mode 100644
index 7dadf91..0000000
--- a/configs/platform-v7a/patches/barebox-2023.09.0/series
+++ /dev/null
@@ -1,5 +0,0 @@
-# generated by git-ptx-patches
-#tag:base --start-number 1
-0001-remoteproc-stm32-fix-typo-in-Kconfig-symbol.patch
-0002-remoteproc-stm32-fix-breakage-after-DT-sync-with-ups.patch
-# 3e889491708d7a397dcb8350d8babf58 - git-ptx-patches magic