|
|
@@ -0,0 +1,84 @@
|
|
|
+diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
|
|
|
+index 2be358fb46f7..8841a833d9ad 100644
|
|
|
+--- a/drivers/gpu/drm/panel/panel-simple.c
|
|
|
++++ b/drivers/gpu/drm/panel/panel-simple.c
|
|
|
+@@ -595,14 +595,14 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
|
|
|
+ dev_warn(dev, "Expected bpc in {6,8} but got: %u\n", desc->bpc);
|
|
|
+ break;
|
|
|
+ case DRM_MODE_CONNECTOR_DPI:
|
|
|
+- bus_flags = DRM_BUS_FLAG_DE_LOW |
|
|
|
+- DRM_BUS_FLAG_DE_HIGH |
|
|
|
+- DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE |
|
|
|
+- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE |
|
|
|
+- DRM_BUS_FLAG_DATA_MSB_TO_LSB |
|
|
|
+- DRM_BUS_FLAG_DATA_LSB_TO_MSB |
|
|
|
+- DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE |
|
|
|
+- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE;
|
|
|
++ /* bus_flags = DRM_BUS_FLAG_DE_LOW | */
|
|
|
++ /* DRM_BUS_FLAG_DE_HIGH | */
|
|
|
++ /* DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE | */
|
|
|
++ /* DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | */
|
|
|
++ /* DRM_BUS_FLAG_DATA_MSB_TO_LSB | */
|
|
|
++ /* DRM_BUS_FLAG_DATA_LSB_TO_MSB | */
|
|
|
++ /* DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE | */
|
|
|
++ /* DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE; */
|
|
|
+ if (desc->bus_flags & ~bus_flags)
|
|
|
+ dev_warn(dev, "Unexpected bus_flags(%d)\n", desc->bus_flags & ~bus_flags);
|
|
|
+ if (!(desc->bus_flags & bus_flags))
|
|
|
+@@ -1916,6 +1916,46 @@ static const struct panel_desc frida_frd350h54004 = {
|
|
|
+ .connector_type = DRM_MODE_CONNECTOR_DPI,
|
|
|
+ };
|
|
|
+
|
|
|
++static const struct drm_display_mode wisecoco_jt035ips02_modes[] = {
|
|
|
++ { /* 60 Hz */
|
|
|
++ .clock = 36000,
|
|
|
++ .hdisplay = 640,
|
|
|
++ .hsync_start = 640 + 42,
|
|
|
++ .hsync_end = 640 + 42 + 104,
|
|
|
++ .htotal = 640 + 42 + 104 + 174,
|
|
|
++ .vdisplay = 480,
|
|
|
++ .vsync_start = 480 + 16,
|
|
|
++ .vsync_end = 480 + 16 + 14,
|
|
|
++ .vtotal = 480 + 16 + 14 + 115,
|
|
|
++ //.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
|
|
|
++ },
|
|
|
++ { /* 50 Hz */
|
|
|
++ .clock = 5400,
|
|
|
++ .hdisplay = 640,
|
|
|
++ .hsync_start = 640 + 42,
|
|
|
++ .hsync_end = 640 + 42 + 44,
|
|
|
++ .htotal = 640 + 42 + 44 + 74,
|
|
|
++ .vdisplay = 480,
|
|
|
++ .vsync_start = 480 + 16,
|
|
|
++ .vsync_end = 480 + 16 + 14,
|
|
|
++ .vtotal = 480 + 16 + 14 + 30,
|
|
|
++ //.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
|
|
|
++ },
|
|
|
++};
|
|
|
++
|
|
|
++static const struct panel_desc wisecoco_jt035ips02 = {
|
|
|
++ .modes = wisecoco_jt035ips02_modes,
|
|
|
++ .num_modes = ARRAY_SIZE(wisecoco_jt035ips02_modes),
|
|
|
++ .bpc = 8,
|
|
|
++ .size = {
|
|
|
++ .width = 70,
|
|
|
++ .height = 52,
|
|
|
++ },
|
|
|
++ .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
|
|
|
++ .bus_flags = DRM_BUS_FLAG_DE_HIGH, DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
|
|
|
++ .connector_type = DRM_MODE_CONNECTOR_DPI,
|
|
|
++};
|
|
|
++
|
|
|
+ static const struct drm_display_mode friendlyarm_hd702e_mode = {
|
|
|
+ .clock = 67185,
|
|
|
+ .hdisplay = 800,
|
|
|
+@@ -4053,6 +4093,9 @@ static const struct of_device_id platform_of_match[] = {
|
|
|
+ }, {
|
|
|
+ .compatible = "frida,frd350h54004",
|
|
|
+ .data = &frida_frd350h54004,
|
|
|
++ }, {
|
|
|
++ .compatible = "wisecoco,jt035ips02",
|
|
|
++ .data = &wisecoco_jt035ips02,
|
|
|
+ }, {
|
|
|
+ .compatible = "friendlyarm,hd702e",
|
|
|
+ .data = &friendlyarm_hd702e,
|