bcm27xx: remove linux 5.10 compatibility
[openwrt/staging/chunkeey.git] / target / linux / bcm27xx / patches-5.10 / 950-0517-staging-fbtft-Add-minipitft13-variant.patch
diff --git a/target/linux/bcm27xx/patches-5.10/950-0517-staging-fbtft-Add-minipitft13-variant.patch b/target/linux/bcm27xx/patches-5.10/950-0517-staging-fbtft-Add-minipitft13-variant.patch
deleted file mode 100644 (file)
index 9842e92..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-From b279b2516d9fc40cc491b142fbf453f9533f6e4f Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.com>
-Date: Fri, 19 Feb 2021 10:25:01 +0000
-Subject: [PATCH] staging: fbtft: Add minipitft13 variant
-
-The Adafruit Mini-PiTFT13 display needs offsets applying when rotated,
-so use the "variant" mechanism to select a custom set_addr_win method
-using a dedicated compatible string of "fbtft,minipitft13".
-
-See: https://github.com/raspberrypi/firmware/issues/1524
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.com>
----
- drivers/staging/fbtft/fb_st7789v.c | 45 +++++++++++++++++++++++++++++-
- 1 file changed, 44 insertions(+), 1 deletion(-)
-
---- a/drivers/staging/fbtft/fb_st7789v.c
-+++ b/drivers/staging/fbtft/fb_st7789v.c
-@@ -66,6 +66,12 @@ enum st7789v_command {
- #define MADCTL_MX BIT(6) /* bitmask for column address order */
- #define MADCTL_MY BIT(7) /* bitmask for page address order */
-+static u32 col_offset = 0;
-+static u32 row_offset = 0;
-+static u8 col_hack_fix_offset = 0;
-+static short x_offset = 0;
-+static short y_offset = 0;
-+
- /**
-  * init_display() - initialize the display controller
-  *
-@@ -147,6 +153,22 @@ static int init_display(struct fbtft_par
-       return 0;
- }
-+static void minipitft13_set_addr_win(struct fbtft_par *par, int xs, int ys,
-+                                   int xe, int ye)
-+{
-+      xs += x_offset;
-+      xe += x_offset;
-+      ys += y_offset;
-+      ye += y_offset;
-+      write_reg(par, MIPI_DCS_SET_COLUMN_ADDRESS,
-+                xs >> 8, xs & 0xFF, xe >> 8, xe & 0xFF);
-+
-+      write_reg(par, MIPI_DCS_SET_PAGE_ADDRESS,
-+                ys >> 8, ys & 0xFF, ye >> 8, ye & 0xFF);
-+
-+      write_reg(par, MIPI_DCS_WRITE_MEMORY_START);
-+}
-+
- /**
-  * set_var() - apply LCD properties like rotation and BGR mode
-  *
-@@ -157,20 +179,32 @@ static int init_display(struct fbtft_par
- static int set_var(struct fbtft_par *par)
- {
-       u8 madctl_par = 0;
-+      struct fbtft_display *display = &par->pdata->display;
-+      u32 width = display->width;
-+      u32 height = display->height;
-       if (par->bgr)
-               madctl_par |= MADCTL_BGR;
-       switch (par->info->var.rotate) {
-       case 0:
-+              x_offset = 0;
-+              y_offset = 0;
-               break;
-       case 90:
-               madctl_par |= (MADCTL_MV | MADCTL_MY);
-+              x_offset = (320 - height) - row_offset;
-+              y_offset = (240 - width) - col_offset;
-               break;
-       case 180:
-               madctl_par |= (MADCTL_MX | MADCTL_MY);
-+              x_offset = (240 - width) - col_offset + col_hack_fix_offset;
-+              // hack tweak to account for extra pixel width to make even
-+              y_offset = (320 - height) - row_offset;
-               break;
-       case 270:
-               madctl_par |= (MADCTL_MV | MADCTL_MX);
-+              x_offset = row_offset;
-+              y_offset = col_offset;
-               break;
-       default:
-               return -EINVAL;
-@@ -267,7 +301,16 @@ static struct fbtft_display display = {
-       },
- };
--FBTFT_REGISTER_DRIVER(DRVNAME, "sitronix,st7789v", &display);
-+int variant_minipitft13(struct fbtft_display *display)
-+{
-+      display->fbtftops.set_addr_win = minipitft13_set_addr_win;
-+      return 0;
-+}
-+
-+FBTFT_REGISTER_DRIVER_START(&display)
-+FBTFT_COMPATIBLE("sitronix,st7789v")
-+FBTFT_VARIANT_COMPATIBLE("fbtft,minipitft13", variant_minipitft13)
-+FBTFT_REGISTER_DRIVER_END(DRVNAME, &display);
- MODULE_ALIAS("spi:" DRVNAME);
- MODULE_ALIAS("platform:" DRVNAME);