Message ID | 1524772102-3360-1-git-send-email-jsarha@ti.com |
---|---|
State | New |
Headers | show |
Series | [v5] drm/panel: simple: Add TFC S9700RTWV43TR-01B 800x480 panel support | expand |
On 04/27/18 17:25, Rob Herring wrote: > On Thu, Apr 26, 2018 at 10:48:22PM +0300, Jyri Sarha wrote: >> Add support for Three Five displays TFC S9700RTWV43TR-01B 800x480 >> panel with resistive touch found on TI's AM335X-EVM. >> >> Signed-off-by: Jyri Sarha <jsarha@ti.com> >> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com> >> cc: Thierry Reding <thierry.reding@gmail.com> >> --- >> Thanks Thierry, for reminding me about this! >> >> Changes since v4: >> - Add tfc to vendor-prefixes.txt >> >> .../display/panel/tfc,s9700rtwv43tr-01b.txt | 10 +++++++++ >> .../devicetree/bindings/vendor-prefixes.txt | 1 + >> drivers/gpu/drm/panel/panel-simple.c | 26 ++++++++++++++++++++++ >> 3 files changed, 37 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/display/panel/tfc,s9700rtwv43tr-01b.txt >> >> diff --git a/Documentation/devicetree/bindings/display/panel/tfc,s9700rtwv43tr-01b.txt b/Documentation/devicetree/bindings/display/panel/tfc,s9700rtwv43tr-01b.txt >> new file mode 100644 >> index 0000000..0b1cc71 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/display/panel/tfc,s9700rtwv43tr-01b.txt >> @@ -0,0 +1,10 @@ >> +TFC S9700RTWV43TR-01B 7" Three Five Corp 800x480 LCD panel with >> +resistive touch >> + >> +The panel is found on TI AM335x-evm. >> + >> +Required properties: >> +- compatible: should be "tfc,S9700RTWV43tr-01b" >> + >> +This binding is compatible with the simple-panel binding, which is specified >> +in simple-panel.txt in this directory. > > You need to state what properties from this apply. For example, I don't > know if power-supply is not used, used, or you made a mistake and the > panel has more than one supply. > The implementation is the same as with the other panels supported by the simple panel driver. So all the properties are supported. However, the "power" regulator is taken with devm_regulator_get(), which will supply a dummy regulator in case there is no regulator in the device node. So the power property is in fact optional. Should the simple-panel binding be updated? In AM335x-evm, that has the panel in question, there is no regulator to control and the panel is powered all the time when the board is on. But for sure there can be a board design that has a regulator to control power supply for the display. The panel need power after all. BR, Jyri -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/display/panel/tfc,s9700rtwv43tr-01b.txt b/Documentation/devicetree/bindings/display/panel/tfc,s9700rtwv43tr-01b.txt new file mode 100644 index 0000000..0b1cc71 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/tfc,s9700rtwv43tr-01b.txt @@ -0,0 +1,10 @@ +TFC S9700RTWV43TR-01B 7" Three Five Corp 800x480 LCD panel with +resistive touch + +The panel is found on TI AM335x-evm. + +Required properties: +- compatible: should be "tfc,S9700RTWV43tr-01b" + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 12e8b3e..4ec0d6b 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -356,6 +356,7 @@ technexion TechNexion technologic Technologic Systems tempo Tempo Semiconductor terasic Terasic Inc. +tfc Three Five Corp thine THine Electronics, Inc. ti Texas Instruments tianma Tianma Micro-electronics Co., Ltd. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index cbf1ab4..f2d96611 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -1891,6 +1891,29 @@ static const struct panel_desc starry_kr122ea0sra = { }, }; +static const struct drm_display_mode tfc_s9700rtwv43tr_01b_mode = { + .clock = 30000, + .hdisplay = 800, + .hsync_start = 800 + 39, + .hsync_end = 800 + 39 + 47, + .htotal = 800 + 39 + 47 + 39, + .vdisplay = 480, + .vsync_start = 480 + 13, + .vsync_end = 480 + 13 + 2, + .vtotal = 480 + 13 + 2 + 29, + .vrefresh = 62, +}; + +static const struct panel_desc tfc_s9700rtwv43tr_01b = { + .modes = &tfc_s9700rtwv43tr_01b_mode, + .num_modes = 1, + .bpc = 8, + .size = { + .width = 155, + .height = 90, + }, +}; + static const struct display_timing tianma_tm070jdhg30_timing = { .pixelclock = { 62600000, 68200000, 78100000 }, .hactive = { 1280, 1280, 1280 }, @@ -2251,6 +2274,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "starry,kr122ea0sra", .data = &starry_kr122ea0sra, }, { + .compatible = "tfc,s9700rtwv43tr-01b", + .data = &tfc_s9700rtwv43tr_01b, + }, { .compatible = "tianma,tm070jdhg30", .data = &tianma_tm070jdhg30, }, {