Add these to your board config:
 
-#define CONFIG_DM_SPI
-#define CONFIG_DM_SPI_FLASH
+CONFIG_DM_SPI
+CONFIG_DM_SPI_FLASH
 
 
 2. Add the skeleton
 
 
 source "drivers/crypto/Kconfig"
 
+source "drivers/thermal/Kconfig"
+
 endmenu
 
        bool "Enable Driver Model"
        depends on !SPL_BUILD
        help
-         This config option enables Driver Model.
-         To use legacy drivers, say N.
+         This config option enables Driver Model. This brings in the core
+         support, including scanning of platform data on start-up. If
+         CONFIG_OF_CONTROL is enabled, the device tree will be scanned also
+         when available.
 
        bool "Enable Driver Model for GPIO drivers"
        depends on DM
        help
-         If you want to use driver model for GPIO drivers, say Y.
-         To use legacy GPIO drivers, say N.
+         Enable driver model for GPIO access. The standard GPIO
+         interface (gpio_get_value(), etc.) is then implemented by
+         the GPIO uclass. Drivers provide methods to query the
+         particular GPIOs that they provide. The uclass interface
+         is defined in include/asm-generic/gpio.h.
 
        bool "Enable Driver Model for I2C drivers"
        depends on DM
        help
-         If you want to use driver model for I2C drivers, say Y.
-         To use legacy I2C drivers, say N.
+         Enable driver model for I2C. This SPI flash interface
+         (spi_flash_probe(), spi_flash_write(), etc.) is then
+         implemented by the SPI flash uclass. There is one standard
+         SPI flash driver which knows how to probe most chips
+         supported by U-Boot. The uclass interface is defined in
+         include/spi_flash.h, but is currently fully compatible
+         with the old interface to avoid confusion and duplication
+         during the transition parent. SPI and SPI flash must be
+         enabled together (it is not possible to use driver model
+         for one and not the other).
 
 config SYS_I2C_UNIPHIER
        bool "UniPhier I2C driver"
 
+config DM_CROS_EC
+       bool "Enable Driver Model for Chrome OS EC"
+       depends on DM
+       help
+         Enable driver model for the Chrome OS EC interface. This
+         allows the cros_ec SPI driver to operate with CONFIG_DM_SPI
+         but otherwise makes few changes. Since cros_ec also supports
+         I2C and LPC (which don't support driver model yet), a full
+         conversion is not yet possible.
 
 source "drivers/mtd/nand/Kconfig"
+
+source "drivers/mtd/spi/Kconfig"
 
--- /dev/null
+config DM_SPI_FLASH
+       bool "Enable Driver Model for SPI flash"
+       depends on DM && SPI
+       help
+         Enable driver model for SPI flash. This SPI flash interface
+         (spi_flash_probe(), spi_flash_write(), etc.) is then
+         implemented by the SPI flash uclass. There is one standard
+         SPI flash driver which knows how to probe most chips
+         supported by U-Boot. The uclass interface is defined in
+         include/spi_flash.h, but is currently fully compatible
+         with the old interface to avoid confusion and duplication
+         during the transition parent. SPI and SPI flash must be
+         enabled together (it is not possible to use driver model
+         for one and not the other).
 
        bool "Enable Driver Model for serial drivers"
        depends on DM
        help
-         If you want to use driver model for serial drivers, say Y.
-         To use legacy serial drivers, say N.
+         Enable driver model for serial. This replaces
+         drivers/serial/serial.c with the serial uclass, which
+         implements serial_putc() etc. The uclass interface is
+         defined in include/serial.h.
 
 config UNIPHIER_SERIAL
        bool "UniPhier on-chip UART support"
 
        bool "Enable Driver Model for SPI drivers"
        depends on DM
        help
-         If you want to use driver model for SPI drivers, say Y.
-         To use legacy SPI drivers, say N.
+         Enable driver model for SPI. The SPI slave interface
+         (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
+         the SPI uclass. Drivers provide methods to access the SPI
+         buses that they control. The uclass interface is defined in
+         include/spi.h. The existing spi_slave structure is attached
+         as 'parent data' to every slave on each bus. Slaves
+         typically use driver-private data instead of extending the
+         spi_slave structure.
 
--- /dev/null
+config DM_THERMAL
+       bool "Driver support for thermal devices"
+       help
+         Enable support for temporary-sensing devices. Some SoCs have on-chip
+         temperature sensors to permit warnings, speed throttling or even
+         automatic power-off when the temperature gets too high or low. Other
+         devices may be discrete but connected on a suitable bus.