mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
954bd1a923
Add a specific command stm32prog for STM32MP soc family witch allows to program the boot devices with the tool STM32CubeProgrammer (http://www.st.com/STM32CubeProg). This command uses the same UART STM32 protocol than MCU STM32 with or USB with DFU protocol v1.1 (ithe MCU ST extension are no supported). The executed actions are based on a tab separated value file with a stm32 header, the FlashLayout file (https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_flashlayout). This file is parsed by the U-Boot command to: - initialize the devices - create the partition table on each device - initialize the DFU backend to access to not volatile memory (NOR/NAND/SD/eMMC) or to virtual device (OTP/PMIC) Up to STM32PROG_MAX_DEV (5) devices can be updated with a FlashLayout. The communication between U-Boot and STM32CubeProgrammer is done with the specific alternate configuration (see "AN5275: USB DFU/USART protocols used in STM32MP1 Series bootloaders" for details). The command stm32prog is executed when a boot from USB is detected (selected with bootpins) and we can program the boot devices with a simple command (on Windows or Linux): PC $> STM32_Programmer_CLI -c port=usb1 -w flaslayout.tsv 1/ the ROM code loads TF-A in embedded RAM (DFU or uart) 2/ TF-A loads flashlayout file and U-Boot in DDR (DFU or uart) 3/ U-Boot executes the stm32prog command (DFU or uart) Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
146 lines
3.8 KiB
Text
146 lines
3.8 KiB
Text
CONFIG_ARM=y
|
|
CONFIG_ARCH_STM32MP=y
|
|
CONFIG_SYS_MALLOC_F_LEN=0x3000
|
|
CONFIG_ENV_OFFSET=0x280000
|
|
CONFIG_ENV_SECT_SIZE=0x40000
|
|
CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
|
|
CONFIG_SPL_MMC_SUPPORT=y
|
|
CONFIG_SPL=y
|
|
CONFIG_TARGET_ST_STM32MP15x=y
|
|
CONFIG_CMD_STM32PROG=y
|
|
CONFIG_ENV_OFFSET_REDUND=0x2C0000
|
|
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
|
CONFIG_SPL_SPI_SUPPORT=y
|
|
# CONFIG_ARMV7_VIRT is not set
|
|
CONFIG_SPL_TEXT_BASE=0x2FFC2500
|
|
CONFIG_DISTRO_DEFAULTS=y
|
|
CONFIG_FIT=y
|
|
CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
|
|
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
|
|
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=3
|
|
CONFIG_SPL_I2C_SUPPORT=y
|
|
CONFIG_SPL_MTD_SUPPORT=y
|
|
CONFIG_SPL_POWER_SUPPORT=y
|
|
CONFIG_SYS_PROMPT="STM32MP> "
|
|
# CONFIG_CMD_ELF is not set
|
|
# CONFIG_CMD_EXPORTENV is not set
|
|
# CONFIG_CMD_IMPORTENV is not set
|
|
CONFIG_CMD_MEMINFO=y
|
|
CONFIG_CMD_MEMTEST=y
|
|
CONFIG_SYS_MEMTEST_START=0xc0000000
|
|
CONFIG_SYS_MEMTEST_END=0xc4000000
|
|
CONFIG_CMD_ADC=y
|
|
CONFIG_CMD_CLK=y
|
|
CONFIG_CMD_DFU=y
|
|
CONFIG_CMD_FUSE=y
|
|
CONFIG_CMD_GPIO=y
|
|
CONFIG_CMD_GPT=y
|
|
CONFIG_CMD_I2C=y
|
|
CONFIG_CMD_MMC=y
|
|
CONFIG_CMD_MTD=y
|
|
CONFIG_CMD_REMOTEPROC=y
|
|
CONFIG_CMD_SPI=y
|
|
CONFIG_CMD_USB=y
|
|
CONFIG_CMD_USB_MASS_STORAGE=y
|
|
CONFIG_CMD_BMP=y
|
|
CONFIG_CMD_CACHE=y
|
|
CONFIG_CMD_TIME=y
|
|
CONFIG_CMD_TIMER=y
|
|
CONFIG_CMD_PMIC=y
|
|
CONFIG_CMD_REGULATOR=y
|
|
CONFIG_CMD_EXT4_WRITE=y
|
|
CONFIG_CMD_MTDPARTS=y
|
|
CONFIG_CMD_UBI=y
|
|
# CONFIG_SPL_DOS_PARTITION is not set
|
|
CONFIG_DEFAULT_DEVICE_TREE="stm32mp157c-ev1"
|
|
CONFIG_OF_SPL_REMOVE_PROPS="interrupts interrupt-names interrupts-extended interrupt-controller \\\#interrupt-cells interrupt-parent dmas dma-names assigned-clocks assigned-clock-rates assigned-clock-parents hwlocks"
|
|
CONFIG_ENV_IS_NOWHERE=y
|
|
CONFIG_ENV_IS_IN_EXT4=y
|
|
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
|
CONFIG_ENV_IS_IN_UBI=y
|
|
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
|
CONFIG_ENV_EXT4_INTERFACE="mmc"
|
|
CONFIG_ENV_EXT4_DEVICE_AND_PART="0:auto"
|
|
CONFIG_ENV_EXT4_FILE="/uboot.env"
|
|
CONFIG_ENV_UBI_PART="UBI"
|
|
CONFIG_ENV_UBI_VOLUME="uboot_config"
|
|
CONFIG_ENV_UBI_VOLUME_REDUND="uboot_config_r"
|
|
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
CONFIG_STM32_ADC=y
|
|
CONFIG_DFU_MMC=y
|
|
CONFIG_DFU_MTD=y
|
|
CONFIG_SET_DFU_ALT_INFO=y
|
|
CONFIG_USB_FUNCTION_FASTBOOT=y
|
|
CONFIG_FASTBOOT_BUF_ADDR=0xC0000000
|
|
CONFIG_FASTBOOT_BUF_SIZE=0x02000000
|
|
CONFIG_FASTBOOT_USB_DEV=1
|
|
CONFIG_FASTBOOT_FLASH=y
|
|
CONFIG_FASTBOOT_FLASH_MMC_DEV=1
|
|
CONFIG_DM_HWSPINLOCK=y
|
|
CONFIG_HWSPINLOCK_STM32=y
|
|
CONFIG_DM_I2C=y
|
|
CONFIG_SYS_I2C_STM32F7=y
|
|
CONFIG_LED=y
|
|
CONFIG_LED_GPIO=y
|
|
CONFIG_DM_MAILBOX=y
|
|
CONFIG_STM32_IPCC=y
|
|
CONFIG_DM_MMC=y
|
|
CONFIG_SUPPORT_EMMC_BOOT=y
|
|
CONFIG_STM32_SDMMC2=y
|
|
CONFIG_MTD=y
|
|
CONFIG_DM_MTD=y
|
|
CONFIG_SYS_MTDPARTS_RUNTIME=y
|
|
CONFIG_MTD_RAW_NAND=y
|
|
CONFIG_NAND_STM32_FMC2=y
|
|
CONFIG_MTD_SPI_NAND=y
|
|
CONFIG_DM_SPI_FLASH=y
|
|
CONFIG_SPI_FLASH_MACRONIX=y
|
|
CONFIG_SPI_FLASH_SPANSION=y
|
|
CONFIG_SPI_FLASH_STMICRO=y
|
|
CONFIG_SPI_FLASH_WINBOND=y
|
|
# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
|
|
CONFIG_SPI_FLASH_MTD=y
|
|
CONFIG_SPL_SPI_FLASH_MTD=y
|
|
CONFIG_DM_ETH=y
|
|
CONFIG_DWC_ETH_QOS=y
|
|
CONFIG_PHY=y
|
|
CONFIG_PHY_STM32_USBPHYC=y
|
|
CONFIG_PINCONF=y
|
|
# CONFIG_SPL_PINCTRL_FULL is not set
|
|
CONFIG_PINCTRL_STMFX=y
|
|
CONFIG_DM_PMIC=y
|
|
# CONFIG_SPL_PMIC_CHILDREN is not set
|
|
CONFIG_PMIC_STPMIC1=y
|
|
CONFIG_DM_REGULATOR_FIXED=y
|
|
CONFIG_DM_REGULATOR_GPIO=y
|
|
CONFIG_DM_REGULATOR_STM32_VREFBUF=y
|
|
CONFIG_DM_REGULATOR_STPMIC1=y
|
|
CONFIG_REMOTEPROC_STM32_COPRO=y
|
|
CONFIG_DM_RNG=y
|
|
CONFIG_RNG_STM32MP1=y
|
|
CONFIG_DM_RTC=y
|
|
CONFIG_RTC_STM32=y
|
|
CONFIG_SERIAL_RX_BUFFER=y
|
|
CONFIG_SPI=y
|
|
CONFIG_DM_SPI=y
|
|
CONFIG_STM32_QSPI=y
|
|
CONFIG_STM32_SPI=y
|
|
CONFIG_USB=y
|
|
CONFIG_DM_USB=y
|
|
CONFIG_DM_USB_GADGET=y
|
|
CONFIG_USB_EHCI_HCD=y
|
|
CONFIG_USB_EHCI_GENERIC=y
|
|
CONFIG_USB_GADGET=y
|
|
CONFIG_USB_GADGET_MANUFACTURER="STMicroelectronics"
|
|
CONFIG_USB_GADGET_VENDOR_NUM=0x0483
|
|
CONFIG_USB_GADGET_PRODUCT_NUM=0x5720
|
|
CONFIG_USB_GADGET_DWC2_OTG=y
|
|
CONFIG_DM_VIDEO=y
|
|
CONFIG_BACKLIGHT_GPIO=y
|
|
CONFIG_VIDEO_LCD_ORISETECH_OTM8009A=y
|
|
CONFIG_VIDEO_LCD_RAYDIUM_RM68200=y
|
|
CONFIG_VIDEO_STM32=y
|
|
CONFIG_VIDEO_STM32_DSI=y
|
|
CONFIG_VIDEO_STM32_MAX_XRES=1280
|
|
CONFIG_VIDEO_STM32_MAX_YRES=800
|
|
CONFIG_FDT_FIXUP_PARTITIONS=y
|