diff options
author | Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> | 2016-05-05 02:17:07 -0400 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2016-05-12 05:32:14 -0400 |
commit | 227e4f4079e198695b9b5df344aa0e29676a5a29 (patch) | |
tree | 77da5ec65c0fa3c034ab523d0e240f4c88429be4 | |
parent | 0647e7dd3f7ab2e0490691eae185ab0c49fc266f (diff) |
drm/panel: simple: Add support for TPK U.S.A. LLC Fusion 7" and 10.1" panels
Add support for TPK U.S.A. LLC Fusion 7", 10.1" panels to the DRM simple
panel driver.
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
4 files changed, 68 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/display/panel/tpk,f07a-0102.txt b/Documentation/devicetree/bindings/display/panel/tpk,f07a-0102.txt new file mode 100644 index 000000000000..a2613b9675df --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/tpk,f07a-0102.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | TPK U.S.A. LLC Fusion 7" integrated projected capacitive touch display with, | ||
2 | 800 x 480 (WVGA) LCD panel. | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: should be "tpk,f07a-0102" | ||
6 | |||
7 | This binding is compatible with the simple-panel binding, which is specified | ||
8 | in simple-panel.txt in this directory. | ||
diff --git a/Documentation/devicetree/bindings/display/panel/tpk,f10a-0102.txt b/Documentation/devicetree/bindings/display/panel/tpk,f10a-0102.txt new file mode 100644 index 000000000000..b9d051196ba9 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/tpk,f10a-0102.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | TPK U.S.A. LLC Fusion 10.1" integrated projected capacitive touch display with, | ||
2 | 1024 x 600 (WSVGA) LCD panel. | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: should be "tpk,f10a-0102" | ||
6 | |||
7 | This binding is compatible with the simple-panel binding, which is specified | ||
8 | in simple-panel.txt in this directory. | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 0e2b2dd6f71f..42b6688c4a98 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -249,6 +249,7 @@ toradex Toradex AG | |||
249 | toshiba Toshiba Corporation | 249 | toshiba Toshiba Corporation |
250 | toumaz Toumaz | 250 | toumaz Toumaz |
251 | tplink TP-LINK Technologies Co., Ltd. | 251 | tplink TP-LINK Technologies Co., Ltd. |
252 | tpk TPK U.S.A. LLC | ||
252 | tronfy Tronfy | 253 | tronfy Tronfy |
253 | tronsmart Tronsmart | 254 | tronsmart Tronsmart |
254 | truly Truly Semiconductors Limited | 255 | truly Truly Semiconductors Limited |
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index aac65e6d41d0..3a7bdf1c842b 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c | |||
@@ -1293,6 +1293,51 @@ static const struct panel_desc shelly_sca07010_bfn_lnn = { | |||
1293 | .bus_format = MEDIA_BUS_FMT_RGB666_1X18, | 1293 | .bus_format = MEDIA_BUS_FMT_RGB666_1X18, |
1294 | }; | 1294 | }; |
1295 | 1295 | ||
1296 | static const struct drm_display_mode tpk_f07a_0102_mode = { | ||
1297 | .clock = 33260, | ||
1298 | .hdisplay = 800, | ||
1299 | .hsync_start = 800 + 40, | ||
1300 | .hsync_end = 800 + 40 + 128, | ||
1301 | .htotal = 800 + 40 + 128 + 88, | ||
1302 | .vdisplay = 480, | ||
1303 | .vsync_start = 480 + 10, | ||
1304 | .vsync_end = 480 + 10 + 2, | ||
1305 | .vtotal = 480 + 10 + 2 + 33, | ||
1306 | .vrefresh = 60, | ||
1307 | }; | ||
1308 | |||
1309 | static const struct panel_desc tpk_f07a_0102 = { | ||
1310 | .modes = &tpk_f07a_0102_mode, | ||
1311 | .num_modes = 1, | ||
1312 | .size = { | ||
1313 | .width = 152, | ||
1314 | .height = 91, | ||
1315 | }, | ||
1316 | .bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE, | ||
1317 | }; | ||
1318 | |||
1319 | static const struct drm_display_mode tpk_f10a_0102_mode = { | ||
1320 | .clock = 45000, | ||
1321 | .hdisplay = 1024, | ||
1322 | .hsync_start = 1024 + 176, | ||
1323 | .hsync_end = 1024 + 176 + 5, | ||
1324 | .htotal = 1024 + 176 + 5 + 88, | ||
1325 | .vdisplay = 600, | ||
1326 | .vsync_start = 600 + 20, | ||
1327 | .vsync_end = 600 + 20 + 5, | ||
1328 | .vtotal = 600 + 20 + 5 + 25, | ||
1329 | .vrefresh = 60, | ||
1330 | }; | ||
1331 | |||
1332 | static const struct panel_desc tpk_f10a_0102 = { | ||
1333 | .modes = &tpk_f10a_0102_mode, | ||
1334 | .num_modes = 1, | ||
1335 | .size = { | ||
1336 | .width = 223, | ||
1337 | .height = 125, | ||
1338 | }, | ||
1339 | }; | ||
1340 | |||
1296 | static const struct display_timing urt_umsh_8596md_timing = { | 1341 | static const struct display_timing urt_umsh_8596md_timing = { |
1297 | .pixelclock = { 33260000, 33260000, 33260000 }, | 1342 | .pixelclock = { 33260000, 33260000, 33260000 }, |
1298 | .hactive = { 800, 800, 800 }, | 1343 | .hactive = { 800, 800, 800 }, |
@@ -1445,6 +1490,12 @@ static const struct of_device_id platform_of_match[] = { | |||
1445 | .compatible = "shelly,sca07010-bfn-lnn", | 1490 | .compatible = "shelly,sca07010-bfn-lnn", |
1446 | .data = &shelly_sca07010_bfn_lnn, | 1491 | .data = &shelly_sca07010_bfn_lnn, |
1447 | }, { | 1492 | }, { |
1493 | .compatible = "tpk,f07a-0102", | ||
1494 | .data = &tpk_f07a_0102, | ||
1495 | }, { | ||
1496 | .compatible = "tpk,f10a-0102", | ||
1497 | .data = &tpk_f10a_0102, | ||
1498 | }, { | ||
1448 | .compatible = "urt,umsh-8596md-t", | 1499 | .compatible = "urt,umsh-8596md-t", |
1449 | .data = &urt_umsh_8596md_parallel, | 1500 | .data = &urt_umsh_8596md_parallel, |
1450 | }, { | 1501 | }, { |