Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com --- Hi all,
This patch is the follow-up of a request from Philipp to add the Okaya display to the simple panel driver. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346657.html
Regards, Gary --- .../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 ++++++ .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel + +Required properties: +- compatible: should be "okaya,rs800480t_7x0gp" + +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 4f35a00..06ce91c 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -145,6 +145,7 @@ nintendo Nintendo nokia Nokia nvidia NVIDIA nxp NXP Semiconductors +okaya OKAYA Electric America, Inc. onnn ON Semiconductor Corp. opencores OpenCores.org ortustech Ortus Technology Co., Ltd. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 97b66b8..e511a22 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -942,6 +942,30 @@ static const struct panel_desc lg_lp129qe = { }, };
+static const struct display_timing okaya_rs800480t_7x0gp_timing = { + .pixelclock = { 30000000, 30000000, 40000000 }, + .hactive = { 800, 800, 800 }, + .hfront_porch = { 40, 40, 40 }, + .hback_porch = { 40, 40, 40 }, + .hsync_len = { 1, 48, 48 }, + .vactive = { 480, 480, 480 }, + .vfront_porch = { 13, 13, 13 }, + .vback_porch = { 29, 29, 29 }, + .vsync_len = { 3, 3, 3 }, + .flags = DISPLAY_FLAGS_DE_HIGH, +}; + +static const struct panel_desc okaya_rs800480t_7x0gp = { + .timings = &okaya_rs800480t_7x0gp_timing, + .num_timings = 1, + .bpc = 6, + .size = { + .width = 154, + .height = 87, + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, +}; + static const struct drm_display_mode ortustech_com43h4m85ulc_mode = { .clock = 25000, .hdisplay = 480, @@ -1112,6 +1136,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "lg,lp129qe", .data = &lg_lp129qe, }, { + .compatible = "okaya,rs800480t_7x0gp", + .data = &okaya_rs800480t_7x0gp, + }, { .compatible = "ortustech,com43h4m85ulc", .data = &ortustech_com43h4m85ulc, }, {
On Thu, May 28, 2015 at 05:37:46PM +0200, Gary Bisson wrote:
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
Hi all,
This patch is the follow-up of a request from Philipp to add the Okaya display to the simple panel driver. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346657.html
Regards, Gary
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 ++++++ .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
+Required properties: +- compatible: should be "okaya,rs800480t_7x0gp"
+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 4f35a00..06ce91c 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -145,6 +145,7 @@ nintendo Nintendo nokia Nokia nvidia NVIDIA nxp NXP Semiconductors +okaya OKAYA Electric America, Inc. onnn ON Semiconductor Corp. opencores OpenCores.org ortustech Ortus Technology Co., Ltd.
Can you split this change into a separate patch? It needs an Acked-by from one of the device tree binding maintainers, so make sure to Cc them when you repost. scripts/get_maintainer.pl will list them for you.
+static const struct display_timing okaya_rs800480t_7x0gp_timing = {
- .pixelclock = { 30000000, 30000000, 40000000 },
- .hactive = { 800, 800, 800 },
- .hfront_porch = { 40, 40, 40 },
- .hback_porch = { 40, 40, 40 },
- .hsync_len = { 1, 48, 48 },
- .vactive = { 480, 480, 480 },
- .vfront_porch = { 13, 13, 13 },
- .vback_porch = { 29, 29, 29 },
- .vsync_len = { 3, 3, 3 },
It strikes me as odd that the porches and VSYNC width should be fixed for the panel. Is this really the case?
Thierry
Thierry, All,
On Fri, Jun 5, 2015 at 2:28 PM, Thierry Reding thierry.reding@gmail.com wrote:
On Thu, May 28, 2015 at 05:37:46PM +0200, Gary Bisson wrote:
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
Hi all,
This patch is the follow-up of a request from Philipp to add the Okaya display to the simple panel driver. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346657.html
Regards, Gary
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 ++++++ .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
+Required properties: +- compatible: should be "okaya,rs800480t_7x0gp"
+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 4f35a00..06ce91c 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -145,6 +145,7 @@ nintendo Nintendo nokia Nokia nvidia NVIDIA nxp NXP Semiconductors +okaya OKAYA Electric America, Inc. onnn ON Semiconductor Corp. opencores OpenCores.org ortustech Ortus Technology Co., Ltd.
Can you split this change into a separate patch? It needs an Acked-by from one of the device tree binding maintainers, so make sure to Cc them when you repost. scripts/get_maintainer.pl will list them for you.
Sure, will do.
+static const struct display_timing okaya_rs800480t_7x0gp_timing = {
.pixelclock = { 30000000, 30000000, 40000000 },
.hactive = { 800, 800, 800 },
.hfront_porch = { 40, 40, 40 },
.hback_porch = { 40, 40, 40 },
.hsync_len = { 1, 48, 48 },
.vactive = { 480, 480, 480 },
.vfront_porch = { 13, 13, 13 },
.vback_porch = { 29, 29, 29 },
.vsync_len = { 3, 3, 3 },
It strikes me as odd that the porches and VSYNC width should be fixed for the panel. Is this really the case?
Well this is the values provided by Okaya. Here is a link to the datasheet, details are located in page 8: http://boundarydevices.com/datasheets/RS800480T-7X0GP-A.pdf
Thanks for the feedback, Gary
On Sat, Jun 06, 2015 at 11:00:21PM +0200, Gary Bisson wrote:
Thierry, All,
On Fri, Jun 5, 2015 at 2:28 PM, Thierry Reding thierry.reding@gmail.com wrote:
On Thu, May 28, 2015 at 05:37:46PM +0200, Gary Bisson wrote:
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
Hi all,
This patch is the follow-up of a request from Philipp to add the Okaya display to the simple panel driver. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346657.html
Regards, Gary
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 ++++++ .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
+Required properties: +- compatible: should be "okaya,rs800480t_7x0gp"
+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 4f35a00..06ce91c 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -145,6 +145,7 @@ nintendo Nintendo nokia Nokia nvidia NVIDIA nxp NXP Semiconductors +okaya OKAYA Electric America, Inc. onnn ON Semiconductor Corp. opencores OpenCores.org ortustech Ortus Technology Co., Ltd.
Can you split this change into a separate patch? It needs an Acked-by from one of the device tree binding maintainers, so make sure to Cc them when you repost. scripts/get_maintainer.pl will list them for you.
Sure, will do.
+static const struct display_timing okaya_rs800480t_7x0gp_timing = {
.pixelclock = { 30000000, 30000000, 40000000 },
.hactive = { 800, 800, 800 },
.hfront_porch = { 40, 40, 40 },
.hback_porch = { 40, 40, 40 },
.hsync_len = { 1, 48, 48 },
.vactive = { 480, 480, 480 },
.vfront_porch = { 13, 13, 13 },
.vback_porch = { 29, 29, 29 },
.vsync_len = { 3, 3, 3 },
It strikes me as odd that the porches and VSYNC width should be fixed for the panel. Is this really the case?
Well this is the values provided by Okaya. Here is a link to the datasheet, details are located in page 8: http://boundarydevices.com/datasheets/RS800480T-7X0GP-A.pdf
The way I read this the cells marked with - don't specify that a value is the same as typical but rather that nobody determined that value. It's unfortunate because it doesn't give us a good specification of the timings, but I would suspect that the panel operates perfectly fine if you use porches and sync pulse widths outside of the above range.
That said, I think it's fine to go with the above until we encounter display hardware that can't match these constraints.
Thierry
Hi all,
This patch is the follow-up of a request from Philipp to add the Okaya display to the simple panel driver. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346657.html
v2: - split into 2 patches, adding Okaya to the vendor prefixes should be its own patch as suggested by Thierry https://patchwork.kernel.org/patch/6503261/
Regards, Gary
Gary Bisson (2): of: add Okaya Electric America vendor prefix drm/panel: Add display timing for Okaya RS800480T-7X0GP
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 ++++++ .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
This patch adds vendor prefix for Okaya Electronic America, a provider of LCD modules and display technologies.
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com --- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index ee2ce7b..37d2de79 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -148,6 +148,7 @@ nintendo Nintendo nokia Nokia nvidia NVIDIA nxp NXP Semiconductors +okaya Okaya Electric America, Inc. onnn ON Semiconductor Corp. opencores OpenCores.org ortustech Ortus Technology Co., Ltd.
On Tue, Jun 9, 2015 at 10:59 AM, Gary Bisson gary.bisson@boundarydevices.com wrote:
This patch adds vendor prefix for Okaya Electronic America, a provider of LCD modules and display technologies.
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
Acked-by: Rob Herring robh@kernel.org
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index ee2ce7b..37d2de79 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -148,6 +148,7 @@ nintendo Nintendo nokia Nokia nvidia NVIDIA nxp NXP Semiconductors +okaya Okaya Electric America, Inc. onnn ON Semiconductor Corp. opencores OpenCores.org ortustech Ortus Technology Co., Ltd. -- 2.1.4
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com --- .../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 ++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel + +Required properties: +- compatible: should be "okaya,rs800480t_7x0gp" + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 97b66b8..e511a22 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -942,6 +942,30 @@ static const struct panel_desc lg_lp129qe = { }, };
+static const struct display_timing okaya_rs800480t_7x0gp_timing = { + .pixelclock = { 30000000, 30000000, 40000000 }, + .hactive = { 800, 800, 800 }, + .hfront_porch = { 40, 40, 40 }, + .hback_porch = { 40, 40, 40 }, + .hsync_len = { 1, 48, 48 }, + .vactive = { 480, 480, 480 }, + .vfront_porch = { 13, 13, 13 }, + .vback_porch = { 29, 29, 29 }, + .vsync_len = { 3, 3, 3 }, + .flags = DISPLAY_FLAGS_DE_HIGH, +}; + +static const struct panel_desc okaya_rs800480t_7x0gp = { + .timings = &okaya_rs800480t_7x0gp_timing, + .num_timings = 1, + .bpc = 6, + .size = { + .width = 154, + .height = 87, + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, +}; + static const struct drm_display_mode ortustech_com43h4m85ulc_mode = { .clock = 25000, .hdisplay = 480, @@ -1112,6 +1136,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "lg,lp129qe", .data = &lg_lp129qe, }, { + .compatible = "okaya,rs800480t_7x0gp", + .data = &okaya_rs800480t_7x0gp, + }, { .compatible = "ortustech,com43h4m85ulc", .data = &ortustech_com43h4m85ulc, }, {
Hi Gary,
Am Dienstag, den 09.06.2015, 17:59 +0200 schrieb Gary Bisson:
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 ++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
+Required properties: +- compatible: should be "okaya,rs800480t_7x0gp"
+This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 97b66b8..e511a22 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -942,6 +942,30 @@ static const struct panel_desc lg_lp129qe = { }, };
+static const struct display_timing okaya_rs800480t_7x0gp_timing = {
- .pixelclock = { 30000000, 30000000, 40000000 },
- .hactive = { 800, 800, 800 },
- .hfront_porch = { 40, 40, 40 },
- .hback_porch = { 40, 40, 40 },
- .hsync_len = { 1, 48, 48 },
- .vactive = { 480, 480, 480 },
- .vfront_porch = { 13, 13, 13 },
- .vback_porch = { 29, 29, 29 },
- .vsync_len = { 3, 3, 3 },
- .flags = DISPLAY_FLAGS_DE_HIGH,
+};
+static const struct panel_desc okaya_rs800480t_7x0gp = {
- .timings = &okaya_rs800480t_7x0gp_timing,
- .num_timings = 1,
- .bpc = 6,
- .size = {
.width = 154,
.height = 87,
- },
Are there any poweron/poweroff sequencing delays in the datasheet that should be met? Parallel displays often specify a few ms delay after the voltage supply is stable and before pixel data should be driven on the bus (.delay.prepare), as well as afterwards, before activating the backlight (.delay.enable).
regards Philipp
Hi Philipp,
On Tue, Jun 9, 2015 at 7:39 PM, Philipp Zabel p.zabel@pengutronix.de wrote:
Hi Gary,
Am Dienstag, den 09.06.2015, 17:59 +0200 schrieb Gary Bisson:
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 ++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
+Required properties: +- compatible: should be "okaya,rs800480t_7x0gp"
+This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 97b66b8..e511a22 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -942,6 +942,30 @@ static const struct panel_desc lg_lp129qe = { }, };
+static const struct display_timing okaya_rs800480t_7x0gp_timing = {
.pixelclock = { 30000000, 30000000, 40000000 },
.hactive = { 800, 800, 800 },
.hfront_porch = { 40, 40, 40 },
.hback_porch = { 40, 40, 40 },
.hsync_len = { 1, 48, 48 },
.vactive = { 480, 480, 480 },
.vfront_porch = { 13, 13, 13 },
.vback_porch = { 29, 29, 29 },
.vsync_len = { 3, 3, 3 },
.flags = DISPLAY_FLAGS_DE_HIGH,
+};
+static const struct panel_desc okaya_rs800480t_7x0gp = {
.timings = &okaya_rs800480t_7x0gp_timing,
.num_timings = 1,
.bpc = 6,
.size = {
.width = 154,
.height = 87,
},
Are there any poweron/poweroff sequencing delays in the datasheet that should be met? Parallel displays often specify a few ms delay after the voltage supply is stable and before pixel data should be driven on the bus (.delay.prepare), as well as afterwards, before activating the backlight (.delay.enable).
You are right I forgot to add those delays. I will submit a v3.
That gives prepare = unprepare = 40.5ms (rounded up to 41) and enable = disable = 50ms based on the values provided at page 6/20 of the following doc: http://boundarydevices.com/datasheets/RS800480T-7X0GP-A.pdf
Regards, Gary
Hi all,
This patch is the follow-up of a request from Philipp to add the Okaya display to the simple panel driver. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346657.html
v2: - split into 2 patches, adding Okaya to the vendor prefixes should be its own patch as suggested by Thierry https://patchwork.kernel.org/patch/6503261/
v3: - add poweron/poweroff sequencing delays as suggested by Philipp. Values are based on datasheet available at: http://boundarydevices.com/datasheets/RS800480T-7X0GP-A.pdf
Regards, Gary
Gary Bisson (2): of: add Okaya Electric America vendor prefix drm/panel: Add display timing for Okaya RS800480T-7X0GP
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 +++++ .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/gpu/drm/panel/panel-simple.c | 33 ++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
This patch adds vendor prefix for Okaya Electronic America, a provider of LCD modules and display technologies.
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com --- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index ee2ce7b..37d2de79 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -148,6 +148,7 @@ nintendo Nintendo nokia Nokia nvidia NVIDIA nxp NXP Semiconductors +okaya Okaya Electric America, Inc. onnn ON Semiconductor Corp. opencores OpenCores.org ortustech Ortus Technology Co., Ltd.
On Wed, Jun 10, 2015 at 06:44:22PM +0200, Gary Bisson wrote:
This patch adds vendor prefix for Okaya Electronic America, a provider of LCD modules and display technologies.
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)
Applied, thanks.
Thierry
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com --- .../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 +++++ drivers/gpu/drm/panel/panel-simple.c | 33 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel + +Required properties: +- compatible: should be "okaya,rs800480t_7x0gp" + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index f94201b..5262be1 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -943,6 +943,36 @@ static const struct panel_desc lg_lp129qe = { }, };
+static const struct display_timing okaya_rs800480t_7x0gp_timing = { + .pixelclock = { 30000000, 30000000, 40000000 }, + .hactive = { 800, 800, 800 }, + .hfront_porch = { 40, 40, 40 }, + .hback_porch = { 40, 40, 40 }, + .hsync_len = { 1, 48, 48 }, + .vactive = { 480, 480, 480 }, + .vfront_porch = { 13, 13, 13 }, + .vback_porch = { 29, 29, 29 }, + .vsync_len = { 3, 3, 3 }, + .flags = DISPLAY_FLAGS_DE_HIGH, +}; + +static const struct panel_desc okaya_rs800480t_7x0gp = { + .timings = &okaya_rs800480t_7x0gp_timing, + .num_timings = 1, + .bpc = 6, + .size = { + .width = 154, + .height = 87, + }, + .delay = { + .prepare = 41, + .enable = 50, + .unprepare = 41, + .disable = 50, + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, +}; + static const struct drm_display_mode ortustech_com43h4m85ulc_mode = { .clock = 25000, .hdisplay = 480, @@ -1113,6 +1143,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "lg,lp129qe", .data = &lg_lp129qe, }, { + .compatible = "okaya,rs800480t_7x0gp", + .data = &okaya_rs800480t_7x0gp, + }, { .compatible = "ortustech,com43h4m85ulc", .data = &ortustech_com43h4m85ulc, }, {
On Wed, Jun 10, 2015 at 06:44:23PM +0200, Gary Bisson wrote:
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 +++++ drivers/gpu/drm/panel/panel-simple.c | 33 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
+Required properties: +- compatible: should be "okaya,rs800480t_7x0gp"
Underscores are not typically used in compatible strings, so I've changed this to "okaya,rs800480t-7x0gp".
Thierry
Hi Thierry,
On Thu, Aug 13, 2015 at 2:32 PM, Thierry Reding thierry.reding@gmail.com wrote:
On Wed, Jun 10, 2015 at 06:44:23PM +0200, Gary Bisson wrote:
Add support for the Okaya RS800480T-7X0GP to the DRM simple panel driver.
The RS800480T-7X0GP is a WVGA (800x480) panel with an 18-bit parallel LCD interface. It supports pixel clocks in the range of 30-40 MHz.
This panel details can be found at: http://boundarydevices.com/product/7-800x480-display/
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
.../bindings/panel/okaya,rs800480t_7x0gp.txt | 7 +++++ drivers/gpu/drm/panel/panel-simple.c | 33 ++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt
diff --git a/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt new file mode 100644 index 0000000..f7c729d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/okaya,rs800480t_7x0gp.txt @@ -0,0 +1,7 @@ +OKAYA Electric America, Inc. RS800480T-7X0GP 7" WVGA LCD panel
+Required properties: +- compatible: should be "okaya,rs800480t_7x0gp"
Underscores are not typically used in compatible strings, so I've changed this to "okaya,rs800480t-7x0gp".
Thanks! I'll make sure not to use underscores for such names in the future.
Regards, Gary
Hi all,
On Wed, Jun 10, 2015 at 6:44 PM, Gary Bisson gary.bisson@boundarydevices.com wrote:
Hi all,
This patch is the follow-up of a request from Philipp to add the Okaya display to the simple panel driver. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/346657.html
v2:
- split into 2 patches, adding Okaya to the vendor prefixes should be its own
patch as suggested by Thierry https://patchwork.kernel.org/patch/6503261/
v3:
- add poweron/poweroff sequencing delays as suggested by Philipp. Values are
based on datasheet available at: http://boundarydevices.com/datasheets/RS800480T-7X0GP-A.pdf
Now that Philipp's change that fixes the drm_panel support in the parallel-display has been merged, would it be ok to merge the okaya timings? http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=5...
Regards, Gary
dri-devel@lists.freedesktop.org