diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index c82b5645cdfd86dface18dac4959980b3c2361c4..788f8b739bf40f8aca95f98466f9a3f77f03639e 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -1,3 +1,5 @@
+menu "Generic Driver Options"
+
 config DM
 	bool "Enable Driver Model"
 	help
@@ -102,3 +104,5 @@ config DEBUG_DEVRES
 	  debug resource management for a managed device.
 
 	  If you are unsure about this, Say N here.
+
+endmenu
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index bd26a2bcfa286d9fd6b80b60cbd7ee9cc4c63ac8..1ea116be7503b7e3054fc72fe48fb2afd563bb58 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -1 +1,5 @@
+menu "Hardware crypto devices"
+
 source drivers/crypto/fsl/Kconfig
+
+endmenu
diff --git a/drivers/demo/Kconfig b/drivers/demo/Kconfig
index 7a8ce185551d05382d741dea3cfe35a097f7f354..98bb6333c1c0ef5f1874b3ac611351aed2402b1e 100644
--- a/drivers/demo/Kconfig
+++ b/drivers/demo/Kconfig
@@ -1,3 +1,5 @@
+menu "Demo for driver model"
+
 config DM_DEMO
 	bool "Enable demo uclass support"
 	depends on DM
@@ -24,3 +26,5 @@ config DM_DEMO_SHAPE
 	  a shape when the 'demo hello' command is executed which targets
 	  this device. It can be used to help understand how driver model
 	  works.
+
+endmenu
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 0c43777cef9dacdeb5d878a3500d4de35450b2b8..5934597c4ed0b22df0dfdd6631f2be4738fa0e93 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -1,3 +1,9 @@
+#
+# GPIO infrastructure and drivers
+#
+
+menu "GPIO Support"
+
 config DM_GPIO
 	bool "Enable Driver Model for GPIO drivers"
 	depends on DM
@@ -42,3 +48,5 @@ config VYBRID_GPIO
 	default n
 	help
 	  Say yes here to support Vybrid vf610 GPIOs.
+
+endmenu
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 9a62ddd9ca28dffe69dd78cfd10d4d4941a9ceb9..c40bd5c1e069749b5d06aac02b89e12f2d2789b6 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -1,3 +1,9 @@
+#
+# I2C subsystem configuration
+#
+
+menu "I2C support"
+
 config DM_I2C
 	bool "Enable Driver Model for I2C drivers"
 	depends on DM
@@ -99,3 +105,5 @@ config SYS_I2C_UNIPHIER_F
 	  This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
 
 source "drivers/i2c/muxes/Kconfig"
+
+endmenu
diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig
index de5feea8dd3df15cb5418b844ae9979b4aecaccb..b21bc9474837f0917b6a3b1e8a84b1b612fa7cd8 100644
--- a/drivers/led/Kconfig
+++ b/drivers/led/Kconfig
@@ -1,3 +1,5 @@
+menu "LED Support"
+
 config LED
 	bool "Enable LED support"
 	depends on DM
@@ -24,3 +26,5 @@ config LED_GPIO
 	  GPIOs may be on the SoC or some other device which provides GPIOs.
 	  The GPIO driver must used driver model. LEDs are configured using
 	  the device tree.
+
+endmenu
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 3b7f76ab78753c9ca6f2252b6130f536ffe3b961..f29a16977426bf60f666cd2ec7816fd3008943e7 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -1,3 +1,9 @@
+#
+# Multifunction miscellaneous devices
+#
+
+menu "Multifunction device drivers"
+
 config CMD_CROS_EC
 	bool "Enable crosec command"
 	depends on CROS_EC
@@ -82,3 +88,5 @@ config RESET
 	  Each driver can provide a reset method which will be called to
 	  effect a reset. The uclass will try all available drivers when
 	  reset_walk() is called.
+
+endmenu
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index bd63621e37162b085bbf2f15c12f33b55b988022..b5d9048ad6a54424ba2b898219bece4191fbf8d4 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1,3 +1,9 @@
+#
+# RTC drivers configuration
+#
+
+menu "Real Time Clock"
+
 config DM_RTC
 	bool "Enable Driver Model for RTC drivers"
 	depends on DM
@@ -6,3 +12,5 @@ config DM_RTC
 	  then provides the rtc_get()/rtc_set() interface, delegating to
 	  drivers to perform the actual functions. See rtc.h for a
 	  description of the API.
+
+endmenu
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index a880eacfaf7149b8149bf7d8db006d7b4adfea56..4f6a3b87a137bdb6c51e4cd0b5196da8e9c9e50d 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -1,3 +1,9 @@
+#
+# Serial device configuration
+#
+
+menu "Serial drivers"
+
 config REQUIRE_SERIAL_CONSOLE
 	bool "Require a serial port for console"
 	# Running without a serial console is not supported by the
@@ -139,3 +145,5 @@ config X86_SERIAL
 	  enabled in the device tree with the correct input clock frequency
 	  provided (default 1843200). Enable this to obtain serial console
 	  output.
+
+endmenu
diff --git a/drivers/sound/Kconfig b/drivers/sound/Kconfig
index 3b96e844806067066dad94cc5bcbc024a62e7067..5de86c05c600de10739001263485c96956ebc904 100644
--- a/drivers/sound/Kconfig
+++ b/drivers/sound/Kconfig
@@ -1,3 +1,5 @@
+menu "Sound support"
+
 config SOUND
 	bool "Enable sound support"
 	help
@@ -53,3 +55,5 @@ config SOUND_WM8994
 	  Enable the wm8994 audio codec. This is connected via I2S for
 	  audio data and I2C for codec control. At present it only works
 	  with the Samsung I2S driver.
+
+endmenu
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 3244cd7eddba19fca48f61902d4c916248b67fef..5cb36851e71ff1eb7ac4c8502889e41744cbb1ad 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -1,3 +1,9 @@
+#
+# Video configuration
+#
+
+menu "Graphics support"
+
 config VIDEO_VESA
 	bool "Enable VESA video driver support"
 	default n
@@ -242,3 +248,5 @@ config VIDEO_TEGRA124
 	   have an eDP display connected.
 
 source "drivers/video/bridge/Kconfig"
+
+endmenu