Add a few generic edp panels used by mt8189 chromebooks, most of them use
the same general timing. For CMN-N116BCA-EAK, the enable timing should be
200ms. For TMA-TL140VDMS03-01, the enable timing should be 80ms and the
disable timing should be 100ms.

1. AUO B122UAN01.0
2. AUO B116XAK02.0
3. AUO B140UAN08.5
4. AUO B140UAX01.2
5. BOE NV116WHM-N4B
6. BOE NV116WHM-T01
7. CMN N122JCA-ENK
8. CMN N140JCA-ELP
9. CMN N116BCA-EAK
10. CSW MNE007QS5-2
11. SCW MNE007QB2-2
12. TMA TM140VDXP01-04
13. TMA TL140VDMS03-01

Signed-off-by: Cong Yang <yangco...@huaqin.corp-partner.google.com>
---
 drivers/gpu/drm/panel/panel-edp.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-edp.c 
b/drivers/gpu/drm/panel/panel-edp.c
index d0aa602ecc9d..41ea9f65892e 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1757,6 +1757,14 @@ static const struct panel_delay delay_200_500_e80_d50 = {
        .disable = 50,
 };
 
+
+static const struct panel_delay delay_200_500_e80_d100 = {
+       .hpd_absent = 200,
+       .unprepare = 500,
+       .enable = 80,
+       .disable = 100,
+};
+
 static const struct panel_delay delay_80_500_e50 = {
        .hpd_absent = 80,
        .unprepare = 500,
@@ -1796,6 +1804,13 @@ static const struct panel_delay delay_200_500_e200_d10 = 
{
        .disable = 10,
 };
 
+static const struct panel_delay delay_200_500_e200_d50 = {
+       .hpd_absent = 200,
+       .unprepare = 500,
+       .enable = 200,
+       .disable = 50,
+};
+
 static const struct panel_delay delay_200_150_e200 = {
        .hpd_absent = 200,
        .unprepare = 150,
@@ -1865,6 +1880,7 @@ static const struct panel_delay delay_200_500_e50_d100 = {
  * Sort first by vendor, then by product ID.
  */
 static const struct edp_panel_entry edp_panels[] = {
+       EDP_PANEL_ENTRY('A', 'U', 'O', 0x04a4, &delay_200_500_e50, 
"B122UAN01.0"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x105c, &delay_200_500_e50, 
"B116XTN01.0"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x1062, &delay_200_500_e50, 
"B120XAN01.0"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x125c, &delay_200_500_e50, "Unknown"),
@@ -1883,6 +1899,7 @@ static const struct edp_panel_entry edp_panels[] = {
        EDP_PANEL_ENTRY2('A', 'U', 'O', 0x405c, &auo_b116xak01.delay, 
"B116XAK01.0",
                         &auo_b116xa3_mode),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x435c, &delay_200_500_e50, "Unknown"),
+       EDP_PANEL_ENTRY('A', 'U', 'O', 0x52b0, &delay_200_500_e80_d50, 
"B116XAK02.0"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x582d, &delay_200_500_e50, 
"B133UAN01.0"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x615c, &delay_200_500_e50, 
"B116XAN06.1"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x635c, &delay_200_500_e50, 
"B116XAN06.3"),
@@ -1890,10 +1907,12 @@ static const struct edp_panel_entry edp_panels[] = {
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x723c, &delay_200_500_e50, 
"B140XTN07.2"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x73aa, &delay_200_500_e50, 
"B116XTN02.3"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0x8594, &delay_200_500_e50, 
"B133UAN01.0"),
+       EDP_PANEL_ENTRY('A', 'U', 'O', 0x8bba, &delay_200_500_e80_d50, 
"B140UAN08.5"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0xa199, &delay_200_500_e50, 
"B116XAN06.1"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0xa7b3, &delay_200_500_e50, 
"B140UAN04.4"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0xc4b4, &delay_200_500_e50, 
"B116XAT04.1"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0xc9a8, &delay_200_500_e50, 
"B140QAN08.H"),
+       EDP_PANEL_ENTRY('A', 'U', 'O', 0xcdba, &delay_200_500_e80_d50, 
"B140UAX01.2"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0xd497, &delay_200_500_e50, 
"B120XAN01.0"),
        EDP_PANEL_ENTRY('A', 'U', 'O', 0xf390, &delay_200_500_e50, 
"B140XTN07.7"),
 
@@ -1956,7 +1975,9 @@ static const struct edp_panel_entry edp_panels[] = {
        EDP_PANEL_ENTRY('B', 'O', 'E', 0x0c93, &delay_200_500_e200, "Unknown"),
        EDP_PANEL_ENTRY('B', 'O', 'E', 0x0cb6, &delay_200_500_e200, 
"NT116WHM-N44"),
        EDP_PANEL_ENTRY('B', 'O', 'E', 0x0cfa, &delay_200_500_e50, 
"NV116WHM-A4D"),
+       EDP_PANEL_ENTRY('B', 'O', 'E', 0x0d45, &delay_200_500_e80_d50, 
"NV116WHM-N4B"),
        EDP_PANEL_ENTRY('B', 'O', 'E', 0x0d73, &delay_200_500_e80, 
"NE140WUM-N6S"),
+       EDP_PANEL_ENTRY('B', 'O', 'E', 0x0ddf, &delay_200_500_e80_d50, 
"NV116WHM-T01"),
 
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x1130, &delay_200_500_e50, 
"N116BGE-EB2"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x1132, &delay_200_500_e80_d50, 
"N116BGE-EA2"),
@@ -1978,14 +1999,17 @@ static const struct edp_panel_entry edp_panels[] = {
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x1161, &delay_200_500_e80, 
"N116BCP-EA2"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x1163, &delay_200_500_e80_d50, 
"N116BCJ-EAK"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x1247, &delay_200_500_e80_d50, 
"N120ACA-EA1"),
+       EDP_PANEL_ENTRY('C', 'M', 'N', 0x124c, &delay_200_500_e80_d50, 
"N122JCA-ENK"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x142b, &delay_200_500_e80_d50, 
"N140HCA-EAC"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x142e, &delay_200_500_e80_d50, 
"N140BGA-EA4"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x144f, &delay_200_500_e80_d50, 
"N140HGA-EA1"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x1468, &delay_200_500_e80, 
"N140HGA-EA1"),
+       EDP_PANEL_ENTRY('C', 'M', 'N', 0x14a8, &delay_200_500_e80_d50, 
"N140JCA-ELP"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x14d4, &delay_200_500_e80_d50, 
"N140HCA-EAC"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x14d6, &delay_200_500_e80_d50, 
"N140BGA-EA4"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x14e5, &delay_200_500_e80_d50, 
"N140HGA-EA1"),
        EDP_PANEL_ENTRY('C', 'M', 'N', 0x162b, &delay_200_500_e80_d50, 
"N160JCE-ELL"),
+       EDP_PANEL_ENTRY('C', 'M', 'N', 0x7402, &delay_200_500_e200_d50, 
"N116BCA-EAK"),
 
        EDP_PANEL_ENTRY('C', 'S', 'O', 0x1200, &delay_200_500_e50_d50_p2e200, 
"MNC207QS1-1"),
        EDP_PANEL_ENTRY('C', 'S', 'O', 0x1413, &delay_200_500_e50_d50_p2e200, 
"MNE007JA1-2"),
@@ -1995,6 +2019,8 @@ static const struct edp_panel_entry edp_panels[] = {
        EDP_PANEL_ENTRY('C', 'S', 'W', 0x1104, &delay_200_500_e50_d100, 
"MNB601LS1-4"),
        EDP_PANEL_ENTRY('C', 'S', 'W', 0x1448, &delay_200_500_e50, 
"MNE007QS3-7"),
        EDP_PANEL_ENTRY('C', 'S', 'W', 0x1457, &delay_80_500_e80_p2e200, 
"MNE007QS3-8"),
+       EDP_PANEL_ENTRY('C', 'S', 'W', 0x1462, &delay_200_500_e80_d50, 
"MNE007QS5-2"),
+       EDP_PANEL_ENTRY('C', 'S', 'W', 0x1468, &delay_200_500_e80_d50, 
"MNE007QB2-2"),
 
        EDP_PANEL_ENTRY('E', 'T', 'C', 0x0000, &delay_50_500_e200_d200_po2e335, 
"LP079QX1-SP0V"),
 
@@ -2041,6 +2067,9 @@ static const struct edp_panel_entry edp_panels[] = {
        EDP_PANEL_ENTRY('S', 'T', 'A', 0x0009, &delay_200_500_e250, 
"116QHD024002"),
        EDP_PANEL_ENTRY('S', 'T', 'A', 0x0100, &delay_100_500_e200, 
"2081116HHD028001-51D"),
 
+       EDP_PANEL_ENTRY('T', 'M', 'A', 0x0811, &delay_200_500_e80_d50, 
"TM140VDXP01-04"),
+       EDP_PANEL_ENTRY('T', 'M', 'A', 0x2094, &delay_200_500_e80_d100, 
"TL140VDMS03-01"),
+
        { /* sentinal */ }
 };
 
-- 
2.25.1

Reply via email to