From: Tom Rini Date: Fri, 14 Feb 2025 19:17:47 +0000 (-0600) Subject: Merge patch series "Introduce K3 remoteproc driver for M4 subsystem" X-Git-Tag: v2025.07-rc1~18^2~102 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f19062d46d21bbeac6dc363c0e54502b64f89e4;p=pandora-u-boot.git Merge patch series "Introduce K3 remoteproc driver for M4 subsystem" Judith Mendez says: Some K3 devices like am62x and am64x have a M4 processor in the MCU voltage domain. This patch series introduces remoteproc M4 driver which will be used to load firmware into and start the M4 remote core. This series also adds support for R5F cores on am64x SoCs in patch 2 and sets up environment to load FW in remote cores in patch 3,4,5. This patch series also enables remoteproc drivers by default as per what remoteproc sybsystem is supported per SoC, thus all remoteproc options are now deleted in configs/* since they are no longer required. This patch series was tested on am64x EVM, am62x SK, am62ax SK, am62px SK boards. Any additional tested by's are welcome since I was not able to test any additional boards. Tested by running the following commands in u-boot prompt: => setenv dorprocboot 1 => run boot_rprocs Link: https://lore.kernel.org/r/20250210202944.1071931-1-jm@ti.com --- 3f19062d46d21bbeac6dc363c0e54502b64f89e4 diff --cc arch/arm/mach-k3/Kconfig index a3ac490f677,e7fff20df93..1f8cb8e3822 --- a/arch/arm/mach-k3/Kconfig +++ b/arch/arm/mach-k3/Kconfig @@@ -156,9 -156,30 +156,33 @@@ config K3_X509_SWR help SWRV for X509 certificate used for boot images +config NR_DRAM_BANKS + default 2 + + config K3_REMOTEPROC_R5F + bool "Enable K3 Remoteproc driver for R5F" + depends on ARM64 + imply REMOTEPROC_TI_K3_R5F + default y if (SOC_K3_AM62A7 || SOC_K3_AM654 || SOC_K3_J721E || SOC_K3_J784S4 || SOC_K3_J721S2 || SOC_K3_J722S || SOC_K3_AM62P5 || SOC_K3_AM642) + + config K3_REMOTEPROC_DSP + bool "Enable K3 Remoteproc driver for DSP" + depends on ARM64 + imply REMOTEPROC_TI_K3_DSP + default y if (SOC_K3_AM62A7 || SOC_K3_J721E || SOC_K3_J784S4 || SOC_K3_J721S2 || SOC_K3_J722S) + + config K3_REMOTEPROC_M4F + bool "Enable K3 Remoteproc driver for M4F" + depends on ARM64 + imply REMOTEPROC_TI_K3_M4F + default y if (SOC_K3_AM625 || SOC_K3_AM642) + + config K3_REMOTEPROC_PRU + bool "Enable K3 Remoteproc driver for PRU" + depends on ARM64 + imply REMOTEPROC_TI_PRU + default y if (SOC_K3_AM642 || SOC_K3_AM654) + if CPU_V7R source "arch/arm/mach-k3/r5/Kconfig" endif diff --cc configs/iot2050_defconfig index 2d5f18e5bd4,d158886e05b..72d4b8e3695 --- a/configs/iot2050_defconfig +++ b/configs/iot2050_defconfig @@@ -70,7 -71,7 +70,6 @@@ CONFIG_CMD_GPT= CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_PCI=y --CONFIG_CMD_REMOTEPROC=y CONFIG_CMD_USB=y CONFIG_CMD_WDT=y # CONFIG_CMD_SETEXPR is not set @@@ -131,7 -132,7 +130,6 @@@ CONFIG_SPL_PINCTRL= CONFIG_PINCTRL_SINGLE=y CONFIG_POWER_DOMAIN=y CONFIG_TI_SCI_POWER_DOMAIN=y --CONFIG_REMOTEPROC_TI_K3_R5F=y CONFIG_RESET_TI_SCI=y CONFIG_DM_SERIAL=y CONFIG_SOC_DEVICE=y diff --cc configs/j7200_evm_a72_defconfig index ac5b10ba149,77d9f71e139..4760f7509f5 --- a/configs/j7200_evm_a72_defconfig +++ b/configs/j7200_evm_a72_defconfig @@@ -67,8 -67,9 +67,7 @@@ CONFIG_SPL_YMODEM_SUPPORT= # CONFIG_CMD_FLASH is not set CONFIG_CMD_MTD=y CONFIG_CMD_PCI=y - CONFIG_CMD_REMOTEPROC=y CONFIG_CMD_UFS=y -CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_MTDIDS_DEFAULT="nor0=47040000.spi.0,nor0=47034000.hyperbus" CONFIG_MTDPARTS_DEFAULT="mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ospi.sysfw),-@8m(ospi.rootfs);47034000.hyperbus:512k(hbmc.tiboot3),2m(hbmc.tispl),4m(hbmc.u-boot),256k(hbmc.env),1m(hbmc.sysfw),-@8m(hbmc.rootfs)" diff --cc configs/j721s2_evm_a72_defconfig index ab943ebfab2,da33bce7e05..5e84abf8f21 --- a/configs/j721s2_evm_a72_defconfig +++ b/configs/j721s2_evm_a72_defconfig @@@ -62,10 -62,11 +62,9 @@@ CONFIG_SPL_SPI_LOAD= CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000 CONFIG_SPL_THERMAL=y CONFIG_SPL_YMODEM_SUPPORT=y -CONFIG_CMD_DFU=y # CONFIG_CMD_FLASH is not set CONFIG_CMD_MTD=y - CONFIG_CMD_REMOTEPROC=y CONFIG_CMD_UFS=y -CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_MTDIDS_DEFAULT="nor0=47040000.spi.0,nor0=47034000.hyperbus" CONFIG_MTDPARTS_DEFAULT="mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);47034000.hyperbus:512k(hbmc.tiboot3),2m(hbmc.tispl),4m(hbmc.u-boot),256k(hbmc.env),-@8m(hbmc.rootfs)" diff --cc configs/j722s_evm_a53_defconfig index 667d633c899,6aaf1dc9098..2062eca0bf9 --- a/configs/j722s_evm_a53_defconfig +++ b/configs/j722s_evm_a53_defconfig @@@ -54,8 -54,8 +54,7 @@@ CONFIG_SYS_SPI_U_BOOT_OFFS=0x28000 CONFIG_SPL_THERMAL=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_CMD_CLK=y -CONFIG_CMD_DFU=y CONFIG_CMD_MTD=y - CONFIG_CMD_REMOTEPROC=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_CMD_MTDPARTS=y CONFIG_CMD_UBI=y diff --cc configs/j784s4_evm_r5_defconfig index b991ffb73be,d7c10c4c789..a307055c5d0 --- a/configs/j784s4_evm_r5_defconfig +++ b/configs/j784s4_evm_r5_defconfig @@@ -124,11 -122,7 +123,10 @@@ CONFIG_SPL_PINCTRL= CONFIG_PINCTRL_SINGLE=y CONFIG_POWER_DOMAIN=y CONFIG_TI_POWER_DOMAIN=y +CONFIG_DM_REGULATOR=y +CONFIG_SPL_DM_REGULATOR=y +CONFIG_SPL_DM_REGULATOR_TPS6287X=y CONFIG_K3_SYSTEM_CONTROLLER=y - CONFIG_REMOTEPROC_TI_K3_ARM64=y CONFIG_RESET_TI_SCI=y CONFIG_DM_SERIAL=y CONFIG_SOC_DEVICE=y diff --cc configs/phycore_am62ax_a53_defconfig index 421dd851506,8148fd4ea7a..8c4fcc3b144 --- a/configs/phycore_am62ax_a53_defconfig +++ b/configs/phycore_am62ax_a53_defconfig @@@ -67,7 -68,7 +67,6 @@@ CONFIG_CMD_GPIO= CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_MTD=y --CONFIG_CMD_REMOTEPROC=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_CMD_CACHE=y @@@ -143,8 -144,8 +142,6 @@@ CONFIG_SPL_DM_REGULATOR_FIXED= CONFIG_DM_REGULATOR_GPIO=y CONFIG_K3_SYSTEM_CONTROLLER=y CONFIG_REMOTEPROC_TI_K3_ARM64=y --CONFIG_REMOTEPROC_TI_K3_DSP=y --CONFIG_REMOTEPROC_TI_K3_R5F=y CONFIG_RESET_TI_SCI=y CONFIG_DM_RTC=y CONFIG_RTC_RV3028=y diff --cc configs/phycore_am62ax_r5_defconfig index a71ebf0dc2c,a71ebf0dc2c..25d2d9babba --- a/configs/phycore_am62ax_r5_defconfig +++ b/configs/phycore_am62ax_r5_defconfig @@@ -49,7 -49,7 +49,6 @@@ CONFIG_SPL_DM_SPI_FLASH= CONFIG_SPL_DM_RESET=y CONFIG_SPL_POWER_DOMAIN=y CONFIG_SPL_RAM_DEVICE=y --CONFIG_SPL_REMOTEPROC=y CONFIG_SPL_SPI_LOAD=y CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000 CONFIG_SPL_THERMAL=y @@@ -59,7 -59,7 +58,6 @@@ CONFIG_CMD_ASKENV= CONFIG_CMD_DFU=y CONFIG_CMD_GPT=y CONFIG_CMD_MMC=y --CONFIG_CMD_REMOTEPROC=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_TIME=y CONFIG_CMD_FAT=y @@@ -112,7 -112,7 +110,6 @@@ CONFIG_PINCTRL_SINGLE= CONFIG_POWER_DOMAIN=y CONFIG_TI_POWER_DOMAIN=y CONFIG_K3_SYSTEM_CONTROLLER=y --CONFIG_REMOTEPROC_TI_K3_ARM64=y CONFIG_RESET_TI_SCI=y CONFIG_SPECIFY_CONSOLE_INDEX=y CONFIG_DM_SERIAL=y diff --cc configs/phycore_am62x_r5_defconfig index 25adca467b5,a856e69d88c..f157103be4a --- a/configs/phycore_am62x_r5_defconfig +++ b/configs/phycore_am62x_r5_defconfig @@@ -55,7 -56,7 +55,6 @@@ CONFIG_SPL_DM_SPI_FLASH= CONFIG_SPL_DM_RESET=y CONFIG_SPL_POWER_DOMAIN=y CONFIG_SPL_RAM_DEVICE=y --CONFIG_SPL_REMOTEPROC=y # CONFIG_SPL_SPI_FLASH_TINY is not set CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y CONFIG_SPL_SPI_LOAD=y @@@ -66,7 -67,7 +65,6 @@@ CONFIG_CMD_ASKENV= CONFIG_CMD_DFU=y CONFIG_CMD_GPT=y CONFIG_CMD_MMC=y --CONFIG_CMD_REMOTEPROC=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_TIME=y CONFIG_CMD_FAT=y @@@ -114,7 -115,7 +112,6 @@@ CONFIG_PINCTRL_SINGLE= CONFIG_POWER_DOMAIN=y CONFIG_TI_POWER_DOMAIN=y CONFIG_K3_SYSTEM_CONTROLLER=y --CONFIG_REMOTEPROC_TI_K3_ARM64=y CONFIG_RESET_TI_SCI=y CONFIG_SPECIFY_CONSOLE_INDEX=y CONFIG_DM_SERIAL=y diff --cc configs/phycore_am64x_r5_defconfig index d060a0f1d10,2d9ff95d781..2552479713f --- a/configs/phycore_am64x_r5_defconfig +++ b/configs/phycore_am64x_r5_defconfig @@@ -61,7 -60,7 +61,6 @@@ CONFIG_SPL_NET_VCI_STRING="AM64X U-Boo CONFIG_SPL_DM_RESET=y CONFIG_SPL_POWER_DOMAIN=y CONFIG_SPL_RAM_DEVICE=y --CONFIG_SPL_REMOTEPROC=y # CONFIG_SPL_SPI_FLASH_TINY is not set CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y CONFIG_SPL_SPI_LOAD=y @@@ -73,7 -72,7 +72,6 @@@ CONFIG_CMD_ASKENV= CONFIG_CMD_DFU=y CONFIG_CMD_GPT=y CONFIG_CMD_MMC=y --CONFIG_CMD_REMOTEPROC=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y # CONFIG_CMD_SETEXPR is not set @@@ -140,7 -139,7 +138,6 @@@ CONFIG_SPL_DM_REGULATOR= CONFIG_DM_REGULATOR_GPIO=y CONFIG_SPL_DM_REGULATOR_GPIO=y CONFIG_K3_SYSTEM_CONTROLLER=y --CONFIG_REMOTEPROC_TI_K3_ARM64=y CONFIG_RESET_TI_SCI=y CONFIG_SPECIFY_CONSOLE_INDEX=y CONFIG_DM_SERIAL=y diff --cc configs/verdin-am62_a53_defconfig index e7a88c9788d,fc9ffa0f392..ecd3284faaf --- a/configs/verdin-am62_a53_defconfig +++ b/configs/verdin-am62_a53_defconfig @@@ -76,7 -77,7 +76,6 @@@ CONFIG_CMD_GPIO= CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_READ=y --CONFIG_CMD_REMOTEPROC=y CONFIG_CMD_USB=y CONFIG_CMD_USB_MASS_STORAGE=y CONFIG_CMD_BOOTCOUNT=y diff --cc configs/verdin-am62_r5_defconfig index d4f904ac07d,220469a65c3..9ac4b534f6c --- a/configs/verdin-am62_r5_defconfig +++ b/configs/verdin-am62_r5_defconfig @@@ -48,14 -49,14 +48,12 @@@ CONFIG_SPL_DM_MAILBOX= CONFIG_SPL_DM_RESET=y CONFIG_SPL_POWER_DOMAIN=y CONFIG_SPL_RAM_DEVICE=y --CONFIG_SPL_REMOTEPROC=y CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_CMD_ASKENV=y CONFIG_CMD_DFU=y CONFIG_CMD_GPT=y CONFIG_CMD_MMC=y --CONFIG_CMD_REMOTEPROC=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_TIME=y CONFIG_OF_CONTROL=y @@@ -97,7 -98,7 +95,6 @@@ CONFIG_PINCTRL_SINGLE= CONFIG_POWER_DOMAIN=y CONFIG_TI_POWER_DOMAIN=y CONFIG_K3_SYSTEM_CONTROLLER=y --CONFIG_REMOTEPROC_TI_K3_ARM64=y CONFIG_RESET_TI_SCI=y CONFIG_SPECIFY_CONSOLE_INDEX=y CONFIG_DM_SERIAL=y