mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
Add Renesas R-Car R8A78000 X5H MDLC power domain and reset driver, which serves as a remap driver between DT power domain and reset IDs and SCMI power domain and reset IDs in case U-Boot runs on Cortex-A, and as a direct hardware access driver for RSIP. The R-Car X5H SCP firmware uses different SCMI power domain and reset IDs in different versions of the SCP firmware, which makes this remapping necessary. The SCMI base protocol version is updated for each new SCP firmware version, it is therefore possible to determine which SCP firmware version is running on the platform from the base protocol and then determine which remapping table to use for DT power domain and reset ID to SCMI power domain and reset ID remapping. Currently supported versions are SCP 4.28, 4.31, 4.32 . The DT power domain and reset ID to SCMI power domain and reset ID remap and call mechanism is simple. Unlike SCMI clock protocol driver, the SCMI reset and power domain protocol drivers register only a single device. This driver looks up that single device, obtains its reset or power domain ops, sets up struct reset_ctl or struct power_domain with remapped SCMI ID, and invokes operations directly on the device. In case of RSIP, all power domains are already enabled by BootROM or early SoC initialization code, the driver therefore only acts as a stub for the power domain part. The reset part operates as a direct hardware access reset driver. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
162 lines
5.4 KiB
Plaintext
162 lines
5.4 KiB
Plaintext
menu "Power Domain Support"
|
|
|
|
config POWER_DOMAIN
|
|
bool "Enable power domain support using Driver Model"
|
|
depends on DM && OF_CONTROL
|
|
help
|
|
Enable support for the power domain driver class. Many SoCs allow
|
|
power to be applied to or removed from portions of the SoC (power
|
|
domains). This may be used to save power. This API provides the
|
|
means to control such power management hardware.
|
|
|
|
config APPLE_PMGR_POWER_DOMAIN
|
|
bool "Enable the Apple PMGR power domain driver"
|
|
depends on POWER_DOMAIN
|
|
default y if ARCH_APPLE
|
|
help
|
|
Enable support for manipulating power domains on Apple SoCs.
|
|
This driver is needed to power on parts of the SoC that have
|
|
not been powered on by previous boot stages.
|
|
|
|
config AGILEX5_PMGR_POWER_DOMAIN
|
|
bool "Enable the Agilex5 PMGR power domain driver"
|
|
depends on SPL_POWER_DOMAIN && ARCH_SOCFPGA_SOC64
|
|
help
|
|
Enable support for power gating peripherals' SRAM specified in
|
|
the handoff data values obtained from the bitstream to reduce
|
|
power consumption.
|
|
|
|
config BCM6328_POWER_DOMAIN
|
|
bool "Enable the BCM6328 power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_BMIPS
|
|
help
|
|
Enable support for manipulating BCM6345 power domains via MMIO
|
|
mapped registers.
|
|
|
|
config IMX8_POWER_DOMAIN
|
|
bool "Enable i.MX8 power domain driver"
|
|
depends on ARCH_IMX8
|
|
help
|
|
Enable support for manipulating NXP i.MX8 on-SoC power domains via IPC
|
|
requests to the SCU.
|
|
|
|
config IMX8M_POWER_DOMAIN
|
|
bool "Enable i.MX8M power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_IMX8M
|
|
select CLK
|
|
help
|
|
Enable support for manipulating NXP i.MX8M on-SoC power domains via
|
|
requests to the ATF.
|
|
|
|
config IMX8MP_HSIOMIX_BLKCTRL
|
|
bool "Enable i.MX8MP HSIOMIX domain driver"
|
|
depends on POWER_DOMAIN && IMX8MP
|
|
select CLK
|
|
help
|
|
Enable support for manipulating NXP i.MX8MP on-SoC HSIOMIX block controller.
|
|
|
|
config IMX8MP_MEDIAMIX_BLKCTRL
|
|
bool "Enable i.MX8MP MEDIAMIX domain driver"
|
|
depends on POWER_DOMAIN && IMX8MP
|
|
select CLK
|
|
help
|
|
Enable support for manipulating NXP i.MX8MP on-SoC MEDIAMIX block controller.
|
|
|
|
config MTK_POWER_DOMAIN
|
|
bool "Enable the MediaTek power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_MEDIATEK
|
|
help
|
|
Enable support for manipulating MediaTek power domains via MMIO
|
|
mapped registers.
|
|
|
|
config MESON_GX_VPU_POWER_DOMAIN
|
|
bool "Enable Amlogic Meson GX VPU power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_MESON
|
|
help
|
|
Enable support for manipulating Amlogic Meson GX Video Processing
|
|
Unit power domain.
|
|
|
|
config MESON_EE_POWER_DOMAIN
|
|
bool "Enable Amlogic Everything-Else power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_MESON
|
|
help
|
|
Enable support for manipulating Amlogic Meson Everything-Else power
|
|
domains.
|
|
|
|
config MESON_SECURE_POWER_DOMAIN
|
|
bool "Enable Amlogic Secure power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_MESON && MESON_A1
|
|
help
|
|
Enable support for manipulating Amlogic Meson Secure power domains.
|
|
Support for Amlogic A1 series.
|
|
|
|
config QCOM_RPMH_POWER_DOMAIN
|
|
bool "Enable the QCOM RPMH Power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_SNAPDRAGON
|
|
help
|
|
Generic RPMH power domain implementation for QCOM devices.
|
|
The RPMH power domain driver is responsible for managing power
|
|
domains on Qualcomm SoCs.
|
|
|
|
config RENESAS_R8A78000_POWER_DOMAIN
|
|
bool "Enable the Renesas R-Car MDLC Power domain and reset driver"
|
|
depends on POWER_DOMAIN && ARCH_RENESAS
|
|
help
|
|
Enable support for Renesas R-Car R8A78000 X5H MDLC Power domain
|
|
and reset driver. The MDLC is responsible for managing both
|
|
power domains and resets on R-Car R8A78000 X5H SoC.
|
|
|
|
config SANDBOX_POWER_DOMAIN
|
|
bool "Enable the sandbox power domain test driver"
|
|
depends on POWER_DOMAIN && SANDBOX
|
|
help
|
|
Enable support for a test power domain driver implementation, which
|
|
simply accepts requests to power on/off various HW modules without
|
|
actually doing anything beyond a little error checking.
|
|
|
|
config SCMI_POWER_DOMAIN
|
|
bool "Enable SCMI power domain driver"
|
|
depends on POWER_DOMAIN && SCMI_FIRMWARE
|
|
help
|
|
Enable power domain implementation based on SCMI power domain
|
|
management protocol.
|
|
|
|
config TEGRA186_POWER_DOMAIN
|
|
bool "Enable Tegra186 BPMP-based power domain driver"
|
|
depends on TEGRA186_BPMP
|
|
help
|
|
Enable support for manipulating Tegra's on-SoC power domains via IPC
|
|
requests to the BPMP (Boot and Power Management Processor).
|
|
|
|
config TI_SCI_POWER_DOMAIN
|
|
bool "Enable the TI SCI-based power domain driver"
|
|
depends on POWER_DOMAIN && TI_SCI_PROTOCOL
|
|
help
|
|
Generic power domain implementation for TI devices implementing the
|
|
TI SCI protocol.
|
|
|
|
config TI_POWER_DOMAIN
|
|
bool "Enable the TI K3 Power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_K3
|
|
help
|
|
Generic power domain implementation for TI K3 devices.
|
|
|
|
config TI_OMAP_PRM_POWER_DOMAIN
|
|
bool "Enable the TI OMAP PRM power domain driver"
|
|
depends on POWER_DOMAIN && ARCH_OMAP2PLUS
|
|
help
|
|
Enable support for TI OMAP Power and Reset Manager (PRM) power domains.
|
|
The driver is currently a stub to be able to probe devices that
|
|
require this type of power domain device.
|
|
|
|
config ZYNQMP_POWER_DOMAIN
|
|
bool "Enable the Xilinx ZynqMP Power domain driver"
|
|
depends on POWER_DOMAIN && ZYNQMP_FIRMWARE
|
|
help
|
|
Generic power domain implementation for Xilinx ZynqMP devices.
|
|
The driver should be enabled when system starts in very minimal
|
|
configuration and it is extended at run time. Then enabling
|
|
the driver will ensure that PMUFW enable access to requested IP.
|
|
|
|
endmenu
|