Add SPL Kconfig for REGMAP and SYSCON, so REGMAP and SYSCON can
remove from SPL stage.

Signed-off-by: Lin Huang <h...@rock-chips.com>
---
Changes in v1: None
Changes in v2: None
Changes in v3:
- fix compile error

 configs/chromebook_jerry_defconfig |  2 ++
 configs/firefly-rk3288_defconfig   |  2 ++
 configs/sandbox_defconfig          |  2 ++
 drivers/core/Kconfig               | 19 +++++++++++++++++++
 drivers/core/Makefile              |  4 ++--
 5 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/configs/chromebook_jerry_defconfig 
b/configs/chromebook_jerry_defconfig
index 3ded392..eca8409 100644
--- a/configs/chromebook_jerry_defconfig
+++ b/configs/chromebook_jerry_defconfig
@@ -12,11 +12,13 @@ CONFIG_CMD_PMIC=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_CLK=y
 CONFIG_SPL_CLK=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
+CONFIG_SPL_SYSCON=y
 CONFIG_LED=y
 CONFIG_SPL_LED=y
 CONFIG_LED_GPIO=y
diff --git a/configs/firefly-rk3288_defconfig b/configs/firefly-rk3288_defconfig
index edb2db2..ec7ab8e 100644
--- a/configs/firefly-rk3288_defconfig
+++ b/configs/firefly-rk3288_defconfig
@@ -12,11 +12,13 @@ CONFIG_CMD_PMIC=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_CLK=y
 CONFIG_SPL_CLK=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
+CONFIG_SPL_SYSCON=y
 CONFIG_LED=y
 CONFIG_LED_GPIO=y
 CONFIG_RESET=y
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index 67ae99b..afee421 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -17,7 +17,9 @@ CONFIG_CMD_TPM_TEST=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_HOSTFILE=y
 CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
 CONFIG_SYSCON=y
+CONFIG_SPL_SYSCON=y
 CONFIG_DEVRES=y
 CONFIG_CLK=y
 CONFIG_SANDBOX_GPIO=y
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index 15681df..ac68172 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -72,6 +72,16 @@ config REGMAP
          support any bus type (I2C, SPI) but so far this only supports
          direct memory access.
 
+config SPL_REGMAP
+       bool "Support register maps in SPL"
+       depends on DM
+       help
+         Hardware peripherals tend to have one or more sets of registers
+         which can be accessed to control the hardware. A register map
+         models this with a simple read/write interface. It can in principle
+         support any bus type (I2C, SPI) but so far this only supports
+         direct memory access.
+
 config SYSCON
        bool "Support system controllers"
        depends on REGMAP
@@ -81,6 +91,15 @@ config SYSCON
          by this uclass, including accessing registers via regmap and
          assigning a unique number to each.
 
+config SPL_SYSCON
+       bool "Support system controllers in SPL"
+       depends on REGMAP
+       help
+         Many SoCs have a number of system controllers which are dealt with
+         as a group by a single driver. Some common functionality is provided
+         by this uclass, including accessing registers via regmap and
+         assigning a unique number to each.
+
 config DEVRES
        bool "Managed device resources"
        depends on DM
diff --git a/drivers/core/Makefile b/drivers/core/Makefile
index f19f67d..07adb61 100644
--- a/drivers/core/Makefile
+++ b/drivers/core/Makefile
@@ -9,5 +9,5 @@ obj-$(CONFIG_DEVRES) += devres.o
 obj-$(CONFIG_$(SPL_)DM_DEVICE_REMOVE)  += device-remove.o
 obj-$(CONFIG_$(SPL_)SIMPLE_BUS)        += simple-bus.o
 obj-$(CONFIG_DM)       += dump.o
-obj-$(CONFIG_REGMAP)   += regmap.o
-obj-$(CONFIG_SYSCON)   += syscon-uclass.o
+obj-$(CONFIG_$(SPL_)REGMAP)    += regmap.o
+obj-$(CONFIG_$(SPL_)SYSCON)    += syscon-uclass.o
-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to