u-boot/drivers/remoteproc/Kconfig
Marek Vasut 5769328fab remoteproc: renesas: Add Renesas R-Car Gen4 remote processor driver
Add R-Car Gen4 APMU controller remoteproc driver capable of starting
the Cortex-R52 cores in Renesas R8A779G0 V4H/V4M SoC. The APMU IP is
in fact a power management unit capable of additional operations, but
those are not used by U-Boot so far.

This requires slight adjustment to the SPL entry point code, as that
is being executed on the Cortex-R52 #0 and the Cortex-R52 #0 enters an
endless loop once it starts the rest of the SPL on Cortex-A76 core.
The endless loop now checks for content of APMU CRBARP registers and
tests whether valid VLD_BARP and BAREN_VALID bits are set, if so, the
Cortex-R52 core exits the endless loop and jumps to address started
in CRBARP[31:18] register in ARM mode, which is a trampoline code to
jump to the final entry point.

The trampoline code is in place to avoid limitation of CRBARP[31:18]
address field, which limits the core start address to memory addresses
aligned to 0x40000 or 256 kiB . The trampoline is placed at 0x40000
aligned address and jumps to the final entry point, which can be at
an address with arbitrary alignment at instruction granularity.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-12-29 16:55:31 +01:00

120 lines
3.2 KiB
Text

# SPDX-License-Identifier: GPL-2.0+
#
# (C) Copyright 2015
# Texas Instruments Incorporated - https://www.ti.com/
#
menu "Remote Processor drivers"
# REMOTEPROC gets selected by drivers as needed
# All users should depend on DM
config REMOTEPROC
bool
depends on DM
# Please keep the configuration alphabetically sorted.
config K3_SYSTEM_CONTROLLER
bool "Support for TI' K3 System Controller"
select REMOTEPROC
depends on DM
depends on ARCH_K3
depends on OF_CONTROL
help
Say 'y' here to add support for TI' K3 System Controller.
config REMOTEPROC_RENESAS_APMU
bool "Support for Renesas R-Car Gen4 APMU start of CR52 processor"
select REMOTEPROC
depends on ARCH_RENESAS && RCAR_GEN4 && DM && OF_CONTROL
help
Say 'y' here to add support for Renesas R-Car Gen4 Cortex-A52
processor via the remoteproc framework.
config REMOTEPROC_SANDBOX
bool "Support for Test processor for Sandbox"
select REMOTEPROC
depends on DM
depends on SANDBOX
help
Say 'y' here to add support for test processor which does dummy
operations for sandbox platform.
config REMOTEPROC_STM32_COPRO
bool "Support for STM32 coprocessor"
select REMOTEPROC
depends on DM
depends on ARCH_STM32MP
depends on OF_CONTROL
help
Say 'y' here to add support for STM32 Cortex-M4 coprocessors via the
remoteproc framework.
config REMOTEPROC_TI_K3_ARM64
bool "Support for TI's K3 based ARM64 remoteproc driver"
select REMOTEPROC
depends on DM
depends on ARCH_K3
depends on OF_CONTROL
help
Say y here to support TI's ARM64 processor subsystems
on various TI K3 family of SoCs through the remote processor
framework.
config REMOTEPROC_TI_K3_DSP
bool "TI K3 C66 and C71 remoteproc support"
select REMOTEPROC
depends on ARCH_K3
depends on TI_SCI_PROTOCOL
help
Say y here to support TI's C66/C71 remote processor subsystems
on various TI K3 family of SoCs through the remote processor
framework.
config REMOTEPROC_TI_K3_R5F
bool "TI K3 R5F remoteproc support"
select REMOTEPROC
depends on ARCH_K3
depends on TI_SCI_PROTOCOL
help
Say y here to support TI's R5F remote processor subsystems
on various TI K3 family of SoCs through the remote processor
framework.
config REMOTEPROC_TI_POWER
bool "Support for TI Power processor"
select REMOTEPROC
depends on DM
depends on ARCH_KEYSTONE
depends on OF_CONTROL
help
Say 'y' here to add support for TI power processors such as those
found on certain TI keystone and OMAP generation SoCs.
config REMOTEPROC_TI_PRU
bool "Support for TI's K3 based PRU remoteproc driver"
select REMOTEPROC
depends on DM
depends on TI_PRUSS
depends on ARCH_K3
depends on OF_CONTROL
help
Say 'y' here to add support for TI' K3 remoteproc driver.
config REMOTEPROC_TI_IPU
bool "Support for TI's K3 based IPU remoteproc driver"
select REMOTEPROC
depends on DM
depends on SPL_DRIVERS_MISC
depends on SPL_FS_LOADER
depends on OF_CONTROL
help
Say 'y' here to add support for TI' K3 remoteproc driver.
config REMOTEPROC_MAX_FW_SIZE
hex "Maximum size of firmware file that needs to be loaded to the remote processor"
default 0x10000
help
Maximum size of the firmware file (elf, binary) that needs to be
loaded to the remote processor.
endmenu