All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [RESEND PATCH v2, 0/4] configs/stm32f429_disco: fix kernel bootup
@ 2021-12-12 12:37 Dario Binacchi via buildroot
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: " Dario Binacchi via buildroot
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Dario Binacchi via buildroot @ 2021-12-12 12:37 UTC (permalink / raw)
  To: buildroot; +Cc: Christophe Priouzeau, Lee Jones, Dario Binacchi

Inspired by Arnout Vandecappelle's review of the kernel bootup fix patch
for the stm32f429-disco board I created this series which required the
afboot bootloader update and the kernel bootup fix for the
stm32f469_disco_xip_defconfig configuration. I therefore renamed the
configurations of the stm32f429 and stm32f469 boards to make them more
explicit.

Dario Binacchi (4):
  configs/stm32f469_xip_disco: fix kernel bootup
  boot/afboot-stm32: upgrade version
  configs/stm32f429_disco: fix kernel bootup
  configs/stm32f4{2|6}9_*_defconfig: rename configurations

 .../stm32f429-disco/flash.sh                  |   2 +-
 .../stm32f429-disco/linux.config              | 120 ++++++++++++++++++
 ...sco-don-t-force-init-in-chosen-boota.patch |  32 -----
 .../stm32f469-disco/{flash.sh => flash_sd.sh} |   0
 .../stm32f469-disco/flash_xip.sh              |   2 +-
 .../{linux.fragment => linux-sd.fragment}     |   0
 .../stm32f469-disco/linux-xip.config          |   8 +-
 ...32f469-i-Update-kernel-start-address.patch |  56 --------
 ...fault-dram-address-without-remapping.patch |  38 ------
 .../stm32f469-disco/readme.txt                |   4 +-
 .../stm32f469-disco/readme_xip.txt            |   2 +-
 boot/afboot-stm32/Config.in                   |  32 +++++
 boot/afboot-stm32/afboot-stm32.hash           |   2 +-
 boot/afboot-stm32/afboot-stm32.mk             |  18 ++-
 ...efconfig => stm32f429_disco_xip_defconfig} |  11 +-
 ...defconfig => stm32f469_disco_sd_defconfig} |   2 +-
 configs/stm32f469_disco_xip_defconfig         |   4 +-
 17 files changed, 187 insertions(+), 146 deletions(-)
 create mode 100644 board/stmicroelectronics/stm32f429-disco/linux.config
 delete mode 100644 board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
 rename board/stmicroelectronics/stm32f469-disco/{flash.sh => flash_sd.sh} (100%)
 mode change 100644 => 100755 board/stmicroelectronics/stm32f469-disco/flash_xip.sh
 rename board/stmicroelectronics/stm32f469-disco/{linux.fragment => linux-sd.fragment} (100%)
 delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
 delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
 rename configs/{stm32f429_disco_defconfig => stm32f429_disco_xip_defconfig} (63%)
 rename configs/{stm32f469_disco_defconfig => stm32f469_disco_sd_defconfig} (97%)

-- 
2.17.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: fix kernel bootup
  2021-12-12 12:37 [Buildroot] [RESEND PATCH v2, 0/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
@ 2021-12-12 12:37 ` Dario Binacchi via buildroot
  2021-12-14  8:28   ` Christophe Priouzeau
  2021-12-17 21:35   ` Arnout Vandecappelle
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version Dario Binacchi via buildroot
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 13+ messages in thread
From: Dario Binacchi via buildroot @ 2021-12-12 12:37 UTC (permalink / raw)
  To: buildroot; +Cc: Christophe Priouzeau, Lee Jones, Dario Binacchi

Testing this configuration on the stm32f469-disco board failed. Removing
the changes on the DRAM I got a bootable image. I also changed the
kernel load address from 0x8010000 to 0x800C000 to allocate more space to
the kernel since 32kB for the device tree is enough.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
---
 .../stm32f469-disco/flash_xip.sh              |  2 +-
 .../stm32f469-disco/linux-xip.config          |  8 +--
 ...32f469-i-Update-kernel-start-address.patch | 56 -------------------
 ...69i-disco-change-kernel-load-address.patch | 26 +++++++++
 ...fault-dram-address-without-remapping.patch | 38 -------------
 configs/stm32f469_disco_xip_defconfig         |  1 +
 6 files changed, 32 insertions(+), 99 deletions(-)
 mode change 100644 => 100755 board/stmicroelectronics/stm32f469-disco/flash_xip.sh
 delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
 create mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
 delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch

diff --git a/board/stmicroelectronics/stm32f469-disco/flash_xip.sh b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
old mode 100644
new mode 100755
index b5a067cee5..da27cd327c
--- a/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
+++ b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
@@ -15,6 +15,6 @@ ${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \
   -c "flash info 0" \
   -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469i-disco.bin 0x08000000" \
   -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469-disco.dtb 0x08004000" \
-  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08010000" \
+  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \
   -c "reset run" \
   -c "shutdown"
diff --git a/board/stmicroelectronics/stm32f469-disco/linux-xip.config b/board/stmicroelectronics/stm32f469-disco/linux-xip.config
index 2d0ce59b31..01a94eb9d1 100644
--- a/board/stmicroelectronics/stm32f469-disco/linux-xip.config
+++ b/board/stmicroelectronics/stm32f469-disco/linux-xip.config
@@ -18,7 +18,7 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 # CONFIG_MULTIUSER is not set
 # CONFIG_SYSFS_SYSCALL is not set
 # CONFIG_FHANDLE is not set
-# CONFIG_POSIX_TIMERS is not set
+CONFIG_POSIX_TIMERS=y
 # CONFIG_BUG is not set
 # CONFIG_BASE_FULL is not set
 # CONFIG_FUTEX is not set
@@ -47,12 +47,12 @@ CONFIG_ARCH_STM32=y
 CONFIG_CPU_V7M_NUM_IRQ=240
 # CONFIG_ARM_DMA_MEM_BUFFERABLE is not set
 CONFIG_SET_MEM_PARAM=y
-CONFIG_DRAM_BASE=0xc0000000
-CONFIG_DRAM_SIZE=0x01000000
+CONFIG_DRAM_BASE=0x00000000
+CONFIG_DRAM_SIZE=0x00800000
 CONFIG_HZ_1000=y
 # CONFIG_ATAGS is not set
 CONFIG_XIP_KERNEL=y
-CONFIG_XIP_PHYS_ADDR=0x08010000
+CONFIG_XIP_PHYS_ADDR=0x0800C000
 CONFIG_XIP_DEFLATED_DATA=y
 # CONFIG_SUSPEND is not set
 # CONFIG_STACKPROTECTOR is not set
diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
deleted file mode 100644
index d5d1e5a8ad..0000000000
--- a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From fe5f3a86d07e378baeeddc1dfecd0686d83aa42f Mon Sep 17 00:00:00 2001
-From: Yauheni Saldatsenka <eugentoo@gmail.com>
-Date: Sat, 14 Aug 2021 18:54:51 +0300
-Subject: [PATCH] stm32f469-i: Update kernel start address
-
-As of GNU/Linux v5.12 kernel device tree binary grows above 0x08008000
-and overwrites kernel binary
-Therefore this commit moves kernel to the next flash bank
-
-Signed-off-by: Yauheni Saldatsenka <eugentoo@gmail.com>
----
- stm32f469i-disco.c | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
-index 2da1f4b..46fc06a 100644
---- a/stm32f469i-disco.c
-+++ b/stm32f469i-disco.c
-@@ -6,6 +6,7 @@
- #include "gpio.h"
- #include "mpu.h"
- 
-+#define KERNEL_ADDR     0x08010000
- #define CONFIG_HSE_HZ	8000000
- #define CONFIG_PLL_M	8
- #define CONFIG_PLL_N	360
-@@ -85,7 +86,7 @@ static void fmc_wait_busy(void)
- 
- void start_kernel(void)
- {
--	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
-+	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(KERNEL_ADDR | 1);
- 
- 	kernel(0, ~0UL, 0x08004000);
- }
-@@ -102,7 +103,7 @@ int main(void)
- 	volatile uint32_t *SYSCFG_MEMRMP = (void *)(SYSCFG_BASE + 0x00);
- 	int i;
- 
--	mpu_config(0x0);
-+	mpu_config(0xc0000000);
- 
- 	if (*FLASH_CR & FLASH_CR_LOCK) {
- 		*FLASH_KEYR = 0x45670123;
-@@ -195,8 +196,6 @@ int main(void)
- 	usart_setup(usart_base, 45000000);
- 	usart_putch(usart_base, '.');
- 
--	*SYSCFG_MEMRMP = 0x4;
--
- 	start_kernel();
- 
- 	return 0;
--- 
-2.32.0
-
diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
new file mode 100644
index 0000000000..1f8d929bfb
--- /dev/null
+++ b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
@@ -0,0 +1,26 @@
+From d87969f72671cab5a88ba6e2418e43d0fa267d6f Mon Sep 17 00:00:00 2001
+From: Dario Binacchi <dariobin@libero.it>
+Date: Sat, 13 Nov 2021 15:46:32 +0100
+Subject: [PATCH] stm32f469i-disco: change kernel load address
+
+Signed-off-by: Dario Binacchi <dariobin@libero.it>
+---
+ stm32f469i-disco.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
+index 2da1f4b..3aacb12 100644
+--- a/stm32f469i-disco.c
++++ b/stm32f469i-disco.c
+@@ -85,7 +85,7 @@ static void fmc_wait_busy(void)
+ 
+ void start_kernel(void)
+ {
+-	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
++	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x0800C000 | 1);
+ 
+ 	kernel(0, ~0UL, 0x08004000);
+ }
+-- 
+2.17.1
+
diff --git a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch b/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
deleted file mode 100644
index 68fe8380a2..0000000000
--- a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 8ccf9f625d00138d86fb7d70f3efd58a8fb4d7ff Mon Sep 17 00:00:00 2001
-From: Yauheni Saldatsenka <eugentoo@gmail.com>
-Date: Mon, 23 Aug 2021 02:54:22 +0300
-Subject: [PATCH] Use default dram address without remapping
-
-Signed-off-by: Yauheni Saldatsenka <eugentoo@gmail.com>
----
- arch/arm/boot/dts/stm32f469-disco.dts | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/boot/dts/stm32f469-disco.dts b/arch/arm/boot/dts/stm32f469-disco.dts
-index 2e1b3bbbe4b5..06845614a19a 100644
---- a/arch/arm/boot/dts/stm32f469-disco.dts
-+++ b/arch/arm/boot/dts/stm32f469-disco.dts
-@@ -60,9 +60,9 @@ chosen {
- 		stdout-path = "serial0:115200n8";
- 	};
- 
--	memory@00000000 {
-+	memory@c0000000 {
- 		device_type = "memory";
--		reg = <0x00000000 0x1000000>;
-+		reg = <0xc0000000 0x1000000>;
- 	};
- 
- 	aliases {
-@@ -84,7 +84,7 @@ vdd_dsi: vdd-dsi {
- 	};
- 
- 	soc {
--		dma-ranges = <0xc0000000 0x0 0x10000000>;
-+		dma-ranges = <0xc0000000 0xc0000000 0x10000000>;
- 	};
- 
- 	leds {
--- 
-2.32.0
-
diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig
index 1ceffe4026..e8b2cf3d21 100644
--- a/configs/stm32f469_disco_xip_defconfig
+++ b/configs/stm32f469_disco_xip_defconfig
@@ -3,6 +3,7 @@ BR2_cortex_m4=y
 BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches"
 # BR2_UCLIBC_INSTALL_UTILS is not set
 BR2_GCC_ENABLE_LTO=y
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f469-disco/linux-xip.config"
-- 
2.17.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version
  2021-12-12 12:37 [Buildroot] [RESEND PATCH v2, 0/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: " Dario Binacchi via buildroot
@ 2021-12-12 12:37 ` Dario Binacchi via buildroot
  2021-12-14  8:28   ` Christophe Priouzeau
  2021-12-17 21:38   ` Arnout Vandecappelle
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 3/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 4/4] configs/stm32f4{2|6}9_*_defconfig: rename configurations Dario Binacchi via buildroot
  3 siblings, 2 replies; 13+ messages in thread
From: Dario Binacchi via buildroot @ 2021-12-12 12:37 UTC (permalink / raw)
  To: buildroot; +Cc: Christophe Priouzeau, Lee Jones, Dario Binacchi

Newer versions of the kernel generate device trees that are not
storable in a single 16kB sector. In these cases the kernel load address
must be changed.
The commit 2e499dcff3ef ("Add possibility to use custom kernel load address")
adds the possibility to override the default (0x08008000) kernel load
address.

This also required changes to the stm32f429_disco_defconfig and
stm32f469_disco_xip_defconfig configurations.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
---
 ...69i-disco-change-kernel-load-address.patch | 26 ---------------
 boot/afboot-stm32/Config.in                   | 32 +++++++++++++++++++
 boot/afboot-stm32/afboot-stm32.hash           |  2 +-
 boot/afboot-stm32/afboot-stm32.mk             | 18 ++++++++---
 configs/stm32f429_disco_defconfig             |  1 +
 configs/stm32f469_disco_xip_defconfig         |  3 +-
 6 files changed, 50 insertions(+), 32 deletions(-)
 delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch

diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
deleted file mode 100644
index 1f8d929bfb..0000000000
--- a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d87969f72671cab5a88ba6e2418e43d0fa267d6f Mon Sep 17 00:00:00 2001
-From: Dario Binacchi <dariobin@libero.it>
-Date: Sat, 13 Nov 2021 15:46:32 +0100
-Subject: [PATCH] stm32f469i-disco: change kernel load address
-
-Signed-off-by: Dario Binacchi <dariobin@libero.it>
----
- stm32f469i-disco.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
-index 2da1f4b..3aacb12 100644
---- a/stm32f469i-disco.c
-+++ b/stm32f469i-disco.c
-@@ -85,7 +85,7 @@ static void fmc_wait_busy(void)
- 
- void start_kernel(void)
- {
--	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
-+	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x0800C000 | 1);
- 
- 	kernel(0, ~0UL, 0x08004000);
- }
--- 
-2.17.1
-
diff --git a/boot/afboot-stm32/Config.in b/boot/afboot-stm32/Config.in
index 309b9e0491..71f4c7e382 100644
--- a/boot/afboot-stm32/Config.in
+++ b/boot/afboot-stm32/Config.in
@@ -5,3 +5,35 @@ config BR2_TARGET_AFBOOT_STM32
 	  afboot-stm32 is a very small bootloader for STM32 platforms
 
 	  https://github.com/mcoquelin-stm32/afboot-stm32
+
+if BR2_TARGET_AFBOOT_STM32
+
+choice
+	prompt "Board type"
+	help
+	  Select the proper stm32 board type.
+
+config BR2_TARGET_AFBOOT_STM32_F429_DISCO
+	bool "stm32f429-disco"
+
+config BR2_TARGET_AFBOOT_STM32_F469_DISCO
+	bool "stm32f469-disco"
+
+endchoice
+
+config BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR
+	hex "Kernel load address"
+	default "0x08008000"
+	help
+	  This is the physical address in your flash memory the kernel will
+	  be linked for and stored to. This address is dependent on your own
+	  flash usage.
+
+config BR2_TARGET_AFBOOT_STM32_DTB_ADDR
+	hex "Device-tree load address"
+	default "0x08004000"
+	help
+	  This is the physical address in your flash memory the device-tree
+	  will be stored to. This address is dependent on your own flash usage.
+
+endif
diff --git a/boot/afboot-stm32/afboot-stm32.hash b/boot/afboot-stm32/afboot-stm32.hash
index 75f47295f6..80b9b6a106 100644
--- a/boot/afboot-stm32/afboot-stm32.hash
+++ b/boot/afboot-stm32/afboot-stm32.hash
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256 9b37b661bd3091ceb5d8dc5a56a2dfc02ae9ebc0c63dad3c4289c9d6b3d3ec89  afboot-stm32-0.2.tar.gz
+sha256  132f9817e615131856892cbe3df1502cdcd0700a12a48aa6bae8acfd5f093b42  afboot-stm32-3566acd582e5536fb60864281788a30f5527df2d-br1.tar.gz
diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk
index 0fb4735285..80074a3c35 100644
--- a/boot/afboot-stm32/afboot-stm32.mk
+++ b/boot/afboot-stm32/afboot-stm32.mk
@@ -4,17 +4,27 @@
 #
 ################################################################################
 
-AFBOOT_STM32_VERSION = 0.2
-AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,v$(AFBOOT_STM32_VERSION))
+AFBOOT_STM32_VERSION = 3566acd582e5536fb60864281788a30f5527df2d
+AFBOOT_STM32_SITE = https://github.com/mcoquelin-stm32/afboot-stm32.git
+AFBOOT_STM32_SITE_METHOD = git
 AFBOOT_STM32_INSTALL_IMAGES = YES
 AFBOOT_STM32_INSTALL_TARGET = NO
 
+ifeq ($(BR2_TARGET_AFBOOT_STM32_F429_DISCO),y)
+AFBOOT_STM32_BOARD=stm32f429i-disco
+else
+AFBOOT_STM32_BOARD=stm32f469i-disco
+endif
+
 define AFBOOT_STM32_BUILD_CMDS
-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) \
+		$(AFBOOT_STM32_BOARD) \
+		KERNEL_ADDR=$(BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR) \
+		DTB_ADDR=$(BR2_TARGET_AFBOOT_STM32_DTB_ADDR)
 endef
 
 define AFBOOT_STM32_INSTALL_IMAGES_CMDS
-	$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin
+	$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/$(AFBOOT_STM32_BOARD).bin
 endef
 
 $(eval $(generic-package))
diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig
index 2c0641a6c5..4007eb20a5 100644
--- a/configs/stm32f429_disco_defconfig
+++ b/configs/stm32f429_disco_defconfig
@@ -15,4 +15,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
 BR2_TARGET_ROOTFS_INITRAMFS=y
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_TARGET_AFBOOT_STM32=y
+BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
 BR2_PACKAGE_HOST_OPENOCD=y
diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig
index e8b2cf3d21..4c49ffcc7a 100644
--- a/configs/stm32f469_disco_xip_defconfig
+++ b/configs/stm32f469_disco_xip_defconfig
@@ -1,6 +1,5 @@
 BR2_arm=y
 BR2_cortex_m4=y
-BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches"
 # BR2_UCLIBC_INSTALL_UTILS is not set
 BR2_GCC_ENABLE_LTO=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
@@ -16,4 +15,6 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
 BR2_TARGET_ROOTFS_INITRAMFS=y
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_TARGET_AFBOOT_STM32=y
+BR2_TARGET_AFBOOT_STM32_F469_DISCO=y
+BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
 BR2_PACKAGE_HOST_OPENOCD=y
-- 
2.17.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [RESEND PATCH v2, 3/4] configs/stm32f429_disco: fix kernel bootup
  2021-12-12 12:37 [Buildroot] [RESEND PATCH v2, 0/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: " Dario Binacchi via buildroot
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version Dario Binacchi via buildroot
@ 2021-12-12 12:37 ` Dario Binacchi via buildroot
  2021-12-14  8:29   ` Christophe Priouzeau
  2021-12-17 21:51   ` Arnout Vandecappelle
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 4/4] configs/stm32f4{2|6}9_*_defconfig: rename configurations Dario Binacchi via buildroot
  3 siblings, 2 replies; 13+ messages in thread
From: Dario Binacchi via buildroot @ 2021-12-12 12:37 UTC (permalink / raw)
  To: buildroot; +Cc: Christophe Priouzeau, Lee Jones, Dario Binacchi

The kernel generated by the configuration for the STM32f429-discovery
board is buggy:

Fixes:
 Unhandled exception: IPSR = 00000006 LR = fffffff1
 CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
 Hardware name: STM32 (Device Tree Support)
 task: 9041a000 task.stack: 907c0000
 PC is at ret_fast_syscall+0x2/0x4a
 LR is at tty_ioctl+0x1ad/0x75c
 pc : [<0800d942>]    lr : [<080c2e05>]    psr: 4000000b
 sp : 907c1fa8  ip : 0000001c  fp : 905961a2
 r10: 00000000  r9 : 907c0000  r8 : 0800dae0
 r7 : 00000036  r6 : 905e7e60  r5 : 00000000  r4 : 905e7ebc
 r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000
 xPSR: 4000000b
 CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
 Hardware name: STM32 (Device Tree Support)
 [<0800fbf9>] (unwind_backtrace) from [<0800f05b>] (show_stack+0xb/0xc)
 [<0800f05b>] (show_stack) from [<0800f553>] (__invalid_entry+0x4b/0x4c)

Inspired by commit a3e3d9c198 ("configs/stm32f469_disco_xip_defconfig:
alternative defconfig for XIP") I updated the stm32f429_disco_defconfig
configuration to use a newer kernel. Current setup kernel + rootfs fits
in 1.6MB on-chip flash memory.

The kernel has been moved to new flash bank due to growth of dtb size.

For better binary size optimization gcc LTO is turned on.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
---
 .../stm32f429-disco/flash.sh                  |   2 +-
 .../stm32f429-disco/linux.config              | 120 ++++++++++++++++++
 ...sco-don-t-force-init-in-chosen-boota.patch |  32 -----
 configs/stm32f429_disco_defconfig             |  10 +-
 4 files changed, 127 insertions(+), 37 deletions(-)
 create mode 100644 board/stmicroelectronics/stm32f429-disco/linux.config
 delete mode 100644 board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch

diff --git a/board/stmicroelectronics/stm32f429-disco/flash.sh b/board/stmicroelectronics/stm32f429-disco/flash.sh
index b19e0a6019..3e2bf121d3 100755
--- a/board/stmicroelectronics/stm32f429-disco/flash.sh
+++ b/board/stmicroelectronics/stm32f429-disco/flash.sh
@@ -21,6 +21,6 @@ ${OUTPUT_DIR}/host/bin/openocd -f board/${BOARD_NAME}.cfg \
   -c "flash info 0" \
   -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429i-disco.bin 0x08000000" \
   -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429-disco.dtb 0x08004000" \
-  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08008000" \
+  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \
   -c "reset run" \
   -c "shutdown"
diff --git a/board/stmicroelectronics/stm32f429-disco/linux.config b/board/stmicroelectronics/stm32f429-disco/linux.config
new file mode 100644
index 0000000000..7b5c60f180
--- /dev/null
+++ b/board/stmicroelectronics/stm32f429-disco/linux.config
@@ -0,0 +1,120 @@
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_XZ=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_LOG_BUF_SHIFT=12
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=10
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio"
+# CONFIG_RD_GZIP is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+# CONFIG_RD_ZSTD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_MULTIUSER is not set
+# CONFIG_SYSFS_SYSCALL is not set
+# CONFIG_FHANDLE is not set
+CONFIG_POSIX_TIMERS=y
+CONFIG_BUG=y
+# CONFIG_BASE_FULL is not set
+# CONFIG_FUTEX is not set
+# CONFIG_EPOLL is not set
+# CONFIG_SIGNALFD is not set
+# CONFIG_TIMERFD is not set
+# CONFIG_EVENTFD is not set
+# CONFIG_AIO is not set
+# CONFIG_IO_URING is not set
+# CONFIG_ADVISE_SYSCALLS is not set
+# CONFIG_MEMBARRIER is not set
+# CONFIG_KALLSYMS is not set
+CONFIG_KCMP=y
+# CONFIG_RSEQ is not set
+CONFIG_EMBEDDED=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLOB=y
+# CONFIG_SLAB_MERGE_DEFAULT is not set
+# CONFIG_MMU is not set
+CONFIG_ARCH_STM32=y
+# CONFIG_MACH_STM32F469 is not set
+# CONFIG_MACH_STM32F746 is not set
+# CONFIG_MACH_STM32F769 is not set
+# CONFIG_MACH_STM32H743 is not set
+CONFIG_CPU_V7M_NUM_IRQ=240
+# CONFIG_ARM_DMA_MEM_BUFFERABLE is not set
+CONFIG_SET_MEM_PARAM=y
+CONFIG_DRAM_BASE=0x90000000
+CONFIG_DRAM_SIZE=0x00800000
+CONFIG_HZ_1000=y
+# CONFIG_ATAGS is not set
+CONFIG_XIP_KERNEL=y
+CONFIG_XIP_PHYS_ADDR=0x0800C000
+CONFIG_XIP_DEFLATED_DATA=y
+# CONFIG_SUSPEND is not set
+# CONFIG_STACKPROTECTOR is not set
+# CONFIG_COMPAT_32BIT_TIME is not set
+# CONFIG_GCC_PLUGINS is not set
+# CONFIG_BLOCK is not set
+CONFIG_BINFMT_FLAT=y
+CONFIG_BINFMT_SHARED_FLAT=y
+# CONFIG_COREDUMP is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+# CONFIG_FW_LOADER is not set
+# CONFIG_ALLOW_DEV_COREDUMP is not set
+CONFIG_EEPROM_93CX6=y
+# CONFIG_INPUT is not set
+# CONFIG_VT is not set
+# CONFIG_UNIX98_PTYS is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_LDISC_AUTOLOAD is not set
+CONFIG_SERIAL_STM32=y
+CONFIG_SERIAL_STM32_CONSOLE=y
+# CONFIG_DEVMEM is not set
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_MFD_STM32_TIMERS=y
+# CONFIG_USB_SUPPORT is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_STM32=y
+CONFIG_DMADEVICES=y
+CONFIG_STM32_DMA=y
+CONFIG_STM32_DMAMUX=y
+CONFIG_STM32_MDMA=y
+CONFIG_SYNC_FILE=y
+# CONFIG_VIRTIO_MENU is not set
+# CONFIG_VHOST_MENU is not set
+CONFIG_IIO=y
+CONFIG_IIO_BUFFER=y
+CONFIG_IIO_TRIGGERED_BUFFER=y
+CONFIG_IIO_STM32_TIMER_TRIGGER=y
+# CONFIG_FILE_LOCKING is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_INOTIFY_USER is not set
+# CONFIG_PROC_SYSCTL is not set
+CONFIG_CONFIGFS_FS=y
+# CONFIG_MISC_FILESYSTEMS is not set
+CONFIG_NLS=y
+CONFIG_PRINTK_TIME=y
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
+CONFIG_CONSOLE_LOGLEVEL_QUIET=15
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
+# CONFIG_SYMBOLIC_ERRNAME is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_DEBUG_MISC is not set
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
diff --git a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch b/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
deleted file mode 100644
index d6d5c61aae..0000000000
--- a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ded9afa688184b3240a92c2b8f114c545a09bc3f Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Sat, 12 Mar 2016 23:14:41 +0100
-Subject: [PATCH] ARM: stm32f249-disco: don't force init= in /chosen/bootargs
-
-There is no reason to override the kernel's default init= value, as
-this breaks userspace that assumes the kernel default of /init is
-used. Since stm32 is often used with a minimal bootloader
-(afboot-stm32) that doesn't provide any mechanism to override the DTB,
-we need to adjust the kernel command line in the Device Tree source.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- arch/arm/boot/dts/stm32f429-disco.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/stm32f429-disco.dts b/arch/arm/boot/dts/stm32f429-disco.dts
-index f0b731d..2bae81c 100644
---- a/arch/arm/boot/dts/stm32f429-disco.dts
-+++ b/arch/arm/boot/dts/stm32f429-disco.dts
-@@ -53,7 +53,7 @@
- 	compatible = "st,stm32f429i-disco", "st,stm32f429";
- 
- 	chosen {
--		bootargs = "root=/dev/ram rdinit=/linuxrc";
-+		bootargs = "root=/dev/ram";
- 		stdout-path = "serial0:115200n8";
- 	};
- 
--- 
-2.6.4
-
diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig
index 4007eb20a5..01b54c02cc 100644
--- a/configs/stm32f429_disco_defconfig
+++ b/configs/stm32f429_disco_defconfig
@@ -1,12 +1,14 @@
 BR2_arm=y
 BR2_cortex_m4=y
-BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f429-disco/patches"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y
+BR2_KERNEL_HEADERS_5_15=y
+# BR2_UCLIBC_INSTALL_UTILS is not set
+BR2_GCC_ENABLE_LTO=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11"
-BR2_LINUX_KERNEL_DEFCONFIG="stm32"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f429-disco/linux.config"
 BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
 BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-- 
2.17.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [RESEND PATCH v2, 4/4] configs/stm32f4{2|6}9_*_defconfig: rename configurations
  2021-12-12 12:37 [Buildroot] [RESEND PATCH v2, 0/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
                   ` (2 preceding siblings ...)
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 3/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
@ 2021-12-12 12:37 ` Dario Binacchi via buildroot
  2021-12-14  8:29   ` Christophe Priouzeau
  2021-12-17 21:51   ` Arnout Vandecappelle
  3 siblings, 2 replies; 13+ messages in thread
From: Dario Binacchi via buildroot @ 2021-12-12 12:37 UTC (permalink / raw)
  To: buildroot; +Cc: Christophe Priouzeau, Lee Jones, Dario Binacchi

The name of the configurations are now more explicit. As a result, the
readme files have also been changed.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
---
 .../stm32f469-disco/{flash.sh => flash_sd.sh}                 | 0
 .../stm32f469-disco/{linux.fragment => linux-sd.fragment}     | 0
 board/stmicroelectronics/stm32f469-disco/readme.txt           | 4 ++--
 board/stmicroelectronics/stm32f469-disco/readme_xip.txt       | 2 +-
 ...tm32f429_disco_defconfig => stm32f429_disco_xip_defconfig} | 0
 ...stm32f469_disco_defconfig => stm32f469_disco_sd_defconfig} | 2 +-
 6 files changed, 4 insertions(+), 4 deletions(-)
 rename board/stmicroelectronics/stm32f469-disco/{flash.sh => flash_sd.sh} (100%)
 rename board/stmicroelectronics/stm32f469-disco/{linux.fragment => linux-sd.fragment} (100%)
 rename configs/{stm32f429_disco_defconfig => stm32f429_disco_xip_defconfig} (100%)
 rename configs/{stm32f469_disco_defconfig => stm32f469_disco_sd_defconfig} (97%)

diff --git a/board/stmicroelectronics/stm32f469-disco/flash.sh b/board/stmicroelectronics/stm32f469-disco/flash_sd.sh
similarity index 100%
rename from board/stmicroelectronics/stm32f469-disco/flash.sh
rename to board/stmicroelectronics/stm32f469-disco/flash_sd.sh
diff --git a/board/stmicroelectronics/stm32f469-disco/linux.fragment b/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment
similarity index 100%
rename from board/stmicroelectronics/stm32f469-disco/linux.fragment
rename to board/stmicroelectronics/stm32f469-disco/linux-sd.fragment
diff --git a/board/stmicroelectronics/stm32f469-disco/readme.txt b/board/stmicroelectronics/stm32f469-disco/readme.txt
index 4d178b40d6..99d26ccb66 100644
--- a/board/stmicroelectronics/stm32f469-disco/readme.txt
+++ b/board/stmicroelectronics/stm32f469-disco/readme.txt
@@ -7,13 +7,13 @@ configuration for the STM32F469 Discovery evaluation platform.
 Building
 --------
 
-  make stm32f469_disco_defconfig
+  make stm32f469_disco_sd_defconfig
   make
 
 Flashing
 --------
 
-  ./board/stmicroelectronics/stm32f469-disco/flash.sh output/
+  ./board/stmicroelectronics/stm32f469-disco/flash_sd.sh output/
 
 It will flash the U-boot bootloader.
 
diff --git a/board/stmicroelectronics/stm32f469-disco/readme_xip.txt b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
index 632d221ba1..7c20c2d015 100644
--- a/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
+++ b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
@@ -19,6 +19,6 @@ Building
 Flashing
 --------
 
-  ./board/stmicroelectronics/stm32f469-disco/flash.sh output/
+  ./board/stmicroelectronics/stm32f469-disco/flash_xip.sh output/
 
 It will flash binary to internal flash memory.
diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_xip_defconfig
similarity index 100%
rename from configs/stm32f429_disco_defconfig
rename to configs/stm32f429_disco_xip_defconfig
diff --git a/configs/stm32f469_disco_defconfig b/configs/stm32f469_disco_sd_defconfig
similarity index 97%
rename from configs/stm32f469_disco_defconfig
rename to configs/stm32f469_disco_sd_defconfig
index 438d32150c..5ad4068e5e 100644
--- a/configs/stm32f469_disco_defconfig
+++ b/configs/stm32f469_disco_sd_defconfig
@@ -8,7 +8,7 @@ BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.12"
 BR2_LINUX_KERNEL_DEFCONFIG="stm32"
-BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config board/stmicroelectronics/stm32f469-disco/linux.fragment"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config board/stmicroelectronics/stm32f469-disco/linux-sd.fragment"
 BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
 BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-- 
2.17.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: fix kernel bootup
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: " Dario Binacchi via buildroot
@ 2021-12-14  8:28   ` Christophe Priouzeau
  2021-12-17 21:35   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Christophe Priouzeau @ 2021-12-14  8:28 UTC (permalink / raw)
  To: Dario Binacchi, buildroot; +Cc: Lee Jones

Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>

On 12/12/21 1:37 PM, Dario Binacchi wrote:
> Testing this configuration on the stm32f469-disco board failed. Removing
> the changes on the DRAM I got a bootable image. I also changed the
> kernel load address from 0x8010000 to 0x800C000 to allocate more space to
> the kernel since 32kB for the device tree is enough.
> 
> Signed-off-by: Dario Binacchi <dariobin@libero.it
> ---
>   .../stm32f469-disco/flash_xip.sh              |  2 +-
>   .../stm32f469-disco/linux-xip.config          |  8 +--
>   ...32f469-i-Update-kernel-start-address.patch | 56 -------------------
>   ...69i-disco-change-kernel-load-address.patch | 26 +++++++++
>   ...fault-dram-address-without-remapping.patch | 38 -------------
>   configs/stm32f469_disco_xip_defconfig         |  1 +
>   6 files changed, 32 insertions(+), 99 deletions(-)
>   mode change 100644 => 100755 board/stmicroelectronics/stm32f469-disco/flash_xip.sh
>   delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
>   create mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
>   delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
> 
> diff --git a/board/stmicroelectronics/stm32f469-disco/flash_xip.sh b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
> old mode 100644
> new mode 100755
> index b5a067cee5..da27cd327c
> --- a/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
> +++ b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
> @@ -15,6 +15,6 @@ ${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \
>     -c "flash info 0" \
>     -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469i-disco.bin 0x08000000" \
>     -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469-disco.dtb 0x08004000" \
> -  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08010000" \
> +  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \
>     -c "reset run" \
>     -c "shutdown"
> diff --git a/board/stmicroelectronics/stm32f469-disco/linux-xip.config b/board/stmicroelectronics/stm32f469-disco/linux-xip.config
> index 2d0ce59b31..01a94eb9d1 100644
> --- a/board/stmicroelectronics/stm32f469-disco/linux-xip.config
> +++ b/board/stmicroelectronics/stm32f469-disco/linux-xip.config
> @@ -18,7 +18,7 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
>   # CONFIG_MULTIUSER is not set
>   # CONFIG_SYSFS_SYSCALL is not set
>   # CONFIG_FHANDLE is not set
> -# CONFIG_POSIX_TIMERS is not set
> +CONFIG_POSIX_TIMERS=y
>   # CONFIG_BUG is not set
>   # CONFIG_BASE_FULL is not set
>   # CONFIG_FUTEX is not set
> @@ -47,12 +47,12 @@ CONFIG_ARCH_STM32=y
>   CONFIG_CPU_V7M_NUM_IRQ=240
>   # CONFIG_ARM_DMA_MEM_BUFFERABLE is not set
>   CONFIG_SET_MEM_PARAM=y
> -CONFIG_DRAM_BASE=0xc0000000
> -CONFIG_DRAM_SIZE=0x01000000
> +CONFIG_DRAM_BASE=0x00000000
> +CONFIG_DRAM_SIZE=0x00800000
>   CONFIG_HZ_1000=y
>   # CONFIG_ATAGS is not set
>   CONFIG_XIP_KERNEL=y
> -CONFIG_XIP_PHYS_ADDR=0x08010000
> +CONFIG_XIP_PHYS_ADDR=0x0800C000
>   CONFIG_XIP_DEFLATED_DATA=y
>   # CONFIG_SUSPEND is not set
>   # CONFIG_STACKPROTECTOR is not set
> diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
> deleted file mode 100644
> index d5d1e5a8ad..0000000000
> --- a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
> +++ /dev/null
> @@ -1,56 +0,0 @@
> -From fe5f3a86d07e378baeeddc1dfecd0686d83aa42f Mon Sep 17 00:00:00 2001
> -From: Yauheni Saldatsenka <eugentoo@gmail.com>
> -Date: Sat, 14 Aug 2021 18:54:51 +0300
> -Subject: [PATCH] stm32f469-i: Update kernel start address
> -
> -As of GNU/Linux v5.12 kernel device tree binary grows above 0x08008000
> -and overwrites kernel binary
> -Therefore this commit moves kernel to the next flash bank
> -
> -Signed-off-by: Yauheni Saldatsenka <eugentoo@gmail.com>
> ----
> - stm32f469i-disco.c | 7 +++----
> - 1 file changed, 3 insertions(+), 4 deletions(-)
> -
> -diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
> -index 2da1f4b..46fc06a 100644
> ---- a/stm32f469i-disco.c
> -+++ b/stm32f469i-disco.c
> -@@ -6,6 +6,7 @@
> - #include "gpio.h"
> - #include "mpu.h"
> -
> -+#define KERNEL_ADDR     0x08010000
> - #define CONFIG_HSE_HZ	8000000
> - #define CONFIG_PLL_M	8
> - #define CONFIG_PLL_N	360
> -@@ -85,7 +86,7 @@ static void fmc_wait_busy(void)
> -
> - void start_kernel(void)
> - {
> --	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
> -+	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(KERNEL_ADDR | 1);
> -
> - 	kernel(0, ~0UL, 0x08004000);
> - }
> -@@ -102,7 +103,7 @@ int main(void)
> - 	volatile uint32_t *SYSCFG_MEMRMP = (void *)(SYSCFG_BASE + 0x00);
> - 	int i;
> -
> --	mpu_config(0x0);
> -+	mpu_config(0xc0000000);
> -
> - 	if (*FLASH_CR & FLASH_CR_LOCK) {
> - 		*FLASH_KEYR = 0x45670123;
> -@@ -195,8 +196,6 @@ int main(void)
> - 	usart_setup(usart_base, 45000000);
> - 	usart_putch(usart_base, '.');
> -
> --	*SYSCFG_MEMRMP = 0x4;
> --
> - 	start_kernel();
> -
> - 	return 0;
> ---
> -2.32.0
> -
> diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> new file mode 100644
> index 0000000000..1f8d929bfb
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> @@ -0,0 +1,26 @@
> +From d87969f72671cab5a88ba6e2418e43d0fa267d6f Mon Sep 17 00:00:00 2001
> +From: Dario Binacchi <dariobin@libero.it>
> +Date: Sat, 13 Nov 2021 15:46:32 +0100
> +Subject: [PATCH] stm32f469i-disco: change kernel load address
> +
> +Signed-off-by: Dario Binacchi <dariobin@libero.it>
> +---
> + stm32f469i-disco.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
> +index 2da1f4b..3aacb12 100644
> +--- a/stm32f469i-disco.c
> ++++ b/stm32f469i-disco.c
> +@@ -85,7 +85,7 @@ static void fmc_wait_busy(void)
> +
> + void start_kernel(void)
> + {
> +-	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
> ++	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x0800C000 | 1);
> +
> + 	kernel(0, ~0UL, 0x08004000);
> + }
> +--
> +2.17.1
> +
> diff --git a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch b/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
> deleted file mode 100644
> index 68fe8380a2..0000000000
> --- a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -From 8ccf9f625d00138d86fb7d70f3efd58a8fb4d7ff Mon Sep 17 00:00:00 2001
> -From: Yauheni Saldatsenka <eugentoo@gmail.com>
> -Date: Mon, 23 Aug 2021 02:54:22 +0300
> -Subject: [PATCH] Use default dram address without remapping
> -
> -Signed-off-by: Yauheni Saldatsenka <eugentoo@gmail.com>
> ----
> - arch/arm/boot/dts/stm32f469-disco.dts | 6 +++---
> - 1 file changed, 3 insertions(+), 3 deletions(-)
> -
> -diff --git a/arch/arm/boot/dts/stm32f469-disco.dts b/arch/arm/boot/dts/stm32f469-disco.dts
> -index 2e1b3bbbe4b5..06845614a19a 100644
> ---- a/arch/arm/boot/dts/stm32f469-disco.dts
> -+++ b/arch/arm/boot/dts/stm32f469-disco.dts
> -@@ -60,9 +60,9 @@ chosen {
> - 		stdout-path = "serial0:115200n8";
> - 	};
> -
> --	memory@00000000 {
> -+	memory@c0000000 {
> - 		device_type = "memory";
> --		reg = <0x00000000 0x1000000>;
> -+		reg = <0xc0000000 0x1000000>;
> - 	};
> -
> - 	aliases {
> -@@ -84,7 +84,7 @@ vdd_dsi: vdd-dsi {
> - 	};
> -
> - 	soc {
> --		dma-ranges = <0xc0000000 0x0 0x10000000>;
> -+		dma-ranges = <0xc0000000 0xc0000000 0x10000000>;
> - 	};
> -
> - 	leds {
> ---
> -2.32.0
> -
> diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig
> index 1ceffe4026..e8b2cf3d21 100644
> --- a/configs/stm32f469_disco_xip_defconfig
> +++ b/configs/stm32f469_disco_xip_defconfig
> @@ -3,6 +3,7 @@ BR2_cortex_m4=y
>   BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches"
>   # BR2_UCLIBC_INSTALL_UTILS is not set
>   BR2_GCC_ENABLE_LTO=y
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
>   BR2_LINUX_KERNEL=y
>   BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>   BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f469-disco/linux-xip.config"
> 


-- 
Best regards / Cordialement,

Christophe Priouzeau | Tel: +33 244027320
STMicroelectronics
ST online: www.st.com<http://www.st.com/>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version Dario Binacchi via buildroot
@ 2021-12-14  8:28   ` Christophe Priouzeau
  2021-12-17 21:38   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Christophe Priouzeau @ 2021-12-14  8:28 UTC (permalink / raw)
  To: Dario Binacchi, buildroot; +Cc: Lee Jones

Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>

On 12/12/21 1:37 PM, Dario Binacchi wrote:
> Newer versions of the kernel generate device trees that are not
> storable in a single 16kB sector. In these cases the kernel load address
> must be changed.
> The commit 2e499dcff3ef ("Add possibility to use custom kernel load address")
> adds the possibility to override the default (0x08008000) kernel load
> address.
> 
> This also required changes to the stm32f429_disco_defconfig and
> stm32f469_disco_xip_defconfig configurations.
> 
> Signed-off-by: Dario Binacchi <dariobin@libero.it>
> ---
>   ...69i-disco-change-kernel-load-address.patch | 26 ---------------
>   boot/afboot-stm32/Config.in                   | 32 +++++++++++++++++++
>   boot/afboot-stm32/afboot-stm32.hash           |  2 +-
>   boot/afboot-stm32/afboot-stm32.mk             | 18 ++++++++---
>   configs/stm32f429_disco_defconfig             |  1 +
>   configs/stm32f469_disco_xip_defconfig         |  3 +-
>   6 files changed, 50 insertions(+), 32 deletions(-)
>   delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> 
> diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> deleted file mode 100644
> index 1f8d929bfb..0000000000
> --- a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -From d87969f72671cab5a88ba6e2418e43d0fa267d6f Mon Sep 17 00:00:00 2001
> -From: Dario Binacchi <dariobin@libero.it>
> -Date: Sat, 13 Nov 2021 15:46:32 +0100
> -Subject: [PATCH] stm32f469i-disco: change kernel load address
> -
> -Signed-off-by: Dario Binacchi <dariobin@libero.it>
> ----
> - stm32f469i-disco.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
> -index 2da1f4b..3aacb12 100644
> ---- a/stm32f469i-disco.c
> -+++ b/stm32f469i-disco.c
> -@@ -85,7 +85,7 @@ static void fmc_wait_busy(void)
> -
> - void start_kernel(void)
> - {
> --	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
> -+	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x0800C000 | 1);
> -
> - 	kernel(0, ~0UL, 0x08004000);
> - }
> ---
> -2.17.1
> -
> diff --git a/boot/afboot-stm32/Config.in b/boot/afboot-stm32/Config.in
> index 309b9e0491..71f4c7e382 100644
> --- a/boot/afboot-stm32/Config.in
> +++ b/boot/afboot-stm32/Config.in
> @@ -5,3 +5,35 @@ config BR2_TARGET_AFBOOT_STM32
>   	  afboot-stm32 is a very small bootloader for STM32 platforms
>   
>   	  https://github.com/mcoquelin-stm32/afboot-stm32
> +
> +if BR2_TARGET_AFBOOT_STM32
> +
> +choice
> +	prompt "Board type"
> +	help
> +	  Select the proper stm32 board type.
> +
> +config BR2_TARGET_AFBOOT_STM32_F429_DISCO
> +	bool "stm32f429-disco"
> +
> +config BR2_TARGET_AFBOOT_STM32_F469_DISCO
> +	bool "stm32f469-disco"
> +
> +endchoice
> +
> +config BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR
> +	hex "Kernel load address"
> +	default "0x08008000"
> +	help
> +	  This is the physical address in your flash memory the kernel will
> +	  be linked for and stored to. This address is dependent on your own
> +	  flash usage.
> +
> +config BR2_TARGET_AFBOOT_STM32_DTB_ADDR
> +	hex "Device-tree load address"
> +	default "0x08004000"
> +	help
> +	  This is the physical address in your flash memory the device-tree
> +	  will be stored to. This address is dependent on your own flash usage.
> +
> +endif
> diff --git a/boot/afboot-stm32/afboot-stm32.hash b/boot/afboot-stm32/afboot-stm32.hash
> index 75f47295f6..80b9b6a106 100644
> --- a/boot/afboot-stm32/afboot-stm32.hash
> +++ b/boot/afboot-stm32/afboot-stm32.hash
> @@ -1,2 +1,2 @@
>   # Locally calculated
> -sha256 9b37b661bd3091ceb5d8dc5a56a2dfc02ae9ebc0c63dad3c4289c9d6b3d3ec89  afboot-stm32-0.2.tar.gz
> +sha256  132f9817e615131856892cbe3df1502cdcd0700a12a48aa6bae8acfd5f093b42  afboot-stm32-3566acd582e5536fb60864281788a30f5527df2d-br1.tar.gz
> diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk
> index 0fb4735285..80074a3c35 100644
> --- a/boot/afboot-stm32/afboot-stm32.mk
> +++ b/boot/afboot-stm32/afboot-stm32.mk
> @@ -4,17 +4,27 @@
>   #
>   ################################################################################
>   
> -AFBOOT_STM32_VERSION = 0.2
> -AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,v$(AFBOOT_STM32_VERSION))
> +AFBOOT_STM32_VERSION = 3566acd582e5536fb60864281788a30f5527df2d
> +AFBOOT_STM32_SITE = https://github.com/mcoquelin-stm32/afboot-stm32.git
> +AFBOOT_STM32_SITE_METHOD = git
>   AFBOOT_STM32_INSTALL_IMAGES = YES
>   AFBOOT_STM32_INSTALL_TARGET = NO
>   
> +ifeq ($(BR2_TARGET_AFBOOT_STM32_F429_DISCO),y)
> +AFBOOT_STM32_BOARD=stm32f429i-disco
> +else
> +AFBOOT_STM32_BOARD=stm32f469i-disco
> +endif
> +
>   define AFBOOT_STM32_BUILD_CMDS
> -	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) \
> +		$(AFBOOT_STM32_BOARD) \
> +		KERNEL_ADDR=$(BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR) \
> +		DTB_ADDR=$(BR2_TARGET_AFBOOT_STM32_DTB_ADDR)
>   endef
>   
>   define AFBOOT_STM32_INSTALL_IMAGES_CMDS
> -	$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin
> +	$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/$(AFBOOT_STM32_BOARD).bin
>   endef
>   
>   $(eval $(generic-package))
> diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig
> index 2c0641a6c5..4007eb20a5 100644
> --- a/configs/stm32f429_disco_defconfig
> +++ b/configs/stm32f429_disco_defconfig
> @@ -15,4 +15,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
>   BR2_TARGET_ROOTFS_INITRAMFS=y
>   # BR2_TARGET_ROOTFS_TAR is not set
>   BR2_TARGET_AFBOOT_STM32=y
> +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
>   BR2_PACKAGE_HOST_OPENOCD=y
> diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig
> index e8b2cf3d21..4c49ffcc7a 100644
> --- a/configs/stm32f469_disco_xip_defconfig
> +++ b/configs/stm32f469_disco_xip_defconfig
> @@ -1,6 +1,5 @@
>   BR2_arm=y
>   BR2_cortex_m4=y
> -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches"
>   # BR2_UCLIBC_INSTALL_UTILS is not set
>   BR2_GCC_ENABLE_LTO=y
>   BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
> @@ -16,4 +15,6 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
>   BR2_TARGET_ROOTFS_INITRAMFS=y
>   # BR2_TARGET_ROOTFS_TAR is not set
>   BR2_TARGET_AFBOOT_STM32=y
> +BR2_TARGET_AFBOOT_STM32_F469_DISCO=y
> +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
>   BR2_PACKAGE_HOST_OPENOCD=y
> 


-- 
Best regards / Cordialement,

Christophe Priouzeau | Tel: +33 244027320
STMicroelectronics
ST online: www.st.com<http://www.st.com/>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [RESEND PATCH v2, 3/4] configs/stm32f429_disco: fix kernel bootup
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 3/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
@ 2021-12-14  8:29   ` Christophe Priouzeau
  2021-12-17 21:51   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Christophe Priouzeau @ 2021-12-14  8:29 UTC (permalink / raw)
  To: Dario Binacchi, buildroot; +Cc: Lee Jones

Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>

On 12/12/21 1:37 PM, Dario Binacchi wrote:
> The kernel generated by the configuration for the STM32f429-discovery
> board is buggy:
> 
> Fixes:
>   Unhandled exception: IPSR = 00000006 LR = fffffff1
>   CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
>   Hardware name: STM32 (Device Tree Support)
>   task: 9041a000 task.stack: 907c0000
>   PC is at ret_fast_syscall+0x2/0x4a
>   LR is at tty_ioctl+0x1ad/0x75c
>   pc : [<0800d942>]    lr : [<080c2e05>]    psr: 4000000b
>   sp : 907c1fa8  ip : 0000001c  fp : 905961a2
>   r10: 00000000  r9 : 907c0000  r8 : 0800dae0
>   r7 : 00000036  r6 : 905e7e60  r5 : 00000000  r4 : 905e7ebc
>   r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000
>   xPSR: 4000000b
>   CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
>   Hardware name: STM32 (Device Tree Support)
>   [<0800fbf9>] (unwind_backtrace) from [<0800f05b>] (show_stack+0xb/0xc)
>   [<0800f05b>] (show_stack) from [<0800f553>] (__invalid_entry+0x4b/0x4c)
> 
> Inspired by commit a3e3d9c198 ("configs/stm32f469_disco_xip_defconfig:
> alternative defconfig for XIP") I updated the stm32f429_disco_defconfig
> configuration to use a newer kernel. Current setup kernel + rootfs fits
> in 1.6MB on-chip flash memory.
> 
> The kernel has been moved to new flash bank due to growth of dtb size.
> 
> For better binary size optimization gcc LTO is turned on.
> 
> Signed-off-by: Dario Binacchi <dariobin@libero.it>
> ---
>   .../stm32f429-disco/flash.sh                  |   2 +-
>   .../stm32f429-disco/linux.config              | 120 ++++++++++++++++++
>   ...sco-don-t-force-init-in-chosen-boota.patch |  32 -----
>   configs/stm32f429_disco_defconfig             |  10 +-
>   4 files changed, 127 insertions(+), 37 deletions(-)
>   create mode 100644 board/stmicroelectronics/stm32f429-disco/linux.config
>   delete mode 100644 board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
> 
> diff --git a/board/stmicroelectronics/stm32f429-disco/flash.sh b/board/stmicroelectronics/stm32f429-disco/flash.sh
> index b19e0a6019..3e2bf121d3 100755
> --- a/board/stmicroelectronics/stm32f429-disco/flash.sh
> +++ b/board/stmicroelectronics/stm32f429-disco/flash.sh
> @@ -21,6 +21,6 @@ ${OUTPUT_DIR}/host/bin/openocd -f board/${BOARD_NAME}.cfg \
>     -c "flash info 0" \
>     -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429i-disco.bin 0x08000000" \
>     -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429-disco.dtb 0x08004000" \
> -  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08008000" \
> +  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \
>     -c "reset run" \
>     -c "shutdown"
> diff --git a/board/stmicroelectronics/stm32f429-disco/linux.config b/board/stmicroelectronics/stm32f429-disco/linux.config
> new file mode 100644
> index 0000000000..7b5c60f180
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f429-disco/linux.config
> @@ -0,0 +1,120 @@
> +# CONFIG_LOCALVERSION_AUTO is not set
> +CONFIG_KERNEL_XZ=y
> +CONFIG_NO_HZ_IDLE=y
> +CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_PREEMPT=y
> +CONFIG_LOG_BUF_SHIFT=12
> +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=10
> +CONFIG_BLK_DEV_INITRD=y
> +CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio"
> +# CONFIG_RD_GZIP is not set
> +# CONFIG_RD_BZIP2 is not set
> +# CONFIG_RD_LZMA is not set
> +# CONFIG_RD_XZ is not set
> +# CONFIG_RD_LZO is not set
> +# CONFIG_RD_LZ4 is not set
> +# CONFIG_RD_ZSTD is not set
> +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> +# CONFIG_MULTIUSER is not set
> +# CONFIG_SYSFS_SYSCALL is not set
> +# CONFIG_FHANDLE is not set
> +CONFIG_POSIX_TIMERS=y
> +CONFIG_BUG=y
> +# CONFIG_BASE_FULL is not set
> +# CONFIG_FUTEX is not set
> +# CONFIG_EPOLL is not set
> +# CONFIG_SIGNALFD is not set
> +# CONFIG_TIMERFD is not set
> +# CONFIG_EVENTFD is not set
> +# CONFIG_AIO is not set
> +# CONFIG_IO_URING is not set
> +# CONFIG_ADVISE_SYSCALLS is not set
> +# CONFIG_MEMBARRIER is not set
> +# CONFIG_KALLSYMS is not set
> +CONFIG_KCMP=y
> +# CONFIG_RSEQ is not set
> +CONFIG_EMBEDDED=y
> +# CONFIG_VM_EVENT_COUNTERS is not set
> +# CONFIG_COMPAT_BRK is not set
> +CONFIG_SLOB=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
> +# CONFIG_MMU is not set
> +CONFIG_ARCH_STM32=y
> +# CONFIG_MACH_STM32F469 is not set
> +# CONFIG_MACH_STM32F746 is not set
> +# CONFIG_MACH_STM32F769 is not set
> +# CONFIG_MACH_STM32H743 is not set
> +CONFIG_CPU_V7M_NUM_IRQ=240
> +# CONFIG_ARM_DMA_MEM_BUFFERABLE is not set
> +CONFIG_SET_MEM_PARAM=y
> +CONFIG_DRAM_BASE=0x90000000
> +CONFIG_DRAM_SIZE=0x00800000
> +CONFIG_HZ_1000=y
> +# CONFIG_ATAGS is not set
> +CONFIG_XIP_KERNEL=y
> +CONFIG_XIP_PHYS_ADDR=0x0800C000
> +CONFIG_XIP_DEFLATED_DATA=y
> +# CONFIG_SUSPEND is not set
> +# CONFIG_STACKPROTECTOR is not set
> +# CONFIG_COMPAT_32BIT_TIME is not set
> +# CONFIG_GCC_PLUGINS is not set
> +# CONFIG_BLOCK is not set
> +CONFIG_BINFMT_FLAT=y
> +CONFIG_BINFMT_SHARED_FLAT=y
> +# CONFIG_COREDUMP is not set
> +CONFIG_DEVTMPFS=y
> +CONFIG_DEVTMPFS_MOUNT=y
> +# CONFIG_STANDALONE is not set
> +# CONFIG_PREVENT_FIRMWARE_BUILD is not set
> +# CONFIG_FW_LOADER is not set
> +# CONFIG_ALLOW_DEV_COREDUMP is not set
> +CONFIG_EEPROM_93CX6=y
> +# CONFIG_INPUT is not set
> +# CONFIG_VT is not set
> +# CONFIG_UNIX98_PTYS is not set
> +# CONFIG_LEGACY_PTYS is not set
> +# CONFIG_LDISC_AUTOLOAD is not set
> +CONFIG_SERIAL_STM32=y
> +CONFIG_SERIAL_STM32_CONSOLE=y
> +# CONFIG_DEVMEM is not set
> +# CONFIG_HWMON is not set
> +CONFIG_WATCHDOG=y
> +CONFIG_MFD_STM32_TIMERS=y
> +# CONFIG_USB_SUPPORT is not set
> +CONFIG_NEW_LEDS=y
> +CONFIG_LEDS_CLASS=y
> +CONFIG_LEDS_GPIO=y
> +CONFIG_LEDS_TRIGGERS=y
> +CONFIG_LEDS_TRIGGER_HEARTBEAT=y
> +CONFIG_RTC_CLASS=y
> +CONFIG_RTC_DRV_STM32=y
> +CONFIG_DMADEVICES=y
> +CONFIG_STM32_DMA=y
> +CONFIG_STM32_DMAMUX=y
> +CONFIG_STM32_MDMA=y
> +CONFIG_SYNC_FILE=y
> +# CONFIG_VIRTIO_MENU is not set
> +# CONFIG_VHOST_MENU is not set
> +CONFIG_IIO=y
> +CONFIG_IIO_BUFFER=y
> +CONFIG_IIO_TRIGGERED_BUFFER=y
> +CONFIG_IIO_STM32_TIMER_TRIGGER=y
> +# CONFIG_FILE_LOCKING is not set
> +# CONFIG_DNOTIFY is not set
> +# CONFIG_INOTIFY_USER is not set
> +# CONFIG_PROC_SYSCTL is not set
> +CONFIG_CONFIGFS_FS=y
> +# CONFIG_MISC_FILESYSTEMS is not set
> +CONFIG_NLS=y
> +CONFIG_PRINTK_TIME=y
> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
> +CONFIG_CONSOLE_LOGLEVEL_QUIET=15
> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
> +# CONFIG_SYMBOLIC_ERRNAME is not set
> +CONFIG_DEBUG_INFO=y
> +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
> +CONFIG_DEBUG_FS=y
> +# CONFIG_DEBUG_MISC is not set
> +# CONFIG_SCHED_DEBUG is not set
> +# CONFIG_RCU_TRACE is not set
> +# CONFIG_RUNTIME_TESTING_MENU is not set
> diff --git a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch b/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
> deleted file mode 100644
> index d6d5c61aae..0000000000
> --- a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -From ded9afa688184b3240a92c2b8f114c545a09bc3f Mon Sep 17 00:00:00 2001
> -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -Date: Sat, 12 Mar 2016 23:14:41 +0100
> -Subject: [PATCH] ARM: stm32f249-disco: don't force init= in /chosen/bootargs
> -
> -There is no reason to override the kernel's default init= value, as
> -this breaks userspace that assumes the kernel default of /init is
> -used. Since stm32 is often used with a minimal bootloader
> -(afboot-stm32) that doesn't provide any mechanism to override the DTB,
> -we need to adjust the kernel command line in the Device Tree source.
> -
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ----
> - arch/arm/boot/dts/stm32f429-disco.dts | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/arch/arm/boot/dts/stm32f429-disco.dts b/arch/arm/boot/dts/stm32f429-disco.dts
> -index f0b731d..2bae81c 100644
> ---- a/arch/arm/boot/dts/stm32f429-disco.dts
> -+++ b/arch/arm/boot/dts/stm32f429-disco.dts
> -@@ -53,7 +53,7 @@
> - 	compatible = "st,stm32f429i-disco", "st,stm32f429";
> -
> - 	chosen {
> --		bootargs = "root=/dev/ram rdinit=/linuxrc";
> -+		bootargs = "root=/dev/ram";
> - 		stdout-path = "serial0:115200n8";
> - 	};
> -
> ---
> -2.6.4
> -
> diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig
> index 4007eb20a5..01b54c02cc 100644
> --- a/configs/stm32f429_disco_defconfig
> +++ b/configs/stm32f429_disco_defconfig
> @@ -1,12 +1,14 @@
>   BR2_arm=y
>   BR2_cortex_m4=y
> -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f429-disco/patches"
> -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y
> +BR2_KERNEL_HEADERS_5_15=y
> +# BR2_UCLIBC_INSTALL_UTILS is not set
> +BR2_GCC_ENABLE_LTO=y
>   BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
>   BR2_LINUX_KERNEL=y
>   BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11"
> -BR2_LINUX_KERNEL_DEFCONFIG="stm32"
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15"
> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f429-disco/linux.config"
>   BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
>   BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage"
>   BR2_LINUX_KERNEL_DTS_SUPPORT=y
> 


-- 
Best regards / Cordialement,

Christophe Priouzeau | Tel: +33 244027320
STMicroelectronics
ST online: www.st.com<http://www.st.com/>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [RESEND PATCH v2, 4/4] configs/stm32f4{2|6}9_*_defconfig: rename configurations
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 4/4] configs/stm32f4{2|6}9_*_defconfig: rename configurations Dario Binacchi via buildroot
@ 2021-12-14  8:29   ` Christophe Priouzeau
  2021-12-17 21:51   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Christophe Priouzeau @ 2021-12-14  8:29 UTC (permalink / raw)
  To: Dario Binacchi, buildroot; +Cc: Lee Jones

Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>

On 12/12/21 1:37 PM, Dario Binacchi wrote:
> The name of the configurations are now more explicit. As a result, the
> readme files have also been changed.
> 
> Signed-off-by: Dario Binacchi <dariobin@libero.it>
> ---
>   .../stm32f469-disco/{flash.sh => flash_sd.sh}                 | 0
>   .../stm32f469-disco/{linux.fragment => linux-sd.fragment}     | 0
>   board/stmicroelectronics/stm32f469-disco/readme.txt           | 4 ++--
>   board/stmicroelectronics/stm32f469-disco/readme_xip.txt       | 2 +-
>   ...tm32f429_disco_defconfig => stm32f429_disco_xip_defconfig} | 0
>   ...stm32f469_disco_defconfig => stm32f469_disco_sd_defconfig} | 2 +-
>   6 files changed, 4 insertions(+), 4 deletions(-)
>   rename board/stmicroelectronics/stm32f469-disco/{flash.sh => flash_sd.sh} (100%)
>   rename board/stmicroelectronics/stm32f469-disco/{linux.fragment => linux-sd.fragment} (100%)
>   rename configs/{stm32f429_disco_defconfig => stm32f429_disco_xip_defconfig} (100%)
>   rename configs/{stm32f469_disco_defconfig => stm32f469_disco_sd_defconfig} (97%)
> 
> diff --git a/board/stmicroelectronics/stm32f469-disco/flash.sh b/board/stmicroelectronics/stm32f469-disco/flash_sd.sh
> similarity index 100%
> rename from board/stmicroelectronics/stm32f469-disco/flash.sh
> rename to board/stmicroelectronics/stm32f469-disco/flash_sd.sh
> diff --git a/board/stmicroelectronics/stm32f469-disco/linux.fragment b/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment
> similarity index 100%
> rename from board/stmicroelectronics/stm32f469-disco/linux.fragment
> rename to board/stmicroelectronics/stm32f469-disco/linux-sd.fragment
> diff --git a/board/stmicroelectronics/stm32f469-disco/readme.txt b/board/stmicroelectronics/stm32f469-disco/readme.txt
> index 4d178b40d6..99d26ccb66 100644
> --- a/board/stmicroelectronics/stm32f469-disco/readme.txt
> +++ b/board/stmicroelectronics/stm32f469-disco/readme.txt
> @@ -7,13 +7,13 @@ configuration for the STM32F469 Discovery evaluation platform.
>   Building
>   --------
>   
> -  make stm32f469_disco_defconfig
> +  make stm32f469_disco_sd_defconfig
>     make
>   
>   Flashing
>   --------
>   
> -  ./board/stmicroelectronics/stm32f469-disco/flash.sh output/
> +  ./board/stmicroelectronics/stm32f469-disco/flash_sd.sh output/
>   
>   It will flash the U-boot bootloader.
>   
> diff --git a/board/stmicroelectronics/stm32f469-disco/readme_xip.txt b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
> index 632d221ba1..7c20c2d015 100644
> --- a/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
> +++ b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
> @@ -19,6 +19,6 @@ Building
>   Flashing
>   --------
>   
> -  ./board/stmicroelectronics/stm32f469-disco/flash.sh output/
> +  ./board/stmicroelectronics/stm32f469-disco/flash_xip.sh output/
>   
>   It will flash binary to internal flash memory.
> diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_xip_defconfig
> similarity index 100%
> rename from configs/stm32f429_disco_defconfig
> rename to configs/stm32f429_disco_xip_defconfig
> diff --git a/configs/stm32f469_disco_defconfig b/configs/stm32f469_disco_sd_defconfig
> similarity index 97%
> rename from configs/stm32f469_disco_defconfig
> rename to configs/stm32f469_disco_sd_defconfig
> index 438d32150c..5ad4068e5e 100644
> --- a/configs/stm32f469_disco_defconfig
> +++ b/configs/stm32f469_disco_sd_defconfig
> @@ -8,7 +8,7 @@ BR2_LINUX_KERNEL=y
>   BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>   BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.12"
>   BR2_LINUX_KERNEL_DEFCONFIG="stm32"
> -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config board/stmicroelectronics/stm32f469-disco/linux.fragment"
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config board/stmicroelectronics/stm32f469-disco/linux-sd.fragment"
>   BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
>   BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage"
>   BR2_LINUX_KERNEL_DTS_SUPPORT=y
> 


-- 
Best regards / Cordialement,

Christophe Priouzeau | Tel: +33 244027320
STMicroelectronics
ST online: www.st.com<http://www.st.com/>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: fix kernel bootup
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: " Dario Binacchi via buildroot
  2021-12-14  8:28   ` Christophe Priouzeau
@ 2021-12-17 21:35   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Arnout Vandecappelle @ 2021-12-17 21:35 UTC (permalink / raw)
  To: Dario Binacchi, buildroot; +Cc: Christophe Priouzeau, Lee Jones



On 12/12/2021 13:37, Dario Binacchi wrote:
> Testing this configuration on the stm32f469-disco board failed. Removing
> the changes on the DRAM I got a bootable image. I also changed the
> kernel load address from 0x8010000 to 0x800C000 to allocate more space to
> the kernel since 32kB for the device tree is enough.


  Applied to master, thanks.

  I rewrote the commit message quite heavily.

  Please in the future: if someone Acks a first version of your patch, include 
that Ack in later version of the patch.

> 
> Signed-off-by: Dario Binacchi <dariobin@libero.it>
> ---

  Please also in v2 and later of a patch, keep a history in the patch itself, 
below the --- line i.e. here.

  Regards,
  Arnout

>   .../stm32f469-disco/flash_xip.sh              |  2 +-
>   .../stm32f469-disco/linux-xip.config          |  8 +--
>   ...32f469-i-Update-kernel-start-address.patch | 56 -------------------
>   ...69i-disco-change-kernel-load-address.patch | 26 +++++++++
>   ...fault-dram-address-without-remapping.patch | 38 -------------
>   configs/stm32f469_disco_xip_defconfig         |  1 +
>   6 files changed, 32 insertions(+), 99 deletions(-)
>   mode change 100644 => 100755 board/stmicroelectronics/stm32f469-disco/flash_xip.sh
>   delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
>   create mode 100644 board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
>   delete mode 100644 board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
> 
> diff --git a/board/stmicroelectronics/stm32f469-disco/flash_xip.sh b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
> old mode 100644
> new mode 100755
> index b5a067cee5..da27cd327c
> --- a/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
> +++ b/board/stmicroelectronics/stm32f469-disco/flash_xip.sh
> @@ -15,6 +15,6 @@ ${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \
>     -c "flash info 0" \
>     -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469i-disco.bin 0x08000000" \
>     -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f469-disco.dtb 0x08004000" \
> -  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08010000" \
> +  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \
>     -c "reset run" \
>     -c "shutdown"
> diff --git a/board/stmicroelectronics/stm32f469-disco/linux-xip.config b/board/stmicroelectronics/stm32f469-disco/linux-xip.config
> index 2d0ce59b31..01a94eb9d1 100644
> --- a/board/stmicroelectronics/stm32f469-disco/linux-xip.config
> +++ b/board/stmicroelectronics/stm32f469-disco/linux-xip.config
> @@ -18,7 +18,7 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
>   # CONFIG_MULTIUSER is not set
>   # CONFIG_SYSFS_SYSCALL is not set
>   # CONFIG_FHANDLE is not set
> -# CONFIG_POSIX_TIMERS is not set
> +CONFIG_POSIX_TIMERS=y
>   # CONFIG_BUG is not set
>   # CONFIG_BASE_FULL is not set
>   # CONFIG_FUTEX is not set
> @@ -47,12 +47,12 @@ CONFIG_ARCH_STM32=y
>   CONFIG_CPU_V7M_NUM_IRQ=240
>   # CONFIG_ARM_DMA_MEM_BUFFERABLE is not set
>   CONFIG_SET_MEM_PARAM=y
> -CONFIG_DRAM_BASE=0xc0000000
> -CONFIG_DRAM_SIZE=0x01000000
> +CONFIG_DRAM_BASE=0x00000000
> +CONFIG_DRAM_SIZE=0x00800000
>   CONFIG_HZ_1000=y
>   # CONFIG_ATAGS is not set
>   CONFIG_XIP_KERNEL=y
> -CONFIG_XIP_PHYS_ADDR=0x08010000
> +CONFIG_XIP_PHYS_ADDR=0x0800C000
>   CONFIG_XIP_DEFLATED_DATA=y
>   # CONFIG_SUSPEND is not set
>   # CONFIG_STACKPROTECTOR is not set
> diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
> deleted file mode 100644
> index d5d1e5a8ad..0000000000
> --- a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469-i-Update-kernel-start-address.patch
> +++ /dev/null
> @@ -1,56 +0,0 @@
> -From fe5f3a86d07e378baeeddc1dfecd0686d83aa42f Mon Sep 17 00:00:00 2001
> -From: Yauheni Saldatsenka <eugentoo@gmail.com>
> -Date: Sat, 14 Aug 2021 18:54:51 +0300
> -Subject: [PATCH] stm32f469-i: Update kernel start address
> -
> -As of GNU/Linux v5.12 kernel device tree binary grows above 0x08008000
> -and overwrites kernel binary
> -Therefore this commit moves kernel to the next flash bank
> -
> -Signed-off-by: Yauheni Saldatsenka <eugentoo@gmail.com>
> ----
> - stm32f469i-disco.c | 7 +++----
> - 1 file changed, 3 insertions(+), 4 deletions(-)
> -
> -diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
> -index 2da1f4b..46fc06a 100644
> ---- a/stm32f469i-disco.c
> -+++ b/stm32f469i-disco.c
> -@@ -6,6 +6,7 @@
> - #include "gpio.h"
> - #include "mpu.h"
> -
> -+#define KERNEL_ADDR     0x08010000
> - #define CONFIG_HSE_HZ	8000000
> - #define CONFIG_PLL_M	8
> - #define CONFIG_PLL_N	360
> -@@ -85,7 +86,7 @@ static void fmc_wait_busy(void)
> -
> - void start_kernel(void)
> - {
> --	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
> -+	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(KERNEL_ADDR | 1);
> -
> - 	kernel(0, ~0UL, 0x08004000);
> - }
> -@@ -102,7 +103,7 @@ int main(void)
> - 	volatile uint32_t *SYSCFG_MEMRMP = (void *)(SYSCFG_BASE + 0x00);
> - 	int i;
> -
> --	mpu_config(0x0);
> -+	mpu_config(0xc0000000);
> -
> - 	if (*FLASH_CR & FLASH_CR_LOCK) {
> - 		*FLASH_KEYR = 0x45670123;
> -@@ -195,8 +196,6 @@ int main(void)
> - 	usart_setup(usart_base, 45000000);
> - 	usart_putch(usart_base, '.');
> -
> --	*SYSCFG_MEMRMP = 0x4;
> --
> - 	start_kernel();
> -
> - 	return 0;
> ---
> -2.32.0
> -
> diff --git a/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> new file mode 100644
> index 0000000000..1f8d929bfb
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f469-disco/patches/afboot-stm32/0001-stm32f469i-disco-change-kernel-load-address.patch
> @@ -0,0 +1,26 @@
> +From d87969f72671cab5a88ba6e2418e43d0fa267d6f Mon Sep 17 00:00:00 2001
> +From: Dario Binacchi <dariobin@libero.it>
> +Date: Sat, 13 Nov 2021 15:46:32 +0100
> +Subject: [PATCH] stm32f469i-disco: change kernel load address
> +
> +Signed-off-by: Dario Binacchi <dariobin@libero.it>
> +---
> + stm32f469i-disco.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/stm32f469i-disco.c b/stm32f469i-disco.c
> +index 2da1f4b..3aacb12 100644
> +--- a/stm32f469i-disco.c
> ++++ b/stm32f469i-disco.c
> +@@ -85,7 +85,7 @@ static void fmc_wait_busy(void)
> +
> + void start_kernel(void)
> + {
> +-	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x08008000 | 1);
> ++	void (*kernel)(uint32_t reserved, uint32_t mach, uint32_t dt) = (void (*)(uint32_t, uint32_t, uint32_t))(0x0800C000 | 1);
> +
> + 	kernel(0, ~0UL, 0x08004000);
> + }
> +--
> +2.17.1
> +
> diff --git a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch b/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
> deleted file mode 100644
> index 68fe8380a2..0000000000
> --- a/board/stmicroelectronics/stm32f469-disco/patches/linux/0001-Use-default-dram-address-without-remapping.patch
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -From 8ccf9f625d00138d86fb7d70f3efd58a8fb4d7ff Mon Sep 17 00:00:00 2001
> -From: Yauheni Saldatsenka <eugentoo@gmail.com>
> -Date: Mon, 23 Aug 2021 02:54:22 +0300
> -Subject: [PATCH] Use default dram address without remapping
> -
> -Signed-off-by: Yauheni Saldatsenka <eugentoo@gmail.com>
> ----
> - arch/arm/boot/dts/stm32f469-disco.dts | 6 +++---
> - 1 file changed, 3 insertions(+), 3 deletions(-)
> -
> -diff --git a/arch/arm/boot/dts/stm32f469-disco.dts b/arch/arm/boot/dts/stm32f469-disco.dts
> -index 2e1b3bbbe4b5..06845614a19a 100644
> ---- a/arch/arm/boot/dts/stm32f469-disco.dts
> -+++ b/arch/arm/boot/dts/stm32f469-disco.dts
> -@@ -60,9 +60,9 @@ chosen {
> - 		stdout-path = "serial0:115200n8";
> - 	};
> -
> --	memory@00000000 {
> -+	memory@c0000000 {
> - 		device_type = "memory";
> --		reg = <0x00000000 0x1000000>;
> -+		reg = <0xc0000000 0x1000000>;
> - 	};
> -
> - 	aliases {
> -@@ -84,7 +84,7 @@ vdd_dsi: vdd-dsi {
> - 	};
> -
> - 	soc {
> --		dma-ranges = <0xc0000000 0x0 0x10000000>;
> -+		dma-ranges = <0xc0000000 0xc0000000 0x10000000>;
> - 	};
> -
> - 	leds {
> ---
> -2.32.0
> -
> diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig
> index 1ceffe4026..e8b2cf3d21 100644
> --- a/configs/stm32f469_disco_xip_defconfig
> +++ b/configs/stm32f469_disco_xip_defconfig
> @@ -3,6 +3,7 @@ BR2_cortex_m4=y
>   BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches"
>   # BR2_UCLIBC_INSTALL_UTILS is not set
>   BR2_GCC_ENABLE_LTO=y
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
>   BR2_LINUX_KERNEL=y
>   BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>   BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f469-disco/linux-xip.config"
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version Dario Binacchi via buildroot
  2021-12-14  8:28   ` Christophe Priouzeau
@ 2021-12-17 21:38   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Arnout Vandecappelle @ 2021-12-17 21:38 UTC (permalink / raw)
  To: Dario Binacchi, buildroot; +Cc: Christophe Priouzeau, Lee Jones



On 12/12/2021 13:37, Dario Binacchi wrote:
> Newer versions of the kernel generate device trees that are not
> storable in a single 16kB sector. In these cases the kernel load address
> must be changed.
> The commit 2e499dcff3ef ("Add possibility to use custom kernel load address")
> adds the possibility to override the default (0x08008000) kernel load
> address.
> 
> This also required changes to the stm32f429_disco_defconfig and
> stm32f469_disco_xip_defconfig configurations.

  I heavily rewrote the commit message again.

> Signed-off-by: Dario Binacchi <dariobin@libero.it>
[snip]
> diff --git a/boot/afboot-stm32/Config.in b/boot/afboot-stm32/Config.in
> index 309b9e0491..71f4c7e382 100644
> --- a/boot/afboot-stm32/Config.in
> +++ b/boot/afboot-stm32/Config.in
> @@ -5,3 +5,35 @@ config BR2_TARGET_AFBOOT_STM32
>   	  afboot-stm32 is a very small bootloader for STM32 platforms
>   
>   	  https://github.com/mcoquelin-stm32/afboot-stm32
> +
> +if BR2_TARGET_AFBOOT_STM32
> +
> +choice
> +	prompt "Board type"
> +	help
> +	  Select the proper stm32 board type.
> +
> +config BR2_TARGET_AFBOOT_STM32_F429_DISCO
> +	bool "stm32f429-disco"
> +
> +config BR2_TARGET_AFBOOT_STM32_F469_DISCO
> +	bool "stm32f469-disco"

  I see no reason to add these config options. Building all boards hardly has an 
effect on build time. Also, it makes it a lot more complicated to add more 
boards (e.g. by patching afboot-stm32).

  So I removed this and reverted to 'make all'.

> +
> +endchoice
> +
> +config BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR
> +	hex "Kernel load address"
> +	default "0x08008000"
> +	help
> +	  This is the physical address in your flash memory the kernel will
> +	  be linked for and stored to. This address is dependent on your own
> +	  flash usage.
> +
> +config BR2_TARGET_AFBOOT_STM32_DTB_ADDR
> +	hex "Device-tree load address"
> +	default "0x08004000"
> +	help
> +	  This is the physical address in your flash memory the device-tree
> +	  will be stored to. This address is dependent on your own flash usage.
> +
> +endif
> diff --git a/boot/afboot-stm32/afboot-stm32.hash b/boot/afboot-stm32/afboot-stm32.hash
> index 75f47295f6..80b9b6a106 100644
> --- a/boot/afboot-stm32/afboot-stm32.hash
> +++ b/boot/afboot-stm32/afboot-stm32.hash
> @@ -1,2 +1,2 @@
>   # Locally calculated
> -sha256 9b37b661bd3091ceb5d8dc5a56a2dfc02ae9ebc0c63dad3c4289c9d6b3d3ec89  afboot-stm32-0.2.tar.gz
> +sha256  132f9817e615131856892cbe3df1502cdcd0700a12a48aa6bae8acfd5f093b42  afboot-stm32-3566acd582e5536fb60864281788a30f5527df2d-br1.tar.gz
> diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk
> index 0fb4735285..80074a3c35 100644
> --- a/boot/afboot-stm32/afboot-stm32.mk
> +++ b/boot/afboot-stm32/afboot-stm32.mk
> @@ -4,17 +4,27 @@
>   #
>   ################################################################################
>   
> -AFBOOT_STM32_VERSION = 0.2
> -AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,v$(AFBOOT_STM32_VERSION))
> +AFBOOT_STM32_VERSION = 3566acd582e5536fb60864281788a30f5527df2d
> +AFBOOT_STM32_SITE = https://github.com/mcoquelin-stm32/afboot-stm32.git

  There's no reason at all to switch to git download, you can download a tarball 
from a commit hash as well.


  I made all those changes and applied to master. Please double-check if it i 
still correct.

  Regards,
  Arnout


> +AFBOOT_STM32_SITE_METHOD = git
>   AFBOOT_STM32_INSTALL_IMAGES = YES
>   AFBOOT_STM32_INSTALL_TARGET = NO
>   
> +ifeq ($(BR2_TARGET_AFBOOT_STM32_F429_DISCO),y)
> +AFBOOT_STM32_BOARD=stm32f429i-disco
> +else
> +AFBOOT_STM32_BOARD=stm32f469i-disco
> +endif
> +
>   define AFBOOT_STM32_BUILD_CMDS
> -	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) \
> +		$(AFBOOT_STM32_BOARD) \
> +		KERNEL_ADDR=$(BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR) \
> +		DTB_ADDR=$(BR2_TARGET_AFBOOT_STM32_DTB_ADDR)
>   endef
>   
>   define AFBOOT_STM32_INSTALL_IMAGES_CMDS
> -	$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin
> +	$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/$(AFBOOT_STM32_BOARD).bin
>   endef
>   
>   $(eval $(generic-package))
> diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig
> index 2c0641a6c5..4007eb20a5 100644
> --- a/configs/stm32f429_disco_defconfig
> +++ b/configs/stm32f429_disco_defconfig
> @@ -15,4 +15,5 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
>   BR2_TARGET_ROOTFS_INITRAMFS=y
>   # BR2_TARGET_ROOTFS_TAR is not set
>   BR2_TARGET_AFBOOT_STM32=y
> +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
>   BR2_PACKAGE_HOST_OPENOCD=y
> diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig
> index e8b2cf3d21..4c49ffcc7a 100644
> --- a/configs/stm32f469_disco_xip_defconfig
> +++ b/configs/stm32f469_disco_xip_defconfig
> @@ -1,6 +1,5 @@
>   BR2_arm=y
>   BR2_cortex_m4=y
> -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f469-disco/patches"
>   # BR2_UCLIBC_INSTALL_UTILS is not set
>   BR2_GCC_ENABLE_LTO=y
>   BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
> @@ -16,4 +15,6 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
>   BR2_TARGET_ROOTFS_INITRAMFS=y
>   # BR2_TARGET_ROOTFS_TAR is not set
>   BR2_TARGET_AFBOOT_STM32=y
> +BR2_TARGET_AFBOOT_STM32_F469_DISCO=y
> +BR2_TARGET_AFBOOT_STM32_KERNEL_ADDR=0x0800C000
>   BR2_PACKAGE_HOST_OPENOCD=y
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [RESEND PATCH v2, 3/4] configs/stm32f429_disco: fix kernel bootup
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 3/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
  2021-12-14  8:29   ` Christophe Priouzeau
@ 2021-12-17 21:51   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Arnout Vandecappelle @ 2021-12-17 21:51 UTC (permalink / raw)
  To: Dario Binacchi, buildroot; +Cc: Christophe Priouzeau, Lee Jones



On 12/12/2021 13:37, Dario Binacchi wrote:
> The kernel generated by the configuration for the STM32f429-discovery
> board is buggy:
> 
> Fixes:
>   Unhandled exception: IPSR = 00000006 LR = fffffff1
>   CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
>   Hardware name: STM32 (Device Tree Support)
>   task: 9041a000 task.stack: 907c0000
>   PC is at ret_fast_syscall+0x2/0x4a
>   LR is at tty_ioctl+0x1ad/0x75c
>   pc : [<0800d942>]    lr : [<080c2e05>]    psr: 4000000b
>   sp : 907c1fa8  ip : 0000001c  fp : 905961a2
>   r10: 00000000  r9 : 907c0000  r8 : 0800dae0
>   r7 : 00000036  r6 : 905e7e60  r5 : 00000000  r4 : 905e7ebc
>   r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000
>   xPSR: 4000000b
>   CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
>   Hardware name: STM32 (Device Tree Support)
>   [<0800fbf9>] (unwind_backtrace) from [<0800f05b>] (show_stack+0xb/0xc)
>   [<0800f05b>] (show_stack) from [<0800f553>] (__invalid_entry+0x4b/0x4c)
> 
> Inspired by commit a3e3d9c198 ("configs/stm32f469_disco_xip_defconfig:
> alternative defconfig for XIP") I updated the stm32f429_disco_defconfig
> configuration to use a newer kernel. Current setup kernel + rootfs fits
> in 1.6MB on-chip flash memory.
> 
> The kernel has been moved to new flash bank due to growth of dtb size.
> 
> For better binary size optimization gcc LTO is turned on.
> 
> Signed-off-by: Dario Binacchi <dariobin@libero.it>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   .../stm32f429-disco/flash.sh                  |   2 +-
>   .../stm32f429-disco/linux.config              | 120 ++++++++++++++++++
>   ...sco-don-t-force-init-in-chosen-boota.patch |  32 -----
>   configs/stm32f429_disco_defconfig             |  10 +-
>   4 files changed, 127 insertions(+), 37 deletions(-)
>   create mode 100644 board/stmicroelectronics/stm32f429-disco/linux.config
>   delete mode 100644 board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
> 
> diff --git a/board/stmicroelectronics/stm32f429-disco/flash.sh b/board/stmicroelectronics/stm32f429-disco/flash.sh
> index b19e0a6019..3e2bf121d3 100755
> --- a/board/stmicroelectronics/stm32f429-disco/flash.sh
> +++ b/board/stmicroelectronics/stm32f429-disco/flash.sh
> @@ -21,6 +21,6 @@ ${OUTPUT_DIR}/host/bin/openocd -f board/${BOARD_NAME}.cfg \
>     -c "flash info 0" \
>     -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429i-disco.bin 0x08000000" \
>     -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429-disco.dtb 0x08004000" \
> -  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08008000" \
> +  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x0800C000" \
>     -c "reset run" \
>     -c "shutdown"
> diff --git a/board/stmicroelectronics/stm32f429-disco/linux.config b/board/stmicroelectronics/stm32f429-disco/linux.config
> new file mode 100644
> index 0000000000..7b5c60f180
> --- /dev/null
> +++ b/board/stmicroelectronics/stm32f429-disco/linux.config
> @@ -0,0 +1,120 @@
> +# CONFIG_LOCALVERSION_AUTO is not set
> +CONFIG_KERNEL_XZ=y
> +CONFIG_NO_HZ_IDLE=y
> +CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_PREEMPT=y
> +CONFIG_LOG_BUF_SHIFT=12
> +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=10
> +CONFIG_BLK_DEV_INITRD=y
> +CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio"
> +# CONFIG_RD_GZIP is not set
> +# CONFIG_RD_BZIP2 is not set
> +# CONFIG_RD_LZMA is not set
> +# CONFIG_RD_XZ is not set
> +# CONFIG_RD_LZO is not set
> +# CONFIG_RD_LZ4 is not set
> +# CONFIG_RD_ZSTD is not set
> +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> +# CONFIG_MULTIUSER is not set
> +# CONFIG_SYSFS_SYSCALL is not set
> +# CONFIG_FHANDLE is not set
> +CONFIG_POSIX_TIMERS=y
> +CONFIG_BUG=y
> +# CONFIG_BASE_FULL is not set
> +# CONFIG_FUTEX is not set
> +# CONFIG_EPOLL is not set
> +# CONFIG_SIGNALFD is not set
> +# CONFIG_TIMERFD is not set
> +# CONFIG_EVENTFD is not set
> +# CONFIG_AIO is not set
> +# CONFIG_IO_URING is not set
> +# CONFIG_ADVISE_SYSCALLS is not set
> +# CONFIG_MEMBARRIER is not set
> +# CONFIG_KALLSYMS is not set
> +CONFIG_KCMP=y
> +# CONFIG_RSEQ is not set
> +CONFIG_EMBEDDED=y
> +# CONFIG_VM_EVENT_COUNTERS is not set
> +# CONFIG_COMPAT_BRK is not set
> +CONFIG_SLOB=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
> +# CONFIG_MMU is not set
> +CONFIG_ARCH_STM32=y
> +# CONFIG_MACH_STM32F469 is not set
> +# CONFIG_MACH_STM32F746 is not set
> +# CONFIG_MACH_STM32F769 is not set
> +# CONFIG_MACH_STM32H743 is not set
> +CONFIG_CPU_V7M_NUM_IRQ=240
> +# CONFIG_ARM_DMA_MEM_BUFFERABLE is not set
> +CONFIG_SET_MEM_PARAM=y
> +CONFIG_DRAM_BASE=0x90000000
> +CONFIG_DRAM_SIZE=0x00800000
> +CONFIG_HZ_1000=y
> +# CONFIG_ATAGS is not set
> +CONFIG_XIP_KERNEL=y
> +CONFIG_XIP_PHYS_ADDR=0x0800C000
> +CONFIG_XIP_DEFLATED_DATA=y
> +# CONFIG_SUSPEND is not set
> +# CONFIG_STACKPROTECTOR is not set
> +# CONFIG_COMPAT_32BIT_TIME is not set
> +# CONFIG_GCC_PLUGINS is not set
> +# CONFIG_BLOCK is not set
> +CONFIG_BINFMT_FLAT=y
> +CONFIG_BINFMT_SHARED_FLAT=y
> +# CONFIG_COREDUMP is not set
> +CONFIG_DEVTMPFS=y
> +CONFIG_DEVTMPFS_MOUNT=y
> +# CONFIG_STANDALONE is not set
> +# CONFIG_PREVENT_FIRMWARE_BUILD is not set
> +# CONFIG_FW_LOADER is not set
> +# CONFIG_ALLOW_DEV_COREDUMP is not set
> +CONFIG_EEPROM_93CX6=y
> +# CONFIG_INPUT is not set
> +# CONFIG_VT is not set
> +# CONFIG_UNIX98_PTYS is not set
> +# CONFIG_LEGACY_PTYS is not set
> +# CONFIG_LDISC_AUTOLOAD is not set
> +CONFIG_SERIAL_STM32=y
> +CONFIG_SERIAL_STM32_CONSOLE=y
> +# CONFIG_DEVMEM is not set
> +# CONFIG_HWMON is not set
> +CONFIG_WATCHDOG=y
> +CONFIG_MFD_STM32_TIMERS=y
> +# CONFIG_USB_SUPPORT is not set
> +CONFIG_NEW_LEDS=y
> +CONFIG_LEDS_CLASS=y
> +CONFIG_LEDS_GPIO=y
> +CONFIG_LEDS_TRIGGERS=y
> +CONFIG_LEDS_TRIGGER_HEARTBEAT=y
> +CONFIG_RTC_CLASS=y
> +CONFIG_RTC_DRV_STM32=y
> +CONFIG_DMADEVICES=y
> +CONFIG_STM32_DMA=y
> +CONFIG_STM32_DMAMUX=y
> +CONFIG_STM32_MDMA=y
> +CONFIG_SYNC_FILE=y
> +# CONFIG_VIRTIO_MENU is not set
> +# CONFIG_VHOST_MENU is not set
> +CONFIG_IIO=y
> +CONFIG_IIO_BUFFER=y
> +CONFIG_IIO_TRIGGERED_BUFFER=y
> +CONFIG_IIO_STM32_TIMER_TRIGGER=y
> +# CONFIG_FILE_LOCKING is not set
> +# CONFIG_DNOTIFY is not set
> +# CONFIG_INOTIFY_USER is not set
> +# CONFIG_PROC_SYSCTL is not set
> +CONFIG_CONFIGFS_FS=y
> +# CONFIG_MISC_FILESYSTEMS is not set
> +CONFIG_NLS=y
> +CONFIG_PRINTK_TIME=y
> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=15
> +CONFIG_CONSOLE_LOGLEVEL_QUIET=15
> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
> +# CONFIG_SYMBOLIC_ERRNAME is not set
> +CONFIG_DEBUG_INFO=y
> +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
> +CONFIG_DEBUG_FS=y
> +# CONFIG_DEBUG_MISC is not set
> +# CONFIG_SCHED_DEBUG is not set
> +# CONFIG_RCU_TRACE is not set
> +# CONFIG_RUNTIME_TESTING_MENU is not set
> diff --git a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch b/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
> deleted file mode 100644
> index d6d5c61aae..0000000000
> --- a/board/stmicroelectronics/stm32f429-disco/patches/linux/0001-ARM-stm32f249-disco-don-t-force-init-in-chosen-boota.patch
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -From ded9afa688184b3240a92c2b8f114c545a09bc3f Mon Sep 17 00:00:00 2001
> -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -Date: Sat, 12 Mar 2016 23:14:41 +0100
> -Subject: [PATCH] ARM: stm32f249-disco: don't force init= in /chosen/bootargs
> -
> -There is no reason to override the kernel's default init= value, as
> -this breaks userspace that assumes the kernel default of /init is
> -used. Since stm32 is often used with a minimal bootloader
> -(afboot-stm32) that doesn't provide any mechanism to override the DTB,
> -we need to adjust the kernel command line in the Device Tree source.
> -
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ----
> - arch/arm/boot/dts/stm32f429-disco.dts | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/arch/arm/boot/dts/stm32f429-disco.dts b/arch/arm/boot/dts/stm32f429-disco.dts
> -index f0b731d..2bae81c 100644
> ---- a/arch/arm/boot/dts/stm32f429-disco.dts
> -+++ b/arch/arm/boot/dts/stm32f429-disco.dts
> -@@ -53,7 +53,7 @@
> - 	compatible = "st,stm32f429i-disco", "st,stm32f429";
> -
> - 	chosen {
> --		bootargs = "root=/dev/ram rdinit=/linuxrc";
> -+		bootargs = "root=/dev/ram";
> - 		stdout-path = "serial0:115200n8";
> - 	};
> -
> ---
> -2.6.4
> -
> diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_defconfig
> index 4007eb20a5..01b54c02cc 100644
> --- a/configs/stm32f429_disco_defconfig
> +++ b/configs/stm32f429_disco_defconfig
> @@ -1,12 +1,14 @@
>   BR2_arm=y
>   BR2_cortex_m4=y
> -BR2_GLOBAL_PATCH_DIR="board/stmicroelectronics/stm32f429-disco/patches"
> -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y
> +BR2_KERNEL_HEADERS_5_15=y
> +# BR2_UCLIBC_INSTALL_UTILS is not set
> +BR2_GCC_ENABLE_LTO=y
>   BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh"
>   BR2_LINUX_KERNEL=y
>   BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11"
> -BR2_LINUX_KERNEL_DEFCONFIG="stm32"
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15"
> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f429-disco/linux.config"
>   BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
>   BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage"
>   BR2_LINUX_KERNEL_DTS_SUPPORT=y
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [RESEND PATCH v2, 4/4] configs/stm32f4{2|6}9_*_defconfig: rename configurations
  2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 4/4] configs/stm32f4{2|6}9_*_defconfig: rename configurations Dario Binacchi via buildroot
  2021-12-14  8:29   ` Christophe Priouzeau
@ 2021-12-17 21:51   ` Arnout Vandecappelle
  1 sibling, 0 replies; 13+ messages in thread
From: Arnout Vandecappelle @ 2021-12-17 21:51 UTC (permalink / raw)
  To: Dario Binacchi, buildroot; +Cc: Christophe Priouzeau, Lee Jones



On 12/12/2021 13:37, Dario Binacchi wrote:
> The name of the configurations are now more explicit. As a result, the
> readme files have also been changed.
> 
> Signed-off-by: Dario Binacchi <dariobin@libero.it>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   .../stm32f469-disco/{flash.sh => flash_sd.sh}                 | 0
>   .../stm32f469-disco/{linux.fragment => linux-sd.fragment}     | 0
>   board/stmicroelectronics/stm32f469-disco/readme.txt           | 4 ++--
>   board/stmicroelectronics/stm32f469-disco/readme_xip.txt       | 2 +-
>   ...tm32f429_disco_defconfig => stm32f429_disco_xip_defconfig} | 0
>   ...stm32f469_disco_defconfig => stm32f469_disco_sd_defconfig} | 2 +-
>   6 files changed, 4 insertions(+), 4 deletions(-)
>   rename board/stmicroelectronics/stm32f469-disco/{flash.sh => flash_sd.sh} (100%)
>   rename board/stmicroelectronics/stm32f469-disco/{linux.fragment => linux-sd.fragment} (100%)
>   rename configs/{stm32f429_disco_defconfig => stm32f429_disco_xip_defconfig} (100%)
>   rename configs/{stm32f469_disco_defconfig => stm32f469_disco_sd_defconfig} (97%)
> 
> diff --git a/board/stmicroelectronics/stm32f469-disco/flash.sh b/board/stmicroelectronics/stm32f469-disco/flash_sd.sh
> similarity index 100%
> rename from board/stmicroelectronics/stm32f469-disco/flash.sh
> rename to board/stmicroelectronics/stm32f469-disco/flash_sd.sh
> diff --git a/board/stmicroelectronics/stm32f469-disco/linux.fragment b/board/stmicroelectronics/stm32f469-disco/linux-sd.fragment
> similarity index 100%
> rename from board/stmicroelectronics/stm32f469-disco/linux.fragment
> rename to board/stmicroelectronics/stm32f469-disco/linux-sd.fragment
> diff --git a/board/stmicroelectronics/stm32f469-disco/readme.txt b/board/stmicroelectronics/stm32f469-disco/readme.txt
> index 4d178b40d6..99d26ccb66 100644
> --- a/board/stmicroelectronics/stm32f469-disco/readme.txt
> +++ b/board/stmicroelectronics/stm32f469-disco/readme.txt
> @@ -7,13 +7,13 @@ configuration for the STM32F469 Discovery evaluation platform.
>   Building
>   --------
>   
> -  make stm32f469_disco_defconfig
> +  make stm32f469_disco_sd_defconfig
>     make
>   
>   Flashing
>   --------
>   
> -  ./board/stmicroelectronics/stm32f469-disco/flash.sh output/
> +  ./board/stmicroelectronics/stm32f469-disco/flash_sd.sh output/
>   
>   It will flash the U-boot bootloader.
>   
> diff --git a/board/stmicroelectronics/stm32f469-disco/readme_xip.txt b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
> index 632d221ba1..7c20c2d015 100644
> --- a/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
> +++ b/board/stmicroelectronics/stm32f469-disco/readme_xip.txt
> @@ -19,6 +19,6 @@ Building
>   Flashing
>   --------
>   
> -  ./board/stmicroelectronics/stm32f469-disco/flash.sh output/
> +  ./board/stmicroelectronics/stm32f469-disco/flash_xip.sh output/
>   
>   It will flash binary to internal flash memory.
> diff --git a/configs/stm32f429_disco_defconfig b/configs/stm32f429_disco_xip_defconfig
> similarity index 100%
> rename from configs/stm32f429_disco_defconfig
> rename to configs/stm32f429_disco_xip_defconfig
> diff --git a/configs/stm32f469_disco_defconfig b/configs/stm32f469_disco_sd_defconfig
> similarity index 97%
> rename from configs/stm32f469_disco_defconfig
> rename to configs/stm32f469_disco_sd_defconfig
> index 438d32150c..5ad4068e5e 100644
> --- a/configs/stm32f469_disco_defconfig
> +++ b/configs/stm32f469_disco_sd_defconfig
> @@ -8,7 +8,7 @@ BR2_LINUX_KERNEL=y
>   BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>   BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.12"
>   BR2_LINUX_KERNEL_DEFCONFIG="stm32"
> -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config board/stmicroelectronics/stm32f469-disco/linux.fragment"
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0x00000000.config board/stmicroelectronics/stm32f469-disco/linux-sd.fragment"
>   BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
>   BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage"
>   BR2_LINUX_KERNEL_DTS_SUPPORT=y
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2021-12-17 21:51 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-12 12:37 [Buildroot] [RESEND PATCH v2, 0/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 1/4] configs/stm32f469_xip_disco: " Dario Binacchi via buildroot
2021-12-14  8:28   ` Christophe Priouzeau
2021-12-17 21:35   ` Arnout Vandecappelle
2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 2/4] boot/afboot-stm32: upgrade version Dario Binacchi via buildroot
2021-12-14  8:28   ` Christophe Priouzeau
2021-12-17 21:38   ` Arnout Vandecappelle
2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 3/4] configs/stm32f429_disco: fix kernel bootup Dario Binacchi via buildroot
2021-12-14  8:29   ` Christophe Priouzeau
2021-12-17 21:51   ` Arnout Vandecappelle
2021-12-12 12:37 ` [Buildroot] [RESEND PATCH v2, 4/4] configs/stm32f4{2|6}9_*_defconfig: rename configurations Dario Binacchi via buildroot
2021-12-14  8:29   ` Christophe Priouzeau
2021-12-17 21:51   ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.