From ba48db8275730fbc512c0872ae426970a09b5619 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 22 Sep 2022 14:03:07 +0200 Subject: add support for STM32F746G-DISCO device Tested with toolbox / simpleinit as userland. FDPIC/FLAT support both successfully tested. No LCD or Ethernet support. --- target/arm/Makefile | 7 +++++-- target/arm/kernel/st-stm32f746g | 31 +++++++++++++++++++++++++++++++ target/arm/st-stm32f746g/extlinux.conf | 4 ++++ target/arm/st-stm32f746g/genimage.cfg | 27 +++++++++++++++++++++++++++ target/arm/systems/st-stm32f746g | 17 +++++++++++++++++ 5 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 target/arm/kernel/st-stm32f746g create mode 100644 target/arm/st-stm32f746g/extlinux.conf create mode 100644 target/arm/st-stm32f746g/genimage.cfg create mode 100644 target/arm/systems/st-stm32f746g (limited to 'target/arm') diff --git a/target/arm/Makefile b/target/arm/Makefile index d92e10d6a..4f7ffc009 100644 --- a/target/arm/Makefile +++ b/target/arm/Makefile @@ -148,9 +148,9 @@ endif endif ifeq ($(ADK_TARGET_FS),genimage) targethelp: - @echo "The disk image is: $(FW_DIR)/disk.img" + @echo "The disk image is: $(FW_DIR)/sdcard.img" @echo "Use following command to install it on SD card:" - @echo 'sudo dd if=$(FW_DIR)/disk.img of=/dev/sdX bs=2048k' + @echo 'sudo dd if=$(FW_DIR)/sdcard.img of=/dev/sdX bs=2048k' endif kernel-strip: @@ -219,6 +219,9 @@ ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F429),y) endif ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F769),y) ${KERNEL_MAKE} dtbs $(MAKE_TRACE) +endif +ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F746G),y) + ${KERNEL_MAKE} dtbs $(MAKE_TRACE) endif for x in $(LINUX_DIR)/arch/arm/boot/dts/*.dtb; do \ [[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/*.dtb $(FW_DIR); \ diff --git a/target/arm/kernel/st-stm32f746g b/target/arm/kernel/st-stm32f746g new file mode 100644 index 000000000..0459ccf8b --- /dev/null +++ b/target/arm/kernel/st-stm32f746g @@ -0,0 +1,31 @@ +CONFIG_ARM_SINGLE_ARMV7M=y +CONFIG_ARCH_STM32=y +CONFIG_MACH_STM32F746=y +CONFIG_SET_MEM_PARAM=y +CONFIG_DRAM_BASE=0xC0000000 +CONFIG_DRAM_SIZE=0x01000000 +CONFIG_FLASH_MEM_BASE=0x08000000 +CONFIG_FLASH_SIZE=0x00200000 +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_STM32=y +CONFIG_SERIAL_STM32_CONSOLE=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_STM32F4=y +CONFIG_I2C_STM32F7=y +CONFIG_GPIO_STMPE=y +CONFIG_MFD_STMPE=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_STM32_SDMMC=y +CONFIG_DMADEVICES=y +CONFIG_STM32_DMA=y +CONFIG_STM32_DMAMUX=y +CONFIG_STM32_MDMA=y +#CONFIG_NET_VENDOR_STMICRO=y +#CONFIG_STMMAC_ETH=y +#CONFIG_STMMAC_PLATFORM=y +#CONFIG_DWMAC_STM32=y diff --git a/target/arm/st-stm32f746g/extlinux.conf b/target/arm/st-stm32f746g/extlinux.conf new file mode 100644 index 000000000..9a6728417 --- /dev/null +++ b/target/arm/st-stm32f746g/extlinux.conf @@ -0,0 +1,4 @@ +label stm32f746g-disco-openadk + kernel /kernel + devicetree /stm32f746-disco.dtb + append console=ttySTM0,115200 root=/dev/mmcblk0p2 rw rootwait consoleblank=0 diff --git a/target/arm/st-stm32f746g/genimage.cfg b/target/arm/st-stm32f746g/genimage.cfg new file mode 100644 index 000000000..79e9e89f0 --- /dev/null +++ b/target/arm/st-stm32f746g/genimage.cfg @@ -0,0 +1,27 @@ +image boot.vfat { + vfat { + files = { + "kernel", + "stm32f746-disco.dtb", + "extlinux" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext" + size = 32M + } +} diff --git a/target/arm/systems/st-stm32f746g b/target/arm/systems/st-stm32f746g new file mode 100644 index 000000000..8bb4be52f --- /dev/null +++ b/target/arm/systems/st-stm32f746g @@ -0,0 +1,17 @@ +config ADK_TARGET_SYSTEM_ST_STM32F746G + bool "STMicroelectronics STM32F746G Disco" + depends on ADK_TARGET_OS_LINUX + select ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_CPU_ARM_CORTEX_M7 + select ADK_TARGET_ARCH_ARM_WITH_THUMB + select ADK_TARGET_WITH_SERIAL + select ADK_TARGET_WITH_VGA + select ADK_TARGET_WITH_NET + select ADK_TARGET_WITH_NETDEVICE + select ADK_TARGET_UCLINUX + select ADK_TARGET_KERNEL_WITH_COMPRESSION + select ADK_TARGET_KERNEL_ZIMAGE + select ADK_HOST_BUILD_OPENOCD + help + STMicroelectronics STM32F746G Disco + -- cgit v1.2.3