initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,4 @@
label stm32f469-disco-buildroot
kernel /zImage
devicetree /stm32f469-disco.dtb
append console=ttySTM0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext2 rootwait earlyprintk consoleblank=0 ignore_loglevel
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash
OUTPUT_DIR=$1
if ! test -d "${OUTPUT_DIR}" ; then
echo "ERROR: no output directory specified."
echo "Usage: $0 OUTPUT_DIR"
exit 1
fi
${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \
-c "init" \
-c "reset init" \
-c "flash probe 0" \
-c "flash info 0" \
-c "flash write_image erase ${OUTPUT_DIR}/images/u-boot.bin 0x08000000" \
-c "reset run" \
-c "shutdown"
@@ -0,0 +1,20 @@
#!/bin/bash
OUTPUT_DIR=$1
if ! test -d "${OUTPUT_DIR}"; then
echo "ERROR: no output directory specified."
echo "Usage: $0 OUTPUT_DIR"
exit 1
fi
${OUTPUT_DIR}/host/bin/openocd -f board/stm32f469discovery.cfg \
-c "init" \
-c "reset init" \
-c "flash probe 0" \
-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 "reset run" \
-c "shutdown"
@@ -0,0 +1,27 @@
image boot.vfat {
vfat {
files = {
"zImage",
"stm32f469-disco.dtb",
"extlinux"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition u-boot {
partition-type = 0xC
image = "boot.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
size = 32M
}
}
@@ -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 is not set
# CONFIG_BUG is not set
# 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_STM32F429 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=0xc0000000
CONFIG_DRAM_SIZE=0x01000000
CONFIG_HZ_1000=y
# CONFIG_ATAGS is not set
CONFIG_XIP_KERNEL=y
CONFIG_XIP_PHYS_ADDR=0x08010000
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
@@ -0,0 +1,7 @@
# CONFIG_XIP_KERNEL is not set
CONFIG_DRM=y
CONFIG_DRM_STM=y
CONFIG_DRM_STM_DSI=y
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y
CONFIG_FB=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
@@ -0,0 +1,56 @@
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
@@ -0,0 +1,38 @@
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
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
@@ -0,0 +1,45 @@
STM32F469 Discovery
===================
This tutorial describes how to use the predefined Buildroot
configuration for the STM32F469 Discovery evaluation platform.
Building
--------
make stm32f469_disco_defconfig
make
Flashing
--------
./board/stmicroelectronics/stm32f469-disco/flash.sh output/
It will flash the U-boot bootloader.
Creating SD card
----------------
Buildroot prepares an"sdcard.img" image in the output/images/ directory,
ready to be dumped on a SD card. Launch the following command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout and its content, see the
definition in board/stmicroelectronics/stm32f469-disco/genimage.cfg.
Framebuffer
-----------
After Linux boots, /dev/fb0 will be accessible. You can control the
brightness of the display after enabling the framebuffer by running the
following commands:
# echo 0 0 > /sys/class/graphics/fb0/pan
# echo 255 >/sys/class/backlight/40016c00.dsi.0/brightness
The brightness ranges from 0 to 255, as you can see running the
command:
# cat /sys/class/backlight/40016c00.dsi.0/max_brightness
@@ -0,0 +1,24 @@
STM32F469 Discovery
===================
This tutorial describes how to use the predefined Buildroot
configuration for the STM32F469 Discovery evaluation platform.
Internal flash memory stores simple afboot-stm32 bootloader, device tree and
in place (XIP) kernel with built-in initramfs. No external flash or SD card
is needed.
Kernel is based on tinyconfig.
Building
--------
make stm32f469_disco_xip_defconfig
make
Flashing
--------
./board/stmicroelectronics/stm32f469-disco/flash.sh output/
It will flash binary to internal flash memory.