diff --git a/drivers/display/display_dummy.c b/drivers/display/display_dummy.c
index 5c83315..371bf77 100644
--- a/drivers/display/display_dummy.c
+++ b/drivers/display/display_dummy.c
@@ -1,19 +1,25 @@
 /*
  * Copyright (c) 2018 Jan Van Winkel <jan.van_winkel@dxplore.eu>
+ * Copyright (c) 2021 Nordic Semiconductor
  *
  * SPDX-License-Identifier: Apache-2.0
  */
 
-#include <string.h>
+#define DT_DRV_COMPAT zephyr_dummy_dc
 
+#include <string.h>
 #include <drivers/display.h>
+#include <device.h>
+
+struct dummy_display_config {
+	uint16_t height;
+	uint16_t width;
+};
 
 struct dummy_display_data {
 	enum display_pixel_format current_pixel_format;
 };
 
-static struct dummy_display_data dummy_display_data;
-
 static int dummy_display_init(const struct device *dev)
 {
 	struct dummy_display_data *disp_data =
@@ -29,19 +35,21 @@
 			       const struct display_buffer_descriptor *desc,
 			       const void *buf)
 {
+	const struct dummy_display_config *config = dev->config;
+
 	__ASSERT(desc->width <= desc->pitch, "Pitch is smaller then width");
-	__ASSERT(desc->pitch <= CONFIG_DUMMY_DISPLAY_X_RES,
+	__ASSERT(desc->pitch <= config->width,
 		"Pitch in descriptor is larger than screen size");
-	__ASSERT(desc->height <= CONFIG_DUMMY_DISPLAY_Y_RES,
+	__ASSERT(desc->height <= config->height,
 		"Height in descriptor is larger than screen size");
-	__ASSERT(x + desc->pitch <= CONFIG_DUMMY_DISPLAY_X_RES,
+	__ASSERT(x + desc->pitch <= config->width,
 		 "Writing outside screen boundaries in horizontal direction");
-	__ASSERT(y + desc->height <= CONFIG_DUMMY_DISPLAY_Y_RES,
+	__ASSERT(y + desc->height <= config->height,
 		 "Writing outside screen boundaries in vertical direction");
 
 	if (desc->width > desc->pitch ||
-	    x + desc->pitch > CONFIG_DUMMY_DISPLAY_X_RES ||
-	    y + desc->height > CONFIG_DUMMY_DISPLAY_Y_RES) {
+	    x + desc->pitch > config->width ||
+	    y + desc->height > config->height) {
 		return -EINVAL;
 	}
 
@@ -86,12 +94,12 @@
 static void dummy_display_get_capabilities(const struct device *dev,
 		struct display_capabilities *capabilities)
 {
-	struct dummy_display_data *disp_data =
-		(struct dummy_display_data *)dev->data;
+	const struct dummy_display_config *config = dev->config;
+	struct dummy_display_data *disp_data = dev->data;
 
 	memset(capabilities, 0, sizeof(struct display_capabilities));
-	capabilities->x_resolution = CONFIG_DUMMY_DISPLAY_X_RES;
-	capabilities->y_resolution = CONFIG_DUMMY_DISPLAY_Y_RES;
+	capabilities->x_resolution = config->width;
+	capabilities->y_resolution = config->height;
 	capabilities->supported_pixel_formats = PIXEL_FORMAT_ARGB_8888 |
 		PIXEL_FORMAT_RGB_888 |
 		PIXEL_FORMAT_MONO01 |
@@ -104,8 +112,7 @@
 static int dummy_display_set_pixel_format(const struct device *dev,
 		const enum display_pixel_format pixel_format)
 {
-	struct dummy_display_data *disp_data =
-		(struct dummy_display_data *)dev->data;
+	struct dummy_display_data *disp_data = dev->data;
 
 	disp_data->current_pixel_format = pixel_format;
 	return 0;
@@ -123,8 +130,19 @@
 	.set_pixel_format = dummy_display_set_pixel_format,
 };
 
-DEVICE_DEFINE(dummy_display, CONFIG_DUMMY_DISPLAY_DEV_NAME,
-		    &dummy_display_init, NULL,
-		    &dummy_display_data, NULL,
-		    APPLICATION, CONFIG_DISPLAY_INIT_PRIORITY,
-		    &dummy_display_api);
+#define DISPLAY_DUMMY_DEFINE(n)						\
+	static const struct dummy_display_config dd_config_##n = {	\
+		.height = DT_INST_PROP(n, height),			\
+		.width = DT_INST_PROP(n, width),			\
+	};								\
+									\
+	static struct dummy_display_data dd_data_##n;			\
+									\
+	DEVICE_DT_INST_DEFINE(n, &dummy_display_init, NULL,		\
+			      &dd_data_##n,				\
+			      &dd_config_##n,				\
+			      APPLICATION,				\
+			      CONFIG_DISPLAY_INIT_PRIORITY,		\
+			      &dummy_display_api);			\
+
+DT_INST_FOREACH_STATUS_OKAY(DISPLAY_DUMMY_DEFINE)
diff --git a/dts/bindings/display/zephyr,dummy-dc.yaml b/dts/bindings/display/zephyr,dummy-dc.yaml
new file mode 100644
index 0000000..fde1444
--- /dev/null
+++ b/dts/bindings/display/zephyr,dummy-dc.yaml
@@ -0,0 +1,8 @@
+# Copyright (c) 2021 Nordic Semiconductor ASA
+# SPDX-License-Identifier: Apache-2.0
+
+description: Dummy display controller
+
+compatible: "zephyr,dummy-dc"
+
+include: display-controller.yaml
diff --git a/samples/drivers/display/dummy_dc.overlay b/samples/drivers/display/dummy_dc.overlay
new file mode 100644
index 0000000..7b143f8
--- /dev/null
+++ b/samples/drivers/display/dummy_dc.overlay
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2021 Nordic Semiconductor ASA
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/ {
+	chosen {
+		zephyr,display = &dummy_dc;
+	};
+
+	dummy_dc: dummy_dc {
+		compatible = "zephyr,dummy-dc";
+		label = "DISPLAY";
+		height = <240>;
+		width = <320>;
+	};
+};
diff --git a/samples/drivers/display/sample.yaml b/samples/drivers/display/sample.yaml
index 94ea697..95c6888 100644
--- a/samples/drivers/display/sample.yaml
+++ b/samples/drivers/display/sample.yaml
@@ -56,6 +56,7 @@
     tags: display
   sample.display.dummy:
     platform_allow: native_posix
+    extra_args: DTC_OVERLAY_FILE="dummy_dc.overlay"
     extra_configs:
         - CONFIG_DUMMY_DISPLAY=y
         - CONFIG_SDL_DISPLAY=n
diff --git a/samples/subsys/display/lvgl/dummy_dc.overlay b/samples/subsys/display/lvgl/dummy_dc.overlay
new file mode 100644
index 0000000..7b143f8
--- /dev/null
+++ b/samples/subsys/display/lvgl/dummy_dc.overlay
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2021 Nordic Semiconductor ASA
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/ {
+	chosen {
+		zephyr,display = &dummy_dc;
+	};
+
+	dummy_dc: dummy_dc {
+		compatible = "zephyr,dummy-dc";
+		label = "DISPLAY";
+		height = <240>;
+		width = <320>;
+	};
+};
diff --git a/samples/subsys/display/lvgl/sample.yaml b/samples/subsys/display/lvgl/sample.yaml
index a159d5a..e3eb080 100644
--- a/samples/subsys/display/lvgl/sample.yaml
+++ b/samples/subsys/display/lvgl/sample.yaml
@@ -40,6 +40,7 @@
   sample.display.dummy:
     build_only: true
     platform_allow: native_posix
+    extra_args: DTC_OVERLAY_FILE="dummy_dc.overlay"
     extra_configs:
       - CONFIG_DUMMY_DISPLAY=y
       - CONFIG_DUMMY_DISPLAY_DEV_NAME="DISPLAY"
diff --git a/tests/lib/gui/lvgl/app.overlay b/tests/lib/gui/lvgl/app.overlay
new file mode 100644
index 0000000..7b143f8
--- /dev/null
+++ b/tests/lib/gui/lvgl/app.overlay
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2021 Nordic Semiconductor ASA
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/ {
+	chosen {
+		zephyr,display = &dummy_dc;
+	};
+
+	dummy_dc: dummy_dc {
+		compatible = "zephyr,dummy-dc";
+		label = "DISPLAY";
+		height = <240>;
+		width = <320>;
+	};
+};
