mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
drm/panel: simple: add Tianma P0700WXF1MBAA panel
Add the Tianma P0700WXF1MBAA 7" 1280x800 LVDS RGB TFT LCD panel. Reuse the timings of the TM070JDHG34-00 as they are identical, even though they are described differently by the datasheet as noted in the comment. Power up/down timing are slightly different, so add a new struct panel_desc for that. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Link: https://lore.kernel.org/r/20250411-tianma-p0700wxf1mbaa-v3-3-acbefe9ea669@bootlin.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20250411-tianma-p0700wxf1mbaa-v3-3-acbefe9ea669@bootlin.com
This commit is contained in:
parent
716c75afd8
commit
178ac97535
|
|
@ -4442,10 +4442,10 @@ static const struct panel_desc tianma_tm070jvhg33 = {
|
|||
};
|
||||
|
||||
/*
|
||||
* The datasheet computes total blanking as back porch + front porch, not
|
||||
* including sync pulse width. This is for both H and V. To make the total
|
||||
* blanking and period correct, subtract the pulse width from the front
|
||||
* porch.
|
||||
* The TM070JDHG34-00 datasheet computes total blanking as back porch +
|
||||
* front porch, not including sync pulse width. This is for both H and
|
||||
* V. To make the total blanking and period correct, subtract the pulse
|
||||
* width from the front porch.
|
||||
*
|
||||
* This works well for the Min and Typ values, but for Max values the sync
|
||||
* pulse width is higher than back porch + front porch, so work around that
|
||||
|
|
@ -4454,6 +4454,10 @@ static const struct panel_desc tianma_tm070jvhg33 = {
|
|||
*
|
||||
* Exact datasheet values are added as a comment where they differ from the
|
||||
* ones implemented for the above reason.
|
||||
*
|
||||
* The P0700WXF1MBAA datasheet is even less detailed, only listing period
|
||||
* and total blanking time, however the resulting values are the same as
|
||||
* the TM070JDHG34-00.
|
||||
*/
|
||||
static const struct display_timing tianma_tm070jdhg34_00_timing = {
|
||||
.pixelclock = { 68400000, 71900000, 78100000 },
|
||||
|
|
@ -4486,6 +4490,24 @@ static const struct panel_desc tianma_tm070jdhg34_00 = {
|
|||
.connector_type = DRM_MODE_CONNECTOR_LVDS,
|
||||
};
|
||||
|
||||
static const struct panel_desc tianma_p0700wxf1mbaa = {
|
||||
.timings = &tianma_tm070jdhg34_00_timing,
|
||||
.num_timings = 1,
|
||||
.bpc = 8,
|
||||
.size = {
|
||||
.width = 150, /* 149.76 */
|
||||
.height = 94, /* 93.60 */
|
||||
},
|
||||
.delay = {
|
||||
.prepare = 18, /* Tr + Tp1 */
|
||||
.enable = 152, /* Tp2 + Tp5 */
|
||||
.disable = 152, /* Tp6 + Tp4 */
|
||||
.unprepare = 120, /* Tp3 */
|
||||
},
|
||||
.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
|
||||
.connector_type = DRM_MODE_CONNECTOR_LVDS,
|
||||
};
|
||||
|
||||
static const struct display_timing tianma_tm070rvhg71_timing = {
|
||||
.pixelclock = { 27700000, 29200000, 39600000 },
|
||||
.hactive = { 800, 800, 800 },
|
||||
|
|
@ -5274,6 +5296,9 @@ static const struct of_device_id platform_of_match[] = {
|
|||
}, {
|
||||
.compatible = "tfc,s9700rtwv43tr-01b",
|
||||
.data = &tfc_s9700rtwv43tr_01b,
|
||||
}, {
|
||||
.compatible = "tianma,p0700wxf1mbaa",
|
||||
.data = &tianma_p0700wxf1mbaa,
|
||||
}, {
|
||||
.compatible = "tianma,tm070jdhg30",
|
||||
.data = &tianma_tm070jdhg30,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user