mirror of https://gitee.com/openkylin/linux.git
drm/panel: Changes for v4.11-rc1
This set contains a couple of cleanups as well as support for a few more simple panels. -----BEGIN PGP SIGNATURE----- iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlivHekTHHRyZWRpbmdA bnZpZGlhLmNvbQAKCRDdI6zXfz6zofTfEACk2GdNP2ZNfXmPGkTmgnFRghWDa64J 7j+SMI/5D/6B/xR7obgj1vjEEnLEeY515IXxA+l04QRndsm2X3HGo3GwhrrkAfAl HDZR4UuXxyEWJz2G4eMrqwMril0LwUlMSXkelWR9hleFGeL9PZjt9XnRYFXgBEFA nyvC7VQIN5yz/d6rzRLUuWwnDrcnV4sRHssMucyht4xk8SAnSjAvJhJ6/5PQMkSL aMLOUcFMfhew66EEIZrA402NZlCGGM2OnRGD0qBoH45T2Wipxw2oR6jVwROgDgRS O5nKOLM+zktcdfmPJsP4PV3Z5oyhhilPTlGWEnIVEcBtWHS1hZbExgX7TqWgaqVD Il7Wnjiar8Yy7XpVdjyZtztvanNkHP+HW4BoHkhvMLiJIwMJ5y+VCBlZ6d02LQpZ qdCE2NCjLDmV5ro5FujWk/bdCx+YDwqVxhluiYYzMdweRTgmRE2On0zGVJciSUeX 2CQhKau4lOJUjbEu+T5qLQgfXUhiUKFcI997x6elf74iwTncj22TCbRDshN7nct2 HkBJviuLW1SqsZ0eZ+N4GaFr14INRVeFm21dwAU/VVkN95GKm1IOILs4ZruvT6WM iLJRQ9a2CGoJYLPYBfCETACm3CiwJZeeIMc581iC+wOWL2YjQpC0iooXmq6RChF0 waAtb9/cQlHYgQ== =vKBu -----END PGP SIGNATURE----- Merge tag 'drm/panel/for-4.11-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/panel: Changes for v4.11-rc1 This set contains a couple of cleanups as well as support for a few more simple panels. * tag 'drm/panel/for-4.11-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/panel: simple: Specify bus width and flags for EDT displays drm/panel: simple: Add Netron DY E231732 of: Add vendor prefix for Netron DY drm/panel: simple: Add support for Tianma TM070JDHG30 of: Add vendor prefix for Tianma Micro-electronics drm/panel: simple: Add support BOE NV101WXMN51 dt-bindings: display: Add BOE NV101WXMN51 panel binding drm/panel: Constify device node argument to of_drm_find_panel()
This commit is contained in:
commit
894ebc414d
|
@ -0,0 +1,7 @@
|
|||
BOE OPTOELECTRONICS TECHNOLOGY 10.1" WXGA TFT LCD panel
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "boe,nv101wxmn51"
|
||||
|
||||
This binding is compatible with the simple-panel binding, which is specified
|
||||
in simple-panel.txt in this directory.
|
|
@ -0,0 +1,7 @@
|
|||
Netron-DY E231732 7.0" WSVGA TFT LCD panel
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "netron-dy,e231732"
|
||||
|
||||
This binding is compatible with the simple-panel binding, which is specified
|
||||
in simple-panel.txt in this directory.
|
|
@ -0,0 +1,7 @@
|
|||
Tianma Micro-electronics TM070JDHG30 7.0" WXGA TFT LCD panel
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "tianma,tm070jdhg30"
|
||||
|
||||
This binding is compatible with the simple-panel binding, which is specified
|
||||
in simple-panel.txt in this directory.
|
|
@ -197,6 +197,7 @@ nec NEC LCD Technologies, Ltd.
|
|||
neonode Neonode Inc.
|
||||
netgear NETGEAR
|
||||
netlogic Broadcom Corporation (formerly NetLogic Microsystems)
|
||||
netron-dy Netron DY
|
||||
netxeon Shenzhen Netxeon Technology CO., LTD
|
||||
nexbox Nexbox
|
||||
newhaven Newhaven Display International
|
||||
|
@ -297,6 +298,7 @@ technologic Technologic Systems
|
|||
terasic Terasic Inc.
|
||||
thine THine Electronics, Inc.
|
||||
ti Texas Instruments
|
||||
tianma Tianma Micro-electronics Co., Ltd.
|
||||
tlm Trusted Logic Mobility
|
||||
topeet Topeet
|
||||
toradex Toradex AG
|
||||
|
|
|
@ -137,7 +137,7 @@ EXPORT_SYMBOL(drm_panel_detach);
|
|||
* Return: A pointer to the panel registered for the specified device tree
|
||||
* node or NULL if no panel matching the device tree node can be found.
|
||||
*/
|
||||
struct drm_panel *of_drm_find_panel(struct device_node *np)
|
||||
struct drm_panel *of_drm_find_panel(const struct device_node *np)
|
||||
{
|
||||
struct drm_panel *panel;
|
||||
|
||||
|
|
|
@ -668,6 +668,48 @@ static const struct panel_desc avic_tm070ddh03 = {
|
|||
},
|
||||
};
|
||||
|
||||
static const struct drm_display_mode boe_nv101wxmn51_modes[] = {
|
||||
{
|
||||
.clock = 71900,
|
||||
.hdisplay = 1280,
|
||||
.hsync_start = 1280 + 48,
|
||||
.hsync_end = 1280 + 48 + 32,
|
||||
.htotal = 1280 + 48 + 32 + 80,
|
||||
.vdisplay = 800,
|
||||
.vsync_start = 800 + 3,
|
||||
.vsync_end = 800 + 3 + 5,
|
||||
.vtotal = 800 + 3 + 5 + 24,
|
||||
.vrefresh = 60,
|
||||
},
|
||||
{
|
||||
.clock = 57500,
|
||||
.hdisplay = 1280,
|
||||
.hsync_start = 1280 + 48,
|
||||
.hsync_end = 1280 + 48 + 32,
|
||||
.htotal = 1280 + 48 + 32 + 80,
|
||||
.vdisplay = 800,
|
||||
.vsync_start = 800 + 3,
|
||||
.vsync_end = 800 + 3 + 5,
|
||||
.vtotal = 800 + 3 + 5 + 24,
|
||||
.vrefresh = 48,
|
||||
},
|
||||
};
|
||||
|
||||
static const struct panel_desc boe_nv101wxmn51 = {
|
||||
.modes = boe_nv101wxmn51_modes,
|
||||
.num_modes = ARRAY_SIZE(boe_nv101wxmn51_modes),
|
||||
.bpc = 8,
|
||||
.size = {
|
||||
.width = 217,
|
||||
.height = 136,
|
||||
},
|
||||
.delay = {
|
||||
.prepare = 210,
|
||||
.enable = 50,
|
||||
.unprepare = 160,
|
||||
},
|
||||
};
|
||||
|
||||
static const struct drm_display_mode chunghwa_claa070wp03xg_mode = {
|
||||
.clock = 66770,
|
||||
.hdisplay = 800,
|
||||
|
@ -760,6 +802,8 @@ static const struct panel_desc edt_et057090dhu = {
|
|||
.width = 115,
|
||||
.height = 86,
|
||||
},
|
||||
.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
|
||||
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE,
|
||||
};
|
||||
|
||||
static const struct drm_display_mode edt_etm0700g0dh6_mode = {
|
||||
|
@ -784,6 +828,8 @@ static const struct panel_desc edt_etm0700g0dh6 = {
|
|||
.width = 152,
|
||||
.height = 91,
|
||||
},
|
||||
.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
|
||||
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE,
|
||||
};
|
||||
|
||||
static const struct drm_display_mode foxlink_fl500wvr00_a0t_mode = {
|
||||
|
@ -1277,6 +1323,29 @@ static const struct panel_desc nec_nl4827hc19_05b = {
|
|||
.bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
|
||||
};
|
||||
|
||||
static const struct drm_display_mode netron_dy_e231732_mode = {
|
||||
.clock = 66000,
|
||||
.hdisplay = 1024,
|
||||
.hsync_start = 1024 + 160,
|
||||
.hsync_end = 1024 + 160 + 70,
|
||||
.htotal = 1024 + 160 + 70 + 90,
|
||||
.vdisplay = 600,
|
||||
.vsync_start = 600 + 127,
|
||||
.vsync_end = 600 + 127 + 20,
|
||||
.vtotal = 600 + 127 + 20 + 3,
|
||||
.vrefresh = 60,
|
||||
};
|
||||
|
||||
static const struct panel_desc netron_dy_e231732 = {
|
||||
.modes = &netron_dy_e231732_mode,
|
||||
.num_modes = 1,
|
||||
.size = {
|
||||
.width = 154,
|
||||
.height = 87,
|
||||
},
|
||||
.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
|
||||
};
|
||||
|
||||
static const struct drm_display_mode nvd_9128_mode = {
|
||||
.clock = 29500,
|
||||
.hdisplay = 800,
|
||||
|
@ -1632,6 +1701,30 @@ static const struct panel_desc starry_kr122ea0sra = {
|
|||
},
|
||||
};
|
||||
|
||||
static const struct display_timing tianma_tm070jdhg30_timing = {
|
||||
.pixelclock = { 62600000, 68200000, 78100000 },
|
||||
.hactive = { 1280, 1280, 1280 },
|
||||
.hfront_porch = { 15, 64, 159 },
|
||||
.hback_porch = { 5, 5, 5 },
|
||||
.hsync_len = { 1, 1, 256 },
|
||||
.vactive = { 800, 800, 800 },
|
||||
.vfront_porch = { 3, 40, 99 },
|
||||
.vback_porch = { 2, 2, 2 },
|
||||
.vsync_len = { 1, 1, 128 },
|
||||
.flags = DISPLAY_FLAGS_DE_HIGH,
|
||||
};
|
||||
|
||||
static const struct panel_desc tianma_tm070jdhg30 = {
|
||||
.timings = &tianma_tm070jdhg30_timing,
|
||||
.num_timings = 1,
|
||||
.bpc = 8,
|
||||
.size = {
|
||||
.width = 151,
|
||||
.height = 95,
|
||||
},
|
||||
.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
|
||||
};
|
||||
|
||||
static const struct drm_display_mode tpk_f07a_0102_mode = {
|
||||
.clock = 33260,
|
||||
.hdisplay = 800,
|
||||
|
@ -1747,6 +1840,9 @@ static const struct of_device_id platform_of_match[] = {
|
|||
}, {
|
||||
.compatible = "avic,tm070ddh03",
|
||||
.data = &avic_tm070ddh03,
|
||||
}, {
|
||||
.compatible = "boe,nv101wxmn51",
|
||||
.data = &boe_nv101wxmn51,
|
||||
}, {
|
||||
.compatible = "chunghwa,claa070wp03xg",
|
||||
.data = &chunghwa_claa070wp03xg,
|
||||
|
@ -1825,6 +1921,9 @@ static const struct of_device_id platform_of_match[] = {
|
|||
}, {
|
||||
.compatible = "nec,nl4827hc19-05b",
|
||||
.data = &nec_nl4827hc19_05b,
|
||||
}, {
|
||||
.compatible = "netron-dy,e231732",
|
||||
.data = &netron_dy_e231732,
|
||||
}, {
|
||||
.compatible = "nvd,9128",
|
||||
.data = &nvd_9128,
|
||||
|
@ -1867,6 +1966,9 @@ static const struct of_device_id platform_of_match[] = {
|
|||
}, {
|
||||
.compatible = "starry,kr122ea0sra",
|
||||
.data = &starry_kr122ea0sra,
|
||||
}, {
|
||||
.compatible = "tianma,tm070jdhg30",
|
||||
.data = &tianma_tm070jdhg30,
|
||||
}, {
|
||||
.compatible = "tpk,f07a-0102",
|
||||
.data = &tpk_f07a_0102,
|
||||
|
|
|
@ -193,9 +193,9 @@ int drm_panel_attach(struct drm_panel *panel, struct drm_connector *connector);
|
|||
int drm_panel_detach(struct drm_panel *panel);
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
struct drm_panel *of_drm_find_panel(struct device_node *np);
|
||||
struct drm_panel *of_drm_find_panel(const struct device_node *np);
|
||||
#else
|
||||
static inline struct drm_panel *of_drm_find_panel(struct device_node *np)
|
||||
static inline struct drm_panel *of_drm_find_panel(const struct device_node *np)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue