From 85aaccbdb90d33d42f7c6086e961228fff06c5cc Mon Sep 17 00:00:00 2001 From: TOKITA Hiroshi Date: Fri, 27 Sep 2024 20:29:42 +0900 Subject: [PATCH] drivers: mipi_dsi: Add dummy driver for vnd,mipi-dsi Add dummy driver for "vnd,mipi-dsi" to use in build_all tests. Signed-off-by: TOKITA Hiroshi --- drivers/mipi_dsi/CMakeLists.txt | 1 + drivers/mipi_dsi/Kconfig | 1 + drivers/mipi_dsi/Kconfig.test | 6 ++++ drivers/mipi_dsi/dsi_test.c | 56 +++++++++++++++++++++++++++++ dts/bindings/test/vnd,mipi-dsi.yaml | 11 ++++++ 5 files changed, 75 insertions(+) create mode 100644 drivers/mipi_dsi/Kconfig.test create mode 100644 drivers/mipi_dsi/dsi_test.c create mode 100644 dts/bindings/test/vnd,mipi-dsi.yaml diff --git a/drivers/mipi_dsi/CMakeLists.txt b/drivers/mipi_dsi/CMakeLists.txt index 2fcae1d0bce21b..35477023c6bb9b 100644 --- a/drivers/mipi_dsi/CMakeLists.txt +++ b/drivers/mipi_dsi/CMakeLists.txt @@ -2,3 +2,4 @@ zephyr_sources_ifdef(CONFIG_MIPI_DSI mipi_dsi.c) zephyr_sources_ifdef(CONFIG_MIPI_DSI_MCUX dsi_mcux.c) zephyr_sources_ifdef(CONFIG_MIPI_DSI_MCUX_2L dsi_mcux_2l.c) zephyr_sources_ifdef(CONFIG_MIPI_DSI_STM32 dsi_stm32.c) +zephyr_sources_ifdef(CONFIG_MIPI_DSI_TEST dsi_test.c) diff --git a/drivers/mipi_dsi/Kconfig b/drivers/mipi_dsi/Kconfig index dd896de7c981ed..d98dbe421f66b1 100644 --- a/drivers/mipi_dsi/Kconfig +++ b/drivers/mipi_dsi/Kconfig @@ -23,5 +23,6 @@ config MIPI_DSI_INIT_PRIORITY source "drivers/mipi_dsi/Kconfig.mcux" source "drivers/mipi_dsi/Kconfig.stm32" +source "drivers/mipi_dsi/Kconfig.test" endif diff --git a/drivers/mipi_dsi/Kconfig.test b/drivers/mipi_dsi/Kconfig.test new file mode 100644 index 00000000000000..f9a3942b1faf37 --- /dev/null +++ b/drivers/mipi_dsi/Kconfig.test @@ -0,0 +1,6 @@ +# Copyright (c) 2024 TOKITA Hiroshi +# SPDX-License-Identifier: Apache-2.0 + +config MIPI_DSI_TEST + def_bool DT_HAS_VND_MIPI_DSI_ENABLED + depends on DT_HAS_VND_MIPI_DSI_ENABLED diff --git a/drivers/mipi_dsi/dsi_test.c b/drivers/mipi_dsi/dsi_test.c new file mode 100644 index 00000000000000..59e892e506e606 --- /dev/null +++ b/drivers/mipi_dsi/dsi_test.c @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2024 TOKITA Hiroshi + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * This is not a real mipi-dsi driver. It is used to instantiate struct + * devices for the "vnd,mipi-dsi" devicetree compatible used in test code. + */ + +#include + +#define DT_DRV_COMPAT vnd_mipi_dsi + +static int vnd_mipi_dsi_attach(const struct device *dev, uint8_t channel, + const struct mipi_dsi_device *mdev) +{ + ARG_UNUSED(dev); + ARG_UNUSED(channel); + ARG_UNUSED(mdev); + + return -ENOTSUP; +} + +static ssize_t vnd_mipi_dsi_transfer(const struct device *dev, uint8_t channel, + struct mipi_dsi_msg *msg) +{ + ARG_UNUSED(dev); + ARG_UNUSED(channel); + ARG_UNUSED(msg); + + return -1; +} + +static int vnd_mipi_dsi_detach(const struct device *dev, uint8_t channel, + const struct mipi_dsi_device *mdev) +{ + ARG_UNUSED(dev); + ARG_UNUSED(channel); + ARG_UNUSED(mdev); + + return -ENOTSUP; +} + +static struct mipi_dsi_driver_api vnd_mipi_dsi_api = { + .attach = vnd_mipi_dsi_attach, + .transfer = vnd_mipi_dsi_transfer, + .detach = vnd_mipi_dsi_detach, +}; + +#define VND_MIPI_DSI_INIT(n) \ + DEVICE_DT_INST_DEFINE(n, NULL, NULL, NULL, NULL, POST_KERNEL, \ + CONFIG_MIPI_DSI_INIT_PRIORITY, &vnd_mipi_dsi_api); + +DT_INST_FOREACH_STATUS_OKAY(VND_MIPI_DSI_INIT) diff --git a/dts/bindings/test/vnd,mipi-dsi.yaml b/dts/bindings/test/vnd,mipi-dsi.yaml new file mode 100644 index 00000000000000..6e3027819d5a45 --- /dev/null +++ b/dts/bindings/test/vnd,mipi-dsi.yaml @@ -0,0 +1,11 @@ +# +# Copyright (c) 2024 TOKITA Hiroshi +# +# SPDX-License-Identifier: Apache-2.0 +# + +description: Test MIPI DSI host + +compatible: "vnd,mipi-dsi" + +include: [mipi-dsi-host.yaml]