summaryrefslogtreecommitdiffstats
path: root/drivers/soc/rockchip/Kconfig
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2016-11-17 00:03:03 +0100
committerHeiko Stuebner <heiko@sntech.de>2017-01-06 10:28:19 +0100
commit4c58063d4258f6beb4fd5647db6b58f49e337c8f (patch)
tree2983a9d58c5bdd803906fd5607b8d4422f09316a /drivers/soc/rockchip/Kconfig
parentdt-bindings: add used but undocumented rockchip grf compatible values (diff)
downloadlinux-4c58063d4258f6beb4fd5647db6b58f49e337c8f.tar.xz
linux-4c58063d4258f6beb4fd5647db6b58f49e337c8f.zip
soc: rockchip: add driver handling grf setup
The General Register Files are an area of registers containing a lot of single-bit settings for numerous components as well full components like usbphy control. Therefore all used components are accessed via the syscon provided by the grf nodes or from the sub-devices created through the simple-mfd created from the grf node. Some settings are not used by anything but will need to be set up according to expectations on the kernel side. Best example is the force_jtag setting, which defaults to on and results in the soc switching the pin-outputs between jtag and sdmmc automatically depending on the card-detect status. This conflicts heavily with how the dw_mmc driver expects to do its work and also with the clock-controller, which has most likely deactivated the jtag clock due to it being unused. So far the handling of this setting was living in the mach-rockchip code for the arm32-based rk3288 but that of course doesn't work for arm64 socs and would also look ugly for further arm32 socs. Also always disabling this setting is quite specific to linux and its subsystems, other operating systems might prefer other settings, so that the bootloader cannot really set a sane default for all. So introduce a top-level driver for the grf that handles these settings that need to be a certain way but nobody cares about. Other needed settings might surface in the future and can then be added here, but only as a last option. Ideally general GRF settings should be handled in the driver needing them. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Douglas Anderson <dianders@chromium.org>
Diffstat (limited to 'drivers/soc/rockchip/Kconfig')
-rw-r--r--drivers/soc/rockchip/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/soc/rockchip/Kconfig b/drivers/soc/rockchip/Kconfig
index 7140ff825598..20da55d9cbb1 100644
--- a/drivers/soc/rockchip/Kconfig
+++ b/drivers/soc/rockchip/Kconfig
@@ -3,6 +3,16 @@ if ARCH_ROCKCHIP || COMPILE_TEST
#
# Rockchip Soc drivers
#
+
+config ROCKCHIP_GRF
+ bool
+ default y
+ 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_PM_DOMAINS
bool "Rockchip generic power domain"
depends on PM