bcm27xx: remove linux 5.10 compatibility
[openwrt/staging/chunkeey.git] / target / linux / bcm27xx / patches-5.10 / 950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch
diff --git a/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch b/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch
deleted file mode 100644 (file)
index a5fe888..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-From 16edbdfde51fc3180cecb00ad0aa311bd4567650 Mon Sep 17 00:00:00 2001
-From: Joerg Quinten <aBUGSworstnightmare@gmail.com>
-Date: Fri, 18 Jun 2021 13:02:29 +0200
-Subject: [PATCH] Support RPi DPI interface in mode6 for 18-bit color
-
-A matching media bus format was added and an overlay for using it,
-both with FB and VC4 was added as well.
-
-Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
----
- .../bindings/display/panel/panel-simple.yaml  |  2 +
- .../media/v4l/subdev-formats.rst              | 74 +++++++++++++++++++
- drivers/gpu/drm/panel/panel-simple.c          | 35 +++++++++
- drivers/gpu/drm/vc4/vc4_dpi.c                 | 10 +++
- include/uapi/linux/media-bus-format.h         |  4 +-
- 5 files changed, 124 insertions(+), 1 deletion(-)
-
---- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
-+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
-@@ -147,6 +147,8 @@ properties:
-       - ivo,m133nwf4-r0
-         # Innolux AT043TN24 4.3" WQVGA TFT LCD panel
-       - innolux,at043tn24
-+        # Innolux AT056tN53V1 5.6" VGA (640x480) TFT LCD panel
-+      - innolux,at056tn53v1
-         # Innolux AT070TN92 7.0" WQVGA TFT LCD panel
-       - innolux,at070tn92
-         # Innolux G070Y2-L01 7" WVGA (800x480) TFT LCD panel
---- a/Documentation/userspace-api/media/v4l/subdev-formats.rst
-+++ b/Documentation/userspace-api/media/v4l/subdev-formats.rst
-@@ -908,6 +908,43 @@ The following tables list existing packe
-       - g\ :sub:`5`
-       - g\ :sub:`4`
-       - g\ :sub:`3`
-+    * .. _MEDIA-BUS-FMT-BGR666-1X18:
-+
-+      - MEDIA_BUS_FMT_RGB666_1X18
-+      - 0x101f
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      - b\ :sub:`5`
-+      - b\ :sub:`4`
-+      - b\ :sub:`3`
-+      - b\ :sub:`2`
-+      - b\ :sub:`1`
-+      - b\ :sub:`0`
-+      - g\ :sub:`5`
-+      - g\ :sub:`4`
-+      - g\ :sub:`3`
-+      - g\ :sub:`2`
-+      - g\ :sub:`1`
-+      - g\ :sub:`0`
-+      - r\ :sub:`5`
-+      - r\ :sub:`4`
-+      - r\ :sub:`3`
-+      - r\ :sub:`2`
-+      - r\ :sub:`1`
-+      - r\ :sub:`0`
-     * .. _MEDIA-BUS-FMT-RGB666-1X18:
-       - MEDIA_BUS_FMT_RGB666_1X18
-@@ -982,6 +1019,43 @@ The following tables list existing packe
-       - g\ :sub:`2`
-       - g\ :sub:`1`
-       - g\ :sub:`0`
-+    * .. _MEDIA-BUS-FMT-BGR666-1X24_CPADHI:
-+
-+      - MEDIA_BUS_FMT_BGR666_1X24_CPADHI
-+      - 0x101e
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      -
-+      - 0
-+      - 0
-+      - b\ :sub:`5`
-+      - b\ :sub:`4`
-+      - b\ :sub:`3`
-+      - b\ :sub:`2`
-+      - b\ :sub:`1`
-+      - b\ :sub:`0`
-+      - 0
-+      - 0
-+      - g\ :sub:`5`
-+      - g\ :sub:`4`
-+      - g\ :sub:`3`
-+      - g\ :sub:`2`
-+      - g\ :sub:`1`
-+      - g\ :sub:`0`
-+      - 0
-+      - 0
-+      - r\ :sub:`5`
-+      - r\ :sub:`4`
-+      - r\ :sub:`3`
-+      - r\ :sub:`2`
-+      - r\ :sub:`1`
-+      - r\ :sub:`0`
-     * .. _MEDIA-BUS-FMT-RGB666-1X24_CPADHI:
-       - MEDIA_BUS_FMT_RGB666_1X24_CPADHI
---- a/drivers/gpu/drm/panel/panel-simple.c
-+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -2094,6 +2094,38 @@ static const struct panel_desc innolux_a
-       .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
- };
-+static const struct display_timing innolux_at056tn53v1_timing = {
-+      .pixelclock = { 39700000, 39700000, 39700000},
-+      .hactive = { 640, 640, 640 },
-+      .hfront_porch = { 16, 16, 16 },
-+      .hback_porch = { 134, 134, 134 },
-+      .hsync_len = { 10, 10, 10},
-+      .vactive = { 480, 480, 480 },
-+      .vfront_porch = { 32, 32, 32},
-+      .vback_porch = { 11, 11, 11 },
-+      .vsync_len = { 2, 2, 2 },
-+      .flags = DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PHSYNC,
-+};
-+
-+static const struct panel_desc innolux_at056tn53v1 = {
-+      .timings = &innolux_at056tn53v1_timing,
-+      .num_timings = 1,
-+      .bpc = 6,
-+      .size = {
-+              .width = 112,
-+              .height = 84,
-+      },
-+      .delay = {
-+              .prepare = 50,
-+              .enable = 200,
-+              .disable = 110,
-+              .unprepare = 200,
-+      },
-+      .bus_format = MEDIA_BUS_FMT_BGR666_1X24_CPADHI,
-+      .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE,
-+      .connector_type = DRM_MODE_CONNECTOR_DPI,
-+};
-+
- static const struct drm_display_mode innolux_at070tn92_mode = {
-       .clock = 33333,
-       .hdisplay = 800,
-@@ -4077,6 +4109,9 @@ static const struct of_device_id platfor
-               .compatible = "innolux,at043tn24",
-               .data = &innolux_at043tn24,
-       }, {
-+              .compatible = "innolux,at056tn53v1",
-+              .data = &innolux_at056tn53v1,
-+      }, {
-               .compatible = "innolux,at070tn92",
-               .data = &innolux_at070tn92,
-       }, {
---- a/drivers/gpu/drm/vc4/vc4_dpi.c
-+++ b/drivers/gpu/drm/vc4/vc4_dpi.c
-@@ -165,10 +165,20 @@ static void vc4_dpi_encoder_enable(struc
-                       dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2,
-                                              DPI_FORMAT);
-                       break;
-+              case MEDIA_BUS_FMT_BGR666_1X24_CPADHI:
-+                      dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2,
-+                                             DPI_FORMAT);
-+                      dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER);
-+                      break;
-               case MEDIA_BUS_FMT_RGB666_1X18:
-                       dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1,
-                                              DPI_FORMAT);
-                       break;
-+              case MEDIA_BUS_FMT_BGR666_1X18:
-+                      dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1,
-+                                             DPI_FORMAT);
-+                      dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER);
-+                      break;
-               case MEDIA_BUS_FMT_RGB565_1X16:
-                       dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3,
-                                              DPI_FORMAT);
---- a/include/uapi/linux/media-bus-format.h
-+++ b/include/uapi/linux/media-bus-format.h
-@@ -34,7 +34,7 @@
- #define MEDIA_BUS_FMT_FIXED                   0x0001
--/* RGB - next is      0x101d */
-+/* RGB - next is      0x1020 */
- #define MEDIA_BUS_FMT_RGB444_1X12             0x1016
- #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE     0x1001
- #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE     0x1002
-@@ -45,8 +45,10 @@
- #define MEDIA_BUS_FMT_BGR565_2X8_LE           0x1006
- #define MEDIA_BUS_FMT_RGB565_2X8_BE           0x1007
- #define MEDIA_BUS_FMT_RGB565_2X8_LE           0x1008
-+#define MEDIA_BUS_FMT_BGR666_1X18             0x101f
- #define MEDIA_BUS_FMT_RGB666_1X18             0x1009
- #define MEDIA_BUS_FMT_RBG888_1X24             0x100e
-+#define MEDIA_BUS_FMT_BGR666_1X24_CPADHI      0x101e
- #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI      0x1015
- #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG               0x1010
- #define MEDIA_BUS_FMT_BGR888_1X24             0x1013