From d4ce588515c182648f05f7f020df5842aa0754d9 Mon Sep 17 00:00:00 2001 From: Patrice Chotard Date: Wed, 18 Dec 2024 08:58:33 +0100 Subject: [PATCH 01/11] Kconfig: Set STACK_SIZE to 16KB for STM32 MCUs Since commit 6534d26ee9a5 ("lmb: do away with arch_lmb_reserve()"), STM32F746-disco hangs when loading device tree just before starting kernel: Retrieving file: /stm32f746-disco.dtb Kernel image @ 0xc0008000 [ 0x000000 - 0x19ae00 ] Flattened Device Tree blob at c0408000 Booting using the fdt blob at 0xc0408000 Working FDT set to c0408000 Loading Device Tree to c05f8000, end c05ff71c ... Adjust STACK_SIZE to 16KB for STM32 MCUs (F4/F7 and H7) boards to fix kernel boot process as some of these boards embeds a limited amount of memory. Fixes: 6534d26ee9a5 ("lmb: do away with arch_lmb_reserve()") Signed-off-by: Patrice Chotard Reviewed-by: Patrick Delaunay --- Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/Kconfig b/Kconfig index 1f5b0f1972d..c087a420a24 100644 --- a/Kconfig +++ b/Kconfig @@ -578,6 +578,7 @@ config STACK_SIZE hex "Define max stack size that can be used by U-Boot" default 0x4000000 if ARCH_VERSAL_NET || ARCH_VERSAL || ARCH_ZYNQMP default 0x200000 if MICROBLAZE + default 0x4000 if ARCH_STM32 default 0x1000000 help Define Max stack size that can be used by U-Boot. This value is used From edc425ef16d30175b15fe6c895b622738fb2f58c Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 16 Dec 2024 00:31:38 +0100 Subject: [PATCH 02/11] ARM: dts: stm32: Reinstate missing root oscillators on STM32MP15xx The root oscillators reference used to be in rcc node since 3d15245502c4 ("ARM: dts: stm32mp1: explicit clock reference needed by RCC clock driver") however this is not part of upstream stm32mp151.dtsi . The RCC driver does need this reference, reinstate it globally. Signed-off-by: Marek Vasut Reviewed-by: Patrice Chotard Tested-by: Patrice Chotard --- arch/arm/dts/stm32mp15-u-boot.dtsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/dts/stm32mp15-u-boot.dtsi b/arch/arm/dts/stm32mp15-u-boot.dtsi index 66d4c40c6a8..3f57bd5fe0f 100644 --- a/arch/arm/dts/stm32mp15-u-boot.dtsi +++ b/arch/arm/dts/stm32mp15-u-boot.dtsi @@ -186,6 +186,9 @@ bootph-all; #address-cells = <1>; #size-cells = <0>; + clock-names = "hse", "hsi", "csi", "lse", "lsi"; + clocks = <&clk_hse>, <&clk_hsi>, <&clk_csi>, + <&clk_lse>, <&clk_lsi>; }; &usart1 { From b6519061228f6076c7be43aca9c537daf53021c5 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 16 Dec 2024 00:29:12 +0100 Subject: [PATCH 03/11] ARM: dts: stm32: Reinstate missing root oscillators on DH STM32MP15xx DHCOR The root oscillators reference used to be in rcc node since 3d15245502c4 ("ARM: dts: stm32mp1: explicit clock reference needed by RCC clock driver") however this is not part of upstream stm32mp151.dtsi . The RCC driver does need this reference, reinstate it locally. Signed-off-by: Marek Vasut Reviewed-by: Patrice Chotard --- arch/arm/dts/stm32mp15xx-dhcor-u-boot.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/dts/stm32mp15xx-dhcor-u-boot.dtsi b/arch/arm/dts/stm32mp15xx-dhcor-u-boot.dtsi index 08439342cb2..ab162f39473 100644 --- a/arch/arm/dts/stm32mp15xx-dhcor-u-boot.dtsi +++ b/arch/arm/dts/stm32mp15xx-dhcor-u-boot.dtsi @@ -112,6 +112,10 @@ }; &rcc { + clock-names = "hse", "hsi", "csi", "lse", "lsi"; + clocks = <&clk_hse>, <&clk_hsi>, <&clk_csi>, + <&clk_lse>, <&clk_lsi>; + st,clksrc = < CLK_MPU_PLL1P CLK_AXI_PLL2P From dae1f13daaec6e0d1b1fd8cec95662946e12d1fd Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 16 Dec 2024 00:29:13 +0100 Subject: [PATCH 04/11] ARM: dts: stm32: Reinstate SPL_SYS_MMCSD_RAW_MODE on DH STM32MP15xx DHSOM Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") broke booting from SD card on STM32MP15xx , reinstate raw mode SD boot configuration options and select the correct raw mode partition for STM32MP15xx to fix SD boot on STM32MP15xx DHSOM. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Reported-by: Patrice Chotard Signed-off-by: Marek Vasut Reviewed-by: Patrice Chotard --- configs/stm32mp15_dhsom.config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/stm32mp15_dhsom.config b/configs/stm32mp15_dhsom.config index efc149577ea..04ee9bfc444 100644 --- a/configs/stm32mp15_dhsom.config +++ b/configs/stm32mp15_dhsom.config @@ -57,11 +57,14 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_STACK=0x30000000 CONFIG_SPL_SYS_MALLOC=y CONFIG_SPL_SYS_MALLOC_SIZE=0x1d00000 +CONFIG_SPL_SYS_MMCSD_RAW_MODE=y CONFIG_SPL_TEXT_BASE=0x2FFC2500 CONFIG_SPL_USB_GADGET=y CONFIG_STM32_ADC=y CONFIG_SYSRESET_SYSCON=y CONFIG_SYS_BOOTCOUNT_ADDR=0x5C00A14C +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x3 +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y CONFIG_SYS_MALLOC_F_LEN=0x3000 CONFIG_SYS_PBSIZE=1050 CONFIG_PREBOOT="run dh_preboot" From 72c6a40fad72bc1f1b7f1e44172c1017395ecfd7 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 16 Dec 2024 00:29:14 +0100 Subject: [PATCH 05/11] ARM: dts: stm32: Drop access-controllers from SPL DT on DH STM32MP15xx DHSOM The access-controllers DT property is not useful in STM32MP15xx SPL, remove it to reduce SPL control DT size. No functional change. Signed-off-by: Marek Vasut Reviewed-by: Patrice Chotard --- configs/stm32mp15_dhcom_basic_defconfig | 2 +- configs/stm32mp15_dhcor_basic_defconfig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig index b730bf76dca..5add66fb2f4 100644 --- a/configs/stm32mp15_dhcom_basic_defconfig +++ b/configs/stm32mp15_dhcom_basic_defconfig @@ -7,5 +7,5 @@ CONFIG_SYS_MEMTEST_START=0xc0000000 CONFIG_SYS_MEMTEST_END=0xc4000000 CONFIG_SYS_I2C_EEPROM_BUS=3 CONFIG_OF_LIST="st/stm32mp157c-dhcom-pdk2 st/stm32mp153c-dhcom-drc02 st/stm32mp157c-dhcom-picoitx" -CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks" +CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks access-controllers" CONFIG_SYS_I2C_EEPROM_ADDR=0x50 diff --git a/configs/stm32mp15_dhcor_basic_defconfig b/configs/stm32mp15_dhcor_basic_defconfig index 42a596505ca..dd14db3b4c5 100644 --- a/configs/stm32mp15_dhcor_basic_defconfig +++ b/configs/stm32mp15_dhcor_basic_defconfig @@ -5,7 +5,7 @@ CONFIG_ARCH_STM32MP=y CONFIG_DEFAULT_DEVICE_TREE="st/stm32mp157a-dhcor-avenger96" CONFIG_SYS_I2C_EEPROM_BUS=2 CONFIG_OF_LIST="st/stm32mp157a-dhcor-avenger96 st/stm32mp151a-dhcor-testbench st/stm32mp153c-dhcor-drc-compact" -CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks" +CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks access-controllers" CONFIG_SYS_I2C_EEPROM_ADDR=0x53 CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y From 5470a6a0b11c2084fff0e09702a9c9ae716512c6 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 16 Dec 2024 00:29:15 +0100 Subject: [PATCH 06/11] ARM: dts: stm32: Deduplicate CONFIG_OF_SPL_REMOVE_PROPS on DH STM32MP15xx DHSOM The content of CONFIG_OF_SPL_REMOVE_PROPS is the same in both STM32MP15xx DHCOM and DHCOR defconfigs, deduplicate the content into stm32mp15_dhsom.config . Signed-off-by: Marek Vasut Reviewed-by: Patrice Chotard --- configs/stm32mp15_dhcom_basic_defconfig | 1 - configs/stm32mp15_dhcor_basic_defconfig | 1 - configs/stm32mp15_dhsom.config | 1 + 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig index 5add66fb2f4..a28f2862048 100644 --- a/configs/stm32mp15_dhcom_basic_defconfig +++ b/configs/stm32mp15_dhcom_basic_defconfig @@ -7,5 +7,4 @@ CONFIG_SYS_MEMTEST_START=0xc0000000 CONFIG_SYS_MEMTEST_END=0xc4000000 CONFIG_SYS_I2C_EEPROM_BUS=3 CONFIG_OF_LIST="st/stm32mp157c-dhcom-pdk2 st/stm32mp153c-dhcom-drc02 st/stm32mp157c-dhcom-picoitx" -CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks access-controllers" CONFIG_SYS_I2C_EEPROM_ADDR=0x50 diff --git a/configs/stm32mp15_dhcor_basic_defconfig b/configs/stm32mp15_dhcor_basic_defconfig index dd14db3b4c5..f6f2af6e7a2 100644 --- a/configs/stm32mp15_dhcor_basic_defconfig +++ b/configs/stm32mp15_dhcor_basic_defconfig @@ -5,7 +5,6 @@ CONFIG_ARCH_STM32MP=y CONFIG_DEFAULT_DEVICE_TREE="st/stm32mp157a-dhcor-avenger96" CONFIG_SYS_I2C_EEPROM_BUS=2 CONFIG_OF_LIST="st/stm32mp157a-dhcor-avenger96 st/stm32mp151a-dhcor-testbench st/stm32mp153c-dhcor-drc-compact" -CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks access-controllers" CONFIG_SYS_I2C_EEPROM_ADDR=0x53 CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ90X1=y diff --git a/configs/stm32mp15_dhsom.config b/configs/stm32mp15_dhsom.config index 04ee9bfc444..ac3ae82cda9 100644 --- a/configs/stm32mp15_dhsom.config +++ b/configs/stm32mp15_dhsom.config @@ -22,6 +22,7 @@ CONFIG_HAS_BOARD_SIZE_LIMIT=y CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_HWSPINLOCK_STM32=y CONFIG_KS8851_MLL=y +CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks access-controllers" CONFIG_PHY_ANEG_TIMEOUT=20000 CONFIG_PINCTRL_STMFX=y CONFIG_REMOTEPROC_STM32_COPRO=y From 7169576807ec2f70a6f32c2cd8b3717b9451074f Mon Sep 17 00:00:00 2001 From: Patrice Chotard Date: Mon, 16 Dec 2024 11:22:15 +0100 Subject: [PATCH 07/11] configs: stm32mp1: Restore boot SPL from sdcard for stm32mp15 Restore boot SPL from sdcard for STM32MP1 platforms. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Patrice Chotard Reviewed-by: Patrick Delaunay --- configs/stm32mp15_basic_defconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig index 1c0d0d0a073..dcf44bcc0e7 100644 --- a/configs/stm32mp15_basic_defconfig +++ b/configs/stm32mp15_basic_defconfig @@ -38,6 +38,9 @@ CONFIG_SPL_SYS_MALLOC=y CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0xc0300000 CONFIG_SPL_SYS_MALLOC_SIZE=0x1d00000 +CONFIG_SPL_SYS_MMCSD_RAW_MODE=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x3 CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_I2C=y CONFIG_SPL_MTD=y From c8eacfcedc6264af4acad12a0408e5fda45ecc39 Mon Sep 17 00:00:00 2001 From: Patrice Chotard Date: Mon, 16 Dec 2024 11:22:16 +0100 Subject: [PATCH 08/11] configs: stm32mp1: Restore boot SPL from sdcard for Engicam i.Core STM32MP1 C.TOUCH 2.0 Restore boot SPL from sdcard for Engicam i.Core STM32MP1 C.TOUCH 2.0. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Patrice Chotard Reviewed-by: Patrick Delaunay --- configs/stm32mp15-icore-stm32mp1-ctouch2_defconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/stm32mp15-icore-stm32mp1-ctouch2_defconfig b/configs/stm32mp15-icore-stm32mp1-ctouch2_defconfig index 4e171200ef2..00c475307c9 100644 --- a/configs/stm32mp15-icore-stm32mp1-ctouch2_defconfig +++ b/configs/stm32mp15-icore-stm32mp1-ctouch2_defconfig @@ -27,6 +27,9 @@ CONFIG_SPL_SYS_MALLOC=y CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0xc0300000 CONFIG_SPL_SYS_MALLOC_SIZE=0x1d00000 +CONFIG_SPL_SYS_MMCSD_RAW_MODE=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x3 CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_I2C=y CONFIG_SPL_POWER=y From fb612b4b532c62a38b09580c7f4470bd1159df63 Mon Sep 17 00:00:00 2001 From: Patrice Chotard Date: Mon, 16 Dec 2024 11:22:17 +0100 Subject: [PATCH 09/11] configs: stm32mp1: Restore boot SPL from sdcard for Engicam i.Core STM32MP1 EDIMM2.2 Restore boot SPL from sdcard for Engicam i.Core STM32MP1 EDIMM2.2. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Patrice Chotard Reviewed-by: Patrick Delaunay --- configs/stm32mp15-icore-stm32mp1-edimm2.2_defconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/stm32mp15-icore-stm32mp1-edimm2.2_defconfig b/configs/stm32mp15-icore-stm32mp1-edimm2.2_defconfig index 3f7eebd21d8..b733913be01 100644 --- a/configs/stm32mp15-icore-stm32mp1-edimm2.2_defconfig +++ b/configs/stm32mp15-icore-stm32mp1-edimm2.2_defconfig @@ -27,6 +27,9 @@ CONFIG_SPL_SYS_MALLOC=y CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0xc0300000 CONFIG_SPL_SYS_MALLOC_SIZE=0x1d00000 +CONFIG_SPL_SYS_MMCSD_RAW_MODE=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x3 CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_I2C=y CONFIG_SPL_POWER=y From f3f14c2e3b9036bfe52a7da8775f87805b3cedf5 Mon Sep 17 00:00:00 2001 From: Patrice Chotard Date: Mon, 16 Dec 2024 11:22:18 +0100 Subject: [PATCH 10/11] configs: stm32mp1: Restore boot SPL from sdcard for Engicam MicroGEA STM32MP1 MicroDev 2.0 7" OF Restore boot SPL from sdcard for Engicam MicroGEA STM32MP1 MicroDev 2.0 7" OF Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Patrice Chotard Reviewed-by: Patrick Delaunay --- configs/stm32mp15-microgea-stm32mp1-microdev2-of7_defconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/stm32mp15-microgea-stm32mp1-microdev2-of7_defconfig b/configs/stm32mp15-microgea-stm32mp1-microdev2-of7_defconfig index b32f71d90eb..35df3ea809d 100644 --- a/configs/stm32mp15-microgea-stm32mp1-microdev2-of7_defconfig +++ b/configs/stm32mp15-microgea-stm32mp1-microdev2-of7_defconfig @@ -27,6 +27,9 @@ CONFIG_SPL_SYS_MALLOC=y CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0xc0300000 CONFIG_SPL_SYS_MALLOC_SIZE=0x1d00000 +CONFIG_SPL_SYS_MMCSD_RAW_MODE=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x3 CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_I2C=y CONFIG_SPL_POWER=y From 06a8063ec95c127a8efea5274955bea6a38fc057 Mon Sep 17 00:00:00 2001 From: Patrice Chotard Date: Mon, 16 Dec 2024 11:22:19 +0100 Subject: [PATCH 11/11] configs: stm32mp1: Restore boot SPL from sdcard for Engicam i.Core STM32MP1 C.TOUCH 2.0 Restore boot SPL from sdcard for Engicam i.Core STM32MP1 C.TOUCH 2.0. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Patrice Chotard Reviewed-by: Patrick Delaunay --- configs/stm32mp15-microgea-stm32mp1-microdev2_defconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/stm32mp15-microgea-stm32mp1-microdev2_defconfig b/configs/stm32mp15-microgea-stm32mp1-microdev2_defconfig index 8a16216f926..d1a92cbfbaa 100644 --- a/configs/stm32mp15-microgea-stm32mp1-microdev2_defconfig +++ b/configs/stm32mp15-microgea-stm32mp1-microdev2_defconfig @@ -27,6 +27,9 @@ CONFIG_SPL_SYS_MALLOC=y CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0xc0300000 CONFIG_SPL_SYS_MALLOC_SIZE=0x1d00000 +CONFIG_SPL_SYS_MMCSD_RAW_MODE=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x3 CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_I2C=y CONFIG_SPL_POWER=y