From 90a8879e58e9e6d96bac3c28ac99a2cc5a66a064 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 14 Feb 2022 15:34:51 +0000 Subject: [PATCH 1/2] drm/vc4: For DPI, MEDIA_BUS_FMT_RGB565_1X16 is mode 1, not 3. The mapping is incorrect for RGB565_1X16 as it should be DPI_FORMAT_18BIT_666_RGB_1 instead of DPI_FORMAT_18BIT_666_RGB_3. Signed-off-by: Dave Stevenson --- drivers/gpu/drm/vc4/vc4_dpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_dpi.c b/drivers/gpu/drm/vc4/vc4_dpi.c index 0d4fb6818d5161..1bf1a4c6033d8c 100644 --- a/drivers/gpu/drm/vc4/vc4_dpi.c +++ b/drivers/gpu/drm/vc4/vc4_dpi.c @@ -188,7 +188,7 @@ static void vc4_dpi_encoder_enable(struct drm_encoder *encoder) DPI_ORDER); break; case MEDIA_BUS_FMT_RGB565_1X16: - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3, + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_1, DPI_FORMAT); break; case MEDIA_BUS_FMT_RGB565_1X24_CPADHI: From cd762b4ff5ac2e3914189e135deb8ae9e3787742 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 14 Feb 2022 15:59:32 +0000 Subject: [PATCH 2/2] dtoverlays: Add additional mappings to vc4-kms-dpi-generic Adds mappings for bgr666, bgr666-padhi, and bgr888. Signed-off-by: Dave Stevenson --- arch/arm/boot/dts/overlays/README | 4 ++++ arch/arm/boot/dts/overlays/vc4-kms-dpi-generic-overlay.dts | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README index e601f4dbcb0c09..b423f5d57f1f79 100644 --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -3651,8 +3651,12 @@ Params: clock-frequency Display clock frequency (Hz) rgb565 Change to RGB565 output on GPIOs 0-19 rgb565-padhi Change to RGB565 output on GPIOs 0-8, 12-17, and 20-24 + bgr666 Change to BGR666 output on GPIOs 0-21. + bgr666-padhi Change to BGR666 output on GPIOs 0-9, 12-17, and + 20-25 rgb666-padhi Change to RGB666 output on GPIOs 0-9, 12-17, and 20-25 + bgr888 Change to BGR888 output on GPIOs 0-27 rgb888 Change to RGB888 output on GPIOs 0-27 bus-format Override the bus format for a MEDIA_BUS_FMT_* value. NB also overridden by rgbXXX overrides. diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dpi-generic-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dpi-generic-overlay.dts index bf2ac6fe1b0d92..85875c26629605 100644 --- a/arch/arm/boot/dts/overlays/vc4-kms-dpi-generic-overlay.dts +++ b/arch/arm/boot/dts/overlays/vc4-kms-dpi-generic-overlay.dts @@ -67,8 +67,13 @@ <&dpi_node_generic>, "pinctrl-0:0=",<&dpi_16bit_gpio0>; rgb565-padhi = <&panel_generic>, "bus-format:0=0x1020", <&dpi_node_generic>, "pinctrl-0:0=",<&dpi_16bit_cpadhi_gpio0>; + bgr666 = <&panel_generic>, "bus-format:0=0x101f"; + bgr666-padhi = <&panel_generic>, "bus-format:0=0x101e", + <&dpi_node_generic>, "pinctrl-0:0=",<&dpi_18bit_cpadhi_gpio0>; rgb666-padhi = <&panel_generic>, "bus-format:0=0x1015", <&dpi_node_generic>, "pinctrl-0:0=",<&dpi_18bit_cpadhi_gpio0>; + bgr888 = <&panel_generic>, "bus-format:0=0x1013", + <&dpi_node_generic>, "pinctrl-0:0=",<&dpi_gpio0>; rgb888 = <&panel_generic>, "bus-format:0=0x100a", <&dpi_node_generic>, "pinctrl-0:0=",<&dpi_gpio0>; bus-format = <&panel_generic>, "bus-format:0";