Files
u-boot/drivers/power/domain/Kconfig
Marek Vasut 53297db126 power: domain: Add Renesas R-Car R8A78000 X5H MDLC power domain and reset driver
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>
2026-05-21 21:48:05 +02:00

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