]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Merge patch series "Introduce K3 remoteproc driver for M4 subsystem"
authorTom Rini <trini@konsulko.com>
Fri, 14 Feb 2025 19:17:47 +0000 (13:17 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 14 Feb 2025 19:39:10 +0000 (13:39 -0600)
Judith Mendez <jm@ti.com> 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
34 files changed:
1  2 
arch/arm/mach-k3/Kconfig
cmd/Kconfig
common/spl/Kconfig
configs/am62ax_evm_a53_defconfig
configs/am62ax_evm_r5_defconfig
configs/am62px_evm_a53_defconfig
configs/am62px_evm_r5_defconfig
configs/am62x_beagleplay_a53_defconfig
configs/am62x_beagleplay_r5_defconfig
configs/am62x_evm_a53_defconfig
configs/am62x_evm_r5_defconfig
configs/am64x_evm_a53_defconfig
configs/am64x_evm_r5_defconfig
configs/am65x_evm_a53_defconfig
configs/am65x_evm_r5_defconfig
configs/am65x_evm_r5_usbdfu_defconfig
configs/am65x_evm_r5_usbmsc_defconfig
configs/iot2050_defconfig
configs/j7200_evm_a72_defconfig
configs/j7200_evm_r5_defconfig
configs/j721e_evm_a72_defconfig
configs/j721e_evm_r5_defconfig
configs/j721s2_evm_a72_defconfig
configs/j721s2_evm_r5_defconfig
configs/j722s_evm_a53_defconfig
configs/j722s_evm_r5_defconfig
configs/j784s4_evm_a72_defconfig
configs/j784s4_evm_r5_defconfig
configs/phycore_am62ax_a53_defconfig
configs/phycore_am62ax_r5_defconfig
configs/phycore_am62x_r5_defconfig
configs/phycore_am64x_r5_defconfig
configs/verdin-am62_a53_defconfig
configs/verdin-am62_r5_defconfig

index a3ac490f677429b851b4b4b3d6753ef6997884c9,e7fff20df93d9b523c7c42a5aacad8f737881c1f..1f8cb8e3822b0af591a2d97be6df49f2ed646b4b
@@@ -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 cmd/Kconfig
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 2d5f18e5bd404a5d78a5d175b78d94cb0e71676d,d158886e05b62d12cfec8c7d93b0ae9f00970c06..72d4b8e3695e0cfe94d01788800a53544133dbfb
@@@ -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
index ac5b10ba14908d2243071f3b15c690edd88bb748,77d9f71e13973c22893920aecf3ee05b5dff00b7..4760f7509f511e46e65075e9a654f7fd4cd8ffd5
@@@ -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)"
Simple merge
Simple merge
Simple merge
index ab943ebfab2d5eacf8f58f274a17b49a1005b0fa,da33bce7e057ed9033ac6c468a9b902c07d14636..5e84abf8f21efd0f6561a0f4a3fc5f6de64a00fc
@@@ -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)"
Simple merge
index 667d633c899b0173b79cc32bdb1ba3004d5ecc09,6aaf1dc9098469de6822cad7293eeae81b1fa0fe..2062eca0bf9caaf5b9fe8c8145988e91adcdd717
@@@ -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
Simple merge
Simple merge
index b991ffb73becd4b37afaa8de45c81263ec3e1060,d7c10c4c7894070f1ebcbdb3984ecf8d37dd1652..a307055c5d07d005bf05bba9457dc47ecba58f7a
@@@ -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
index 421dd851506ab7f2c7703fd098420183be7b1c22,8148fd4ea7aca08b1db8b09c46c5d88b1c475f2b..8c4fcc3b144d89eda58ab7c33689f000152e2d7e
@@@ -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
index a71ebf0dc2c199d85b94a7ec312ce89351ef95a3,a71ebf0dc2c199d85b94a7ec312ce89351ef95a3..25d2d9babbac07ee1ecfcbcc9a8598b9f0a93a52
@@@ -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
index 25adca467b5d108e782faf7f48963ac3554716cc,a856e69d88c127624cebb02bb201a44c298261f6..f157103be4aa20dca28a777b20c8f96807dc6090
@@@ -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
index d060a0f1d107c0fc080555b38f488d387a842bb1,2d9ff95d781a10d5e0acbfd1a54d2d45da80f9c3..2552479713f7ff56a175eae7012bf32bb9d1665c
@@@ -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
index e7a88c9788deb9bcd466a1213d1d317030ff807c,fc9ffa0f392b40639cdabfc2e50c2a0cdc82c7f7..ecd3284faaf329c2ff0d7a829dc3ba47700eba28
@@@ -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
index d4f904ac07d1a8cac53ded1c289557b8979f33a2,220469a65c3030e2aa48465f1bad3435f36add11..9ac4b534f6c251336eed93a36b788a51c2e49ea8
@@@ -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