From 4b4e1264f547c61409af5ba82eaef09b81b313e1 Mon Sep 17 00:00:00 2001 From: Laowang-BearPi Date: Wed, 30 Mar 2022 18:46:02 +0800 Subject: [PATCH] add stm32mp157 development board Signed-off-by: Laowang-BearPi --- BUILD.gn | 4 ++++ drivers/char/random/Kconfig | 2 +- fs/rootfs/Kconfig | 4 ++-- fs/rootfs/los_rootfs.h | 12 ++++++++++++ platform/Kconfig | 13 +++++++++++-- 5 files changed, 30 insertions(+), 5 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 9cd2131e..f003c6dd 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -382,6 +382,10 @@ build_ext_component("build_kernel_image") { command += " && sh -c '$objdump -t $liteos_name | sort >$liteos_name.sym.sorted'" command += " && sh -c '$objdump -d $liteos_name >$liteos_name.asm'" + + if (defined(LOSCFG_PLATFORM_STM32MP157)) { + command += " && sh -c 'mkimage -A arm -O linux -T kernel -C none -a 0xC0100000 -e 0xC0100000 -n liteos-a -d $liteos_name.bin $liteos_name.stm32' " + } } build_ext_component("make") { diff --git a/drivers/char/random/Kconfig b/drivers/char/random/Kconfig index 5b75e0e5..c8b800dd 100644 --- a/drivers/char/random/Kconfig +++ b/drivers/char/random/Kconfig @@ -5,7 +5,7 @@ config DRIVERS_RANDOM help Answer Y to support random. config HW_RANDOM_ENABLE - depends on DRIVERS_RANDOM && (PLATFORM_HI3518EV300 || PLATFORM_HI3516CV300 || PLATFORM_HI3516DV300 || PLATFORM_HI3556V200 || PLATFORM_QEMU_ARM_VIRT_CA7) + depends on DRIVERS_RANDOM && (PLATFORM_HI3518EV300 || PLATFORM_HI3516CV300 || PLATFORM_HI3516DV300 || PLATFORM_HI3556V200 || PLATFORM_QEMU_ARM_VIRT_CA7 || PLATFORM_STM32MP157) bool "Select hw random" default y help diff --git a/fs/rootfs/Kconfig b/fs/rootfs/Kconfig index 2866817a..d53ae2db 100644 --- a/fs/rootfs/Kconfig +++ b/fs/rootfs/Kconfig @@ -29,10 +29,10 @@ endchoice config BOOTENV_ADDR int "Address of boot command line (KB)" depends on PLATFORM_ROOTFS && (STORAGE_SPINOR || STORAGE_SPINAND || STORAGE_EMMC) - range 0 1024 + range 0 3072 default 512 help - Boot command line addr, range from 0 to 1MB. + Boot command line addr, range from 0 to 3MB. config BOOTENV_RAM bool "Read bootenv from RAM" diff --git a/fs/rootfs/los_rootfs.h b/fs/rootfs/los_rootfs.h index f56ee340..12a3e4d1 100644 --- a/fs/rootfs/los_rootfs.h +++ b/fs/rootfs/los_rootfs.h @@ -66,6 +66,17 @@ #define ROOTFS_SIZE 0x1B00000 #define USERFS_SIZE (CFIFLASH_CAPACITY - ROOTFS_ADDR - ROOTFS_SIZE) #elif defined (LOSCFG_STORAGE_EMMC) +#if defined(LOSCFG_PLATFORM_STM32MP157) +#define ROOT_DEV_NAME "/dev/mmcblk1p0" +#ifdef LOSCFG_PLATFORM_PATCHFS +#define PATCH_DEV_NAME "/dev/mmcblk0p1" +#define USER_DEV_NAME "/dev/mmcblk0p2" +#define USERDATA_DEV_NAME "/dev/mmcblk0p3" +#else +#define USER_DEV_NAME "/dev/mmcblk1p1" +#define USERDATA_DEV_NAME "/dev/mmcblk1p2" +#endif +#else #define ROOT_DEV_NAME "/dev/mmcblk0p0" #ifdef LOSCFG_PLATFORM_PATCHFS #define PATCH_DEV_NAME "/dev/mmcblk0p1" @@ -75,6 +86,7 @@ #define USER_DEV_NAME "/dev/mmcblk0p1" #define USERDATA_DEV_NAME "/dev/mmcblk0p2" #endif +#endif #define ROOTFS_ADDR 0xA00000 #define ROOTFS_SIZE 0x1400000 #define USERFS_SIZE 0x3200000 diff --git a/platform/Kconfig b/platform/Kconfig index 39357095..4cb1b186 100644 --- a/platform/Kconfig +++ b/platform/Kconfig @@ -3,6 +3,7 @@ config PLATFORM default "hi3516dv300" if PLATFORM_HI3516DV300 default "hi3518ev300" if PLATFORM_HI3518EV300 default "virt" if PLATFORM_QEMU_ARM_VIRT_CA7 + default "stm32mp157" if PLATFORM_STM32MP157 config PRODUCT_NAME string "product name" @@ -11,12 +12,14 @@ config PRODUCT_NAME default "hispark_taurus" if PRODUCT_HISPARK_TAURUS default "hispark_aries" if PRODUCT_HISPARK_ARIES default "arm_virt" if PRODUCT_QEMU_ARM + default "stm32mp157_liteos" if PRODUCT_STM32MP157_LITEOS config DEVICE_COMPANY string "vendor name" default "hisilicon" if PLATFORM_HI3516DV300 default "hisilicon" if PLATFORM_HI3518EV300 default "qemu" if PLATFORM_QEMU_ARM_VIRT_CA7 + default "st" if PLATFORM_STM32MP157 choice prompt "Chip" @@ -27,6 +30,7 @@ choice - hi3518ev300 Qemu ARM Virt variants (based on different CPU types): - qemu_arm_virt_ca7 + - stm32mp157 config PLATFORM_HI3516DV300 bool "hi3516dv300" @@ -41,7 +45,9 @@ config PLATFORM_QEMU_ARM_VIRT_CA7 select ARCH_CORTEX_A7 help QEMU ARM Virtual Platform using Cortex-A7 CPU. - +config PLATFORM_STM32MP157 + bool "stm32mp157" + select ARCH_CORTEX_A7 endchoice choice @@ -61,6 +67,9 @@ config PRODUCT_HISPARK_ARIES config PRODUCT_QEMU_ARM bool "arm_virt" if PLATFORM_QEMU_ARM_VIRT_CA7 + +config PRODUCT_STM32MP157_LITEOS + bool "stm32mp157_liteos" if PLATFORM_STM32MP157 endchoice config BOARD_CONFIG_PATH @@ -70,7 +79,7 @@ config BOARD_CONFIG_PATH config TEE_ENABLE bool "Enable TEE" default n - depends on PLATFORM_HI3516DV300 + depends on PLATFORM_HI3516DV300 || PLATFORM_STM32MP157 help Enable teeos in platform -- GitLab