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
          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
 
 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