@@ -1326,6 +1326,29 @@ static const struct panel_desc innolux_g121x1_l03 = {
},
};
+static const struct drm_display_mode innolux_ls075at011_mode = {
+ .clock = 56930,
+ .hdisplay = 1200,
+ .hsync_start = 1200 + 26,
+ .hsync_end = 1200 + 26 + 6,
+ .htotal = 1200 + 26 + 6 + 24,
+ .vdisplay = 900,
+ .vsync_start = 900 + 4,
+ .vsync_end = 900 + 4 + 3,
+ .vtotal = 900 + 4 + 3 + 5,
+ .vrefresh = 50,
+ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
+};
+
+static const struct panel_desc innolux_ls075at011 = {
+ .modes = &innolux_ls075at011_mode,
+ .num_modes = 1,
+ .size = {
+ .width = 152,
+ .height = 115,
+ },
+};
+
static const struct drm_display_mode innolux_n116bge_mode = {
.clock = 76420,
.hdisplay = 1366,
@@ -2449,6 +2472,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "innolux,g121x1-l03",
.data = &innolux_g121x1_l03,
+ }, {
+ .compatible = "innolux,ls075at011",
+ .data = &innolux_ls075at011,
}, {
.compatible = "innolux,n116bge",
.data = &innolux_n116bge,
This adds support for Innolux LS075AT011 7.5" 1200x900 panel. The panel is not a regular LCD with RGB pixels. Its pixels are just of one color, organized like this: g b r b r g . . . r g b . . . It's controlled by the Himax HX8837, which takes the RGB data, optionally dithers the colors by swizzling and drives the panel. I couldn't determine what the bus_format is. There's six data pins marked FD00, FD01, FD10, FD11, FD20 and FD21. There's no public data sheet. The clock is taken from the OLPC's OpenFirmware, I don't know why precisely that number. It seems to work. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> --- drivers/gpu/drm/panel/panel-simple.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)