wisecoco_panel.patch.bak 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
  2. index 2be358fb46f7..8841a833d9ad 100644
  3. --- a/drivers/gpu/drm/panel/panel-simple.c
  4. +++ b/drivers/gpu/drm/panel/panel-simple.c
  5. @@ -595,14 +595,14 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
  6. dev_warn(dev, "Expected bpc in {6,8} but got: %u\n", desc->bpc);
  7. break;
  8. case DRM_MODE_CONNECTOR_DPI:
  9. - bus_flags = DRM_BUS_FLAG_DE_LOW |
  10. - DRM_BUS_FLAG_DE_HIGH |
  11. - DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE |
  12. - DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE |
  13. - DRM_BUS_FLAG_DATA_MSB_TO_LSB |
  14. - DRM_BUS_FLAG_DATA_LSB_TO_MSB |
  15. - DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE |
  16. - DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE;
  17. + /* bus_flags = DRM_BUS_FLAG_DE_LOW | */
  18. + /* DRM_BUS_FLAG_DE_HIGH | */
  19. + /* DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE | */
  20. + /* DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | */
  21. + /* DRM_BUS_FLAG_DATA_MSB_TO_LSB | */
  22. + /* DRM_BUS_FLAG_DATA_LSB_TO_MSB | */
  23. + /* DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE | */
  24. + /* DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE; */
  25. if (desc->bus_flags & ~bus_flags)
  26. dev_warn(dev, "Unexpected bus_flags(%d)\n", desc->bus_flags & ~bus_flags);
  27. if (!(desc->bus_flags & bus_flags))
  28. @@ -1916,6 +1916,46 @@ static const struct panel_desc frida_frd350h54004 = {
  29. .connector_type = DRM_MODE_CONNECTOR_DPI,
  30. };
  31. +static const struct drm_display_mode wisecoco_jt035ips02_modes[] = {
  32. + { /* 60 Hz */
  33. + .clock = 36000,
  34. + .hdisplay = 640,
  35. + .hsync_start = 640 + 42,
  36. + .hsync_end = 640 + 42 + 104,
  37. + .htotal = 640 + 42 + 104 + 174,
  38. + .vdisplay = 480,
  39. + .vsync_start = 480 + 16,
  40. + .vsync_end = 480 + 16 + 14,
  41. + .vtotal = 480 + 16 + 14 + 115,
  42. + //.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
  43. + },
  44. + { /* 50 Hz */
  45. + .clock = 5400,
  46. + .hdisplay = 640,
  47. + .hsync_start = 640 + 42,
  48. + .hsync_end = 640 + 42 + 44,
  49. + .htotal = 640 + 42 + 44 + 74,
  50. + .vdisplay = 480,
  51. + .vsync_start = 480 + 16,
  52. + .vsync_end = 480 + 16 + 14,
  53. + .vtotal = 480 + 16 + 14 + 30,
  54. + //.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
  55. + },
  56. +};
  57. +
  58. +static const struct panel_desc wisecoco_jt035ips02 = {
  59. + .modes = wisecoco_jt035ips02_modes,
  60. + .num_modes = ARRAY_SIZE(wisecoco_jt035ips02_modes),
  61. + .bpc = 8,
  62. + .size = {
  63. + .width = 70,
  64. + .height = 52,
  65. + },
  66. + .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
  67. + .bus_flags = DRM_BUS_FLAG_DE_HIGH, DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
  68. + .connector_type = DRM_MODE_CONNECTOR_DPI,
  69. +};
  70. +
  71. static const struct drm_display_mode friendlyarm_hd702e_mode = {
  72. .clock = 67185,
  73. .hdisplay = 800,
  74. @@ -4053,6 +4093,9 @@ static const struct of_device_id platform_of_match[] = {
  75. }, {
  76. .compatible = "frida,frd350h54004",
  77. .data = &frida_frd350h54004,
  78. + }, {
  79. + .compatible = "wisecoco,jt035ips02",
  80. + .data = &wisecoco_jt035ips02,
  81. }, {
  82. .compatible = "friendlyarm,hd702e",
  83. .data = &friendlyarm_hd702e,