diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 553574682dcd165d06e892e321fda110725f0554..e6a45904d0ca6dd6e3a96c29e466cf5eea7a94c6 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -52,3 +52,4 @@ CONFIG_DM_MMC=y CONFIG_LED=y CONFIG_LED_GPIO=y CONFIG_SYSCON=y +CONFIG_REGMAP=y diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig index e40372dd753c9c6e140d6037c3189bc824818b66..5d0e949f05de670978256537ed62d124cb0e6984 100644 --- a/drivers/core/Kconfig +++ b/drivers/core/Kconfig @@ -59,3 +59,22 @@ config DM_SEQ_ALIAS Most boards will have a '/aliases' node containing the path to numbered devices (e.g. serial0 = &serial0). This feature can be disabled if it is not required, to save code space in SPL. + +config REGMAP + bool "Support register maps" + 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 + 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. diff --git a/drivers/core/Makefile b/drivers/core/Makefile index 5c2ead870b00412bf0ebc5532a21b4ebdfd82974..ce3027a8512d54a1bfd983b2612985204f4dc937 100644 --- a/drivers/core/Makefile +++ b/drivers/core/Makefile @@ -10,5 +10,5 @@ obj-$(CONFIG_OF_CONTROL) += simple-bus.o endif obj-$(CONFIG_DM_DEVICE_REMOVE) += device-remove.o obj-$(CONFIG_DM) += dump.o -obj-$(CONFIG_OF_CONTROL) += regmap.o -obj-$(CONFIG_OF_CONTROL) += syscon-uclass.o +obj-$(CONFIG_REGMAP) += regmap.o +obj-$(CONFIG_SYSCON) += syscon-uclass.o