# SPDX-License-Identifier: GPL-2.0-only
if ARCH_ROCKCHIP || COMPILE_TEST

#
# Rockchip Soc drivers
#

config ROCKCHIP_GRF
	bool "Rockchip General Register Files support" if COMPILE_TEST
	default y if ARCH_ROCKCHIP
	help
	  The General Register Files are a central component providing
	  special additional settings registers for a lot of soc-components.
	  In a lot of cases there also need to be default settings initialized
	  to make some of them conform to expectations of the kernel.

config ROCKCHIP_IODOMAIN
	tristate "Rockchip IO domain support"
	depends on OF
	help
	  Say y here to enable support io domains on Rockchip SoCs. It is
	  necessary for the io domain setting of the SoC to match the
	  voltage supplied by the regulators.

config ROCKCHIP_PM_DOMAINS
        bool "Rockchip generic power domain"
        depends on PM
        select PM_GENERIC_DOMAINS
        help
          Say y here to enable power domain support.
          In order to meet high performance and low power requirements, a power
          management unit is designed or saving power when RK3288 in low power
          mode. The RK3288 PMU is dedicated for managing the power of the whole chip.

          If unsure, say N.

endif
