Skip to content

Commit

Permalink
drm/panel: simple: Add Innolux AT056tN53V1 5.6" VGA
Browse files Browse the repository at this point in the history
Add support for the Innolux AT056tN53V1 5.6" VGA (640x480) TFT LCD
panel.

Signed-off-by: Joerg Quinten <[email protected]>
Signed-off-by: Phil Elwell <[email protected]>
  • Loading branch information
pelwell authored and popcornmix committed Dec 21, 2022
1 parent 3fe602c commit 5ca32de
Show file tree
Hide file tree
Showing 3 changed files with 112 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,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
Expand Down
76 changes: 75 additions & 1 deletion Documentation/userspace-api/media/v4l/subdev-formats.rst
Original file line number Diff line number Diff line change
Expand Up @@ -627,7 +627,7 @@ The following tables list existing packed RGB formats.
* .. _MEDIA_BUS_FMT_RGB565_1X24_CPADHI:

- MEDIA_BUS_FMT_RGB565_1X24_CPADHI
- 0x1020
- 0x1022
-
-
-
Expand Down Expand Up @@ -949,6 +949,43 @@ The following tables list existing packed RGB formats.
- g\ :sub:`5`
- g\ :sub:`4`
- g\ :sub:`3`
* .. _MEDIA-BUS-FMT-BGR666-1X18:

- MEDIA_BUS_FMT-BGR666_1X18
- 0x1023
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
Expand Down Expand Up @@ -1023,6 +1060,43 @@ The following tables list existing packed RGB formats.
- g\ :sub:`2`
- g\ :sub:`1`
- g\ :sub:`0`
* .. _MEDIA-BUS-FMT-BGR666-1X24_CPADHI:

- MEDIA_BUS_FMT_BGR666_1X24_CPADHI
- 0x1024
-
-
-
-
-
-
-
-
-
- 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
Expand Down
35 changes: 35 additions & 0 deletions drivers/gpu/drm/panel/panel-simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -2135,6 +2135,38 @@ static const struct panel_desc innolux_at043tn24 = {
.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,
Expand Down Expand Up @@ -4138,6 +4170,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
.compatible = "innolux,at056tn53v1",
.data = &innolux_at056tn53v1,
}, {
.compatible = "innolux,at070tn92",
.data = &innolux_at070tn92,
Expand Down

0 comments on commit 5ca32de

Please sign in to comment.