diff mbox

[1/2] drm/panel: Add support for Armadeus ST0700 Adapt

Message ID 20180717072318.18730-1-sebastien.szymanski@armadeus.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sébastien Szymanski July 17, 2018, 7:23 a.m. UTC
This patch adds support for the Armadeus ST0700 Adapt. It comes with a
Santek ST0700I5Y-RBSLW 7.0" WVGA (800x480) TFT and an adapter board so
that it can be connected on the TFT header of Armadeus Dev boards.

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
---
 .../display/panel/armadeus,st0700-adapt.txt        |  9 +++++++
 drivers/gpu/drm/panel/panel-simple.c               | 29 ++++++++++++++++++++++
 2 files changed, 38 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt

Comments

Fabio Estevam July 17, 2018, 12:28 p.m. UTC | #1
Hi Sébastien,

On Tue, Jul 17, 2018 at 4:23 AM, Sébastien Szymanski
<sebastien.szymanski@armadeus.com> wrote:
> This patch adds support for the Armadeus ST0700 Adapt. It comes with a
> Santek ST0700I5Y-RBSLW 7.0" WVGA (800x480) TFT and an adapter board so
> that it can be connected on the TFT header of Armadeus Dev boards.
>
> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
> ---
>  .../display/panel/armadeus,st0700-adapt.txt        |  9 +++++++
>  drivers/gpu/drm/panel/panel-simple.c               | 29 ++++++++++++++++++++++
>  2 files changed, 38 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt
>
> diff --git a/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt b/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt
> new file mode 100644
> index 000000000000..a30d63db3c8f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt
> @@ -0,0 +1,9 @@
> +Armadeus ST0700 Adapt. A Santek ST0700I5Y-RBSLW 7.0" WVGA (800x480) TFT with
> +an adapter board.
> +
> +Required properties:
> +- compatible: "armadeus,st0700-adapt"

Shouldn't this be named "santek,st0700i5y" instead?

Santek is the vendor of the panel and st0700i5y is the model.

Then you could add a "santek" entry in
Documentation/devicetree/bindings/vendor-prefixes.txt.

Regards,

Fabio Estevam
Sébastien Szymanski July 18, 2018, 8:19 a.m. UTC | #2
Hi Fabio,

On 07/17/2018 02:28 PM, Fabio Estevam wrote:
> Hi Sébastien,
> 
> On Tue, Jul 17, 2018 at 4:23 AM, Sébastien Szymanski
> <sebastien.szymanski@armadeus.com> wrote:
>> This patch adds support for the Armadeus ST0700 Adapt. It comes with a
>> Santek ST0700I5Y-RBSLW 7.0" WVGA (800x480) TFT and an adapter board so
>> that it can be connected on the TFT header of Armadeus Dev boards.
>>
>> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
>> ---
>>  .../display/panel/armadeus,st0700-adapt.txt        |  9 +++++++
>>  drivers/gpu/drm/panel/panel-simple.c               | 29 ++++++++++++++++++++++
>>  2 files changed, 38 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt
>>
>> diff --git a/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt b/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt
>> new file mode 100644
>> index 000000000000..a30d63db3c8f
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt
>> @@ -0,0 +1,9 @@
>> +Armadeus ST0700 Adapt. A Santek ST0700I5Y-RBSLW 7.0" WVGA (800x480) TFT with
>> +an adapter board.
>> +
>> +Required properties:
>> +- compatible: "armadeus,st0700-adapt"
> 
> Shouldn't this be named "santek,st0700i5y" instead?
> 
> Santek is the vendor of the panel and st0700i5y is the model.

You're right but Armadeus doesn't provide the panel as-is. Armadeus adds
an adapter board so it can be connected on the development boards. [1]
Even though the panel supports MEDIA_BUS_FMT_RGB888_1X24, with the
adapter board the bus format has to be MEDIA_BUS_FMT_RGB666_1X18.

[1] http://www.opossom.com/english/products-peripherals-st0700_adapt.html

Regards,

> 
> Then you could add a "santek" entry in
> Documentation/devicetree/bindings/vendor-prefixes.txt.
> 
> Regards,
> 
> Fabio Estevam
>
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt b/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt
new file mode 100644
index 000000000000..a30d63db3c8f
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/armadeus,st0700-adapt.txt
@@ -0,0 +1,9 @@ 
+Armadeus ST0700 Adapt. A Santek ST0700I5Y-RBSLW 7.0" WVGA (800x480) TFT with
+an adapter board.
+
+Required properties:
+- compatible: "armadeus,st0700-adapt"
+- power-supply: see panel-common.txt
+
+Optional properties:
+- backlight: see panel-common.txt
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index cbf1ab404ee7..80d3b0106fce 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -437,6 +437,32 @@  static const struct panel_desc ampire_am800480r3tmqwa1h = {
 	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
 };
 
+static const struct display_timing santek_st0700i5y_rbslw_f_timing = {
+	.pixelclock = { 26400000, 33300000, 46800000 },
+	.hactive = { 800, 800, 800 },
+	.hfront_porch = { 16, 210, 354 },
+	.hback_porch = { 45, 36, 6 },
+	.hsync_len = { 1, 10, 40 },
+	.vactive = { 480, 480, 480 },
+	.vfront_porch = { 7, 22, 147 },
+	.vback_porch = { 22, 13, 3 },
+	.vsync_len = { 1, 10, 20 },
+	.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+		DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE
+};
+
+static const struct panel_desc armadeus_st0700_adapt = {
+	.timings = &santek_st0700i5y_rbslw_f_timing,
+	.num_timings = 1,
+	.bpc = 6,
+	.size = {
+		.width = 154,
+		.height = 86,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
+	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE,
+};
+
 static const struct drm_display_mode auo_b101aw03_mode = {
 	.clock = 51450,
 	.hdisplay = 1024,
@@ -2076,6 +2102,9 @@  static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "ampire,am800480r3tmqwa1h",
 		.data = &ampire_am800480r3tmqwa1h,
+	}, {
+		.compatible = "armadeus,st0700-adapt",
+		.data = &armadeus_st0700_adapt,
 	}, {
 		.compatible = "auo,b101aw03",
 		.data = &auo_b101aw03,