1
The ClockworkPi DevTerm (all models) uses a 6.86" IPS display
1
The ClockworkPi DevTerm (all models) uses a 6.86" IPS display
2
of unknown provenance, which uses the Chipone ICNL9707 IC driver[1].
2
of unknown provenance, which uses the Chipone ICNL9707 IC driver[1].
3
3
4
The display panel I have has two model numbers: TXW686001 and WTL068601G,
4
The display panel Max Fierke has has two model numbers: TXW686001 and
5
but cannot find any manufacturer associated with either, so opting for the
5
WTL068601G, but couldn’t find any manufacturer associated with either, so
6
ClockworkPi model number.
6
he opted for the ClockworkPi model number.
7
7
8
This driver is based on the GPL-licensed driver released by ClockworkPi[1],
8
This driver is based on the GPL-licensed driver released by ClockworkPi[1],
9
authored by Pinfan Zhu, with some additional cleanup, rotation support,
9
authored by Pinfan Zhu, with some additional cleanup, rotation support,
10
and display sleep re-enabling done by me.
10
and display sleep re-enabling done by Max Fierke.
11
11
12
[1] https://github.com/clockworkpi/DevTerm/blob/main/Schematics/ICNL9707_Datasheet.pdf
12
[1] https://github.com/clockworkpi/DevTerm/blob/main/Schematics/ICNL9707_Datasheet.pdf
13
[2] https://github.com/clockworkpi/DevTerm/blob/main/Code/patch/armbian_build_a06/patch/kernel-004-panel.patch
13
[2] https://github.com/clockworkpi/DevTerm/blob/main/Code/patch/armbian_build_a06/patch/kernel-004-panel.patch
14
14
15
Thanks to Krzysztof Kozlowski, Rob Herring, and Sam Ravnborg for their
15
Thanks to Krzysztof Kozlowski, Rob Herring, and Sam Ravnborg for their
16
prior reviews and apologies for the long delay between patch set versions.
16
prior reviews.
17
18
I hope this is the correct way of reviving old patches.
19
20
Changes in v4:
21
- Use existing clockwork vendor ID
22
- Update the panel initalization code for DRM changes
17
23
18
Changes in v3:
24
Changes in v3:
19
- dt-bindings: add missing lines for spacing
25
- dt-bindings: add missing lines for spacing
20
26
21
Changes in v2:
27
Changes in v2:
...
...
28
- replace ICNL9707_DCS macro with mipi_dsi_dcs_write_seq
34
- replace ICNL9707_DCS macro with mipi_dsi_dcs_write_seq
29
- use dev_err_probe instead of checking EPROBE_DEFER
35
- use dev_err_probe instead of checking EPROBE_DEFER
30
- fixed return type of cwd686_remove to be void following changes to mipi_dsi_driver
36
- fixed return type of cwd686_remove to be void following changes to mipi_dsi_driver
31
- add .get_orientation callback
37
- add .get_orientation callback
32
38
33
Max Fierke (4):
34
dt-bindings: vendor-prefixes: Add prefix for ClockworkPi
35
dt-bindings: display: Add ClockworkPi CWD686 panel
36
drm: panel: Add driver for ClockworkPi cwd686 panel
37
drm/panel: clockworkpi-cwd686: Implement .get_orientation callback
38
39
39
.../display/panel/clockworkpi,cwd686.yaml | 65 +++
40
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
41
drivers/gpu/drm/panel/Kconfig | 12 +
42
drivers/gpu/drm/panel/Makefile | 1 +
43
.../gpu/drm/panel/panel-clockworkpi-cwd686.c | 456 ++++++++++++++++++
44
5 files changed, 536 insertions(+)
45
create mode 100644 Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
46
create mode 100644 drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
47
48
--
49
2.37.2
diff view generated by jsdifflib
Deleted patch
1
Add a prefix for Clockwork Tech LLC, known as ClockworkPi. They
2
produce a number of hobbyist devices, including the ClockworkPi
3
DevTerm and GameShell.
4
1
5
Signed-off-by: Max Fierke <max@maxfierke.com>
6
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
7
---
8
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
9
1 file changed, 2 insertions(+)
10
11
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
12
index XXXXXXX..XXXXXXX 100644
13
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
14
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
15
@@ -XXX,XX +XXX,XX @@ patternProperties:
16
description: Cirrus Logic, Inc.
17
"^cisco,.*":
18
description: Cisco Systems, Inc.
19
+ "^clockworkpi,.*":
20
+ description: Clockwork Tech LLC
21
"^cloudengines,.*":
22
description: Cloud Engines, Inc.
23
"^cnm,.*":
24
--
25
2.37.2
diff view generated by jsdifflib
1
From: Max Fierke <max@maxfierke.com>
2
1
The ClockworkPi DevTerm (all models) uses a 6.86" IPS display
3
The ClockworkPi DevTerm (all models) uses a 6.86" IPS display
2
of unknown provenance, which uses the Chipone ICNL9707 IC driver.
4
of unknown provenance, which uses the Chipone ICNL9707 IC driver.
3
5
4
The display panel I have has two model numbers: TXW686001 and WTL068601G,
6
The display panel I have has two model numbers: TXW686001 and WTL068601G,
5
but cannot find any manufacturer associated with either, so opting for the
7
but cannot find any manufacturer associated with either, so opting for the
...
...
10
and display sleep re-enabling done by me.
12
and display sleep re-enabling done by me.
11
13
12
Original driver here for reference: https://github.com/clockworkpi/DevTerm/blob/main/Code/patch/armbian_build_a06/patch/kernel-004-panel.patch
14
Original driver here for reference: https://github.com/clockworkpi/DevTerm/blob/main/Code/patch/armbian_build_a06/patch/kernel-004-panel.patch
13
Display IC datasheet provided here: https://github.com/clockworkpi/DevTerm/blob/main/Schematics/ICNL9707_Datasheet.pdf
15
Display IC datasheet provided here: https://github.com/clockworkpi/DevTerm/blob/main/Schematics/ICNL9707_Datasheet.pdf
14
16
17
Co-authored-by: Charlotte Deleńkec <lotte@chir.rs>
18
Signed-off-by: Charlotte Deleńkec <lotte@chir.rs>
15
Signed-off-by: Max Fierke <max@maxfierke.com>
19
Signed-off-by: Max Fierke <max@maxfierke.com>
16
---
20
---
17
Changes in v3:
18
- no changes
19
20
Changes in v2: (Sam Ravnborg's suggestions)
21
- remove some unused properties from definition (e.g. enable_gpio, supply)
22
- add missing regulators
23
- reorder includes
24
- remove redundant ctx->backlight in favor of backlight through drm_panel_of_backlight
25
- remove now-unneeded ctx->enabled and enable/disable hooks
26
- replace ICNL9707_DCS macro with mipi_dsi_dcs_write_seq
27
- use dev_err_probe instead of checking EPROBE_DEFER
28
- fixed return type of cwd686_remove to be void following changes to mipi_dsi_driver
29
30
drivers/gpu/drm/panel/Kconfig | 12 +
21
drivers/gpu/drm/panel/Kconfig | 12 +
31
drivers/gpu/drm/panel/Makefile | 1 +
22
drivers/gpu/drm/panel/Makefile | 1 +
32
.../gpu/drm/panel/panel-clockworkpi-cwd686.c | 445 ++++++++++++++++++
23
.../gpu/drm/panel/panel-clockwork-cwd686.c | 447 ++++++++++++++++++
33
3 files changed, 458 insertions(+)
24
3 files changed, 460 insertions(+)
34
create mode 100644 drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
25
create mode 100644 drivers/gpu/drm/panel/panel-clockwork-cwd686.c
35
26
36
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
27
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
37
index XXXXXXX..XXXXXXX 100644
28
index XXXXXXX..XXXXXXX 100644
38
--- a/drivers/gpu/drm/panel/Kconfig
29
--- a/drivers/gpu/drm/panel/Kconfig
39
+++ b/drivers/gpu/drm/panel/Kconfig
30
+++ b/drivers/gpu/drm/panel/Kconfig
40
@@ -XXX,XX +XXX,XX @@ config DRM_PANEL_BOE_TV101WUM_NL6
31
@@ -XXX,XX +XXX,XX @@ config DRM_PANEL_BOE_TV101WUM_LL2
41
     Say Y here if you want to support for BOE TV101WUM and AUO KD101N80
32
     Say Y here if you want to support for BOE TV101WUM-LL2
42
     45NA WUXGA PANEL DSI Video Mode panel
33
     WUXGA PANEL DSI Video Mode panel
43
34
44
+config DRM_PANEL_CLOCKWORKPI_CWD686
35
+config DRM_PANEL_CLOCKWORK_CWD686
45
+    tristate "ClockworkPi CWD686 panel"
36
+    tristate "Clockwork CWD686 panel"
46
+    depends on OF
37
+    depends on OF
47
+    depends on DRM_MIPI_DSI
38
+    depends on DRM_MIPI_DSI
48
+    depends on BACKLIGHT_CLASS_DEVICE
39
+    depends on BACKLIGHT_CLASS_DEVICE
49
+    help
40
+    help
50
+     Say Y here if you want to enable support for the ClockworkPi CWD686
41
+     Say Y here if you want to enable support for the Clockwork CWD686
51
+     ICNL9707-based panel, e.g. as used within the ClockworkPi DevTerm.
42
+     ICNL9707-based panel, e.g. as used within the Clockwork DevTerm.
52
+     The panel has a 480x1280 resolution and uses 24 bit RGB per pixel.
43
+     The panel has a 480x1280 resolution and uses 24 bit RGB per pixel.
53
+
44
+
54
+     To compile this driver as a module, choose M here.
45
+     To compile this driver as a module, choose M here.
55
+
46
+
56
config DRM_PANEL_DSI_CM
47
config DRM_PANEL_EBBG_FT8719
57
    tristate "Generic DSI command mode panels"
48
    tristate "EBBG FT8719 panel driver"
58
    depends on OF
49
    depends on OF
59
diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile
50
diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile
60
index XXXXXXX..XXXXXXX 100644
51
index XXXXXXX..XXXXXXX 100644
61
--- a/drivers/gpu/drm/panel/Makefile
52
--- a/drivers/gpu/drm/panel/Makefile
62
+++ b/drivers/gpu/drm/panel/Makefile
53
+++ b/drivers/gpu/drm/panel/Makefile
63
@@ -XXX,XX +XXX,XX @@ obj-$(CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596) += panel-asus-z00t-tm5p5-n35596.
54
@@ -XXX,XX +XXX,XX @@ obj-$(CONFIG_DRM_PANEL_BOE_HIMAX8279D) += panel-boe-himax8279d.o
64
obj-$(CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0) += panel-boe-bf060y8m-aj0.o
55
obj-$(CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A) += panel-boe-th101mb31ig002-28a.o
65
obj-$(CONFIG_DRM_PANEL_BOE_HIMAX8279D) += panel-boe-himax8279d.o
56
obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_LL2) += panel-boe-tv101wum-ll2.o
66
obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o
57
obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o
67
+obj-$(CONFIG_DRM_PANEL_CLOCKWORKPI_CWD686) += panel-clockworkpi-cwd686.o
58
+obj-$(CONFIG_DRM_PANEL_CLOCKWORK_CWD686) += panel-clockwork-cwd686.o
68
obj-$(CONFIG_DRM_PANEL_DSI_CM) += panel-dsi-cm.o
59
obj-$(CONFIG_DRM_PANEL_DSI_CM) += panel-dsi-cm.o
69
obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o
60
obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o
70
obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o
61
obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o
71
diff --git a/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c b/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
62
diff --git a/drivers/gpu/drm/panel/panel-clockwork-cwd686.c b/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
72
new file mode 100644
63
new file mode 100644
73
index XXXXXXX..XXXXXXX
64
index XXXXXXX..XXXXXXX
74
--- /dev/null
65
--- /dev/null
75
+++ b/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
66
+++ b/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
76
@@ -XXX,XX +XXX,XX @@
67
@@ -XXX,XX +XXX,XX @@
77
+// SPDX-License-Identifier: GPL-2.0+
68
+// SPDX-License-Identifier: GPL-2.0+
78
+/*
69
+/*
79
+ * Copyright (c) 2021 Clockwork Tech LLC
70
+ * Copyright (c) 2021 Clockwork Tech LLC
80
+ * Copyright (c) 2021-2022 Max Fierke <max@maxfierke.com>
71
+ * Copyright (c) 2021-2022 Max Fierke <max@maxfierke.com>
81
+ *
72
+ *
82
+ * Based on Pinfan Zhu's work on panel-cwd686.c for ClockworkPi's 5.10 BSP
73
+ * Based on Pinfan Zhu's work on panel-cwd686.c for Clockwork's 5.10 BSP
83
+ */
74
+ */
84
+
75
+
85
+#include <linux/gpio/consumer.h>
76
+#include <linux/gpio/consumer.h>
86
+#include <linux/regulator/consumer.h>
77
+#include <linux/regulator/consumer.h>
87
+#include <linux/delay.h>
78
+#include <linux/delay.h>
...
...
477
+
468
+
478
+    err = drm_panel_of_backlight(&ctx->panel);
469
+    err = drm_panel_of_backlight(&ctx->panel);
479
+    if (err)
470
+    if (err)
480
+        return dev_err_probe(dev, err, "Failed to get backlight\n");
471
+        return dev_err_probe(dev, err, "Failed to get backlight\n");
481
+
472
+
473
+    ctx->panel.prepare_prev_first = true;
482
+    drm_panel_add(&ctx->panel);
474
+    drm_panel_add(&ctx->panel);
483
+
475
+
484
+    err = mipi_dsi_attach(dsi);
476
+    err = mipi_dsi_attach(dsi);
485
+    if (err < 0) {
477
+    if (err < 0) {
486
+        dev_err(dev, "mipi_dsi_attach() failed: %d\n", err);
478
+        dev_err(dev, "mipi_dsi_attach() failed: %d\n", err);
...
...
498
+    mipi_dsi_detach(dsi);
490
+    mipi_dsi_detach(dsi);
499
+    drm_panel_remove(&ctx->panel);
491
+    drm_panel_remove(&ctx->panel);
500
+}
492
+}
501
+
493
+
502
+static const struct of_device_id cwd686_of_match[] = {
494
+static const struct of_device_id cwd686_of_match[] = {
503
+    { .compatible = "clockworkpi,cwd686" },
495
+    { .compatible = "clockwork,cwd686" },
504
+    { /* sentinel */ }
496
+    { /* sentinel */ }
505
+};
497
+};
506
+MODULE_DEVICE_TABLE(of, cwd686_of_match);
498
+MODULE_DEVICE_TABLE(of, cwd686_of_match);
507
+
499
+
508
+static struct mipi_dsi_driver cwd686_driver = {
500
+static struct mipi_dsi_driver cwd686_driver = {
509
+    .probe = cwd686_probe,
501
+    .probe = cwd686_probe,
510
+    .remove = cwd686_remove,
502
+    .remove = cwd686_remove,
511
+    .driver = {
503
+    .driver = {
512
+        .name = "panel-clockworkpi-cwd686",
504
+        .name = "panel-clockwork-cwd686",
513
+        .of_match_table = cwd686_of_match,
505
+        .of_match_table = cwd686_of_match,
514
+    },
506
+    },
515
+};
507
+};
516
+module_mipi_dsi_driver(cwd686_driver);
508
+module_mipi_dsi_driver(cwd686_driver);
517
+
509
+
518
+MODULE_AUTHOR("Pinfan Zhu <zhu@clockworkpi.com>");
510
+MODULE_AUTHOR("Pinfan Zhu <zhu@clockworkpi.com>");
519
+MODULE_AUTHOR("Max Fierke <max@maxfierke.com>");
511
+MODULE_AUTHOR("Max Fierke <max@maxfierke.com>");
520
+MODULE_DESCRIPTION("ClockworkPi CWD686 panel driver");
512
+MODULE_AUTHOR("Charlotte Deleńkec <lotte@chir.rs>");
513
+MODULE_DESCRIPTION("Clockwork CWD686 panel driver");
521
+MODULE_LICENSE("GPL");
514
+MODULE_LICENSE("GPL");
522
--
515
--
523
2.37.2
516
2.48.1
517
diff view generated by jsdifflib
1
From: Max Fierke <max@maxfierke.com>
2
1
The CWD686 is a 6.86" IPS LCD panel used as the primary
3
The CWD686 is a 6.86" IPS LCD panel used as the primary
2
display in the ClockworkPi DevTerm portable (all cores)
4
display in the ClockworkPi DevTerm portable (all cores)
3
5
6
Co-authored-by: Charlotte Deleńkec <lotte@chir.rs>
7
Signed-off-by: Charlotte Deleńkec <lotte@chir.rs>
4
Signed-off-by: Max Fierke <max@maxfierke.com>
8
Signed-off-by: Max Fierke <max@maxfierke.com>
5
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
9
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
6
---
10
---
7
Changes in v3 (Krzysztof Kozlowski's Suggestions)
11
.../display/panel/clockwork,cwd686.yaml | 65 +++++++++++++++++++
8
- add missing lines for spacing
12
1 file changed, 65 insertions(+)
13
create mode 100644 Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml
9
14
10
Changes in v2 (Krzysztof Kozlowski and Rob Herring's Suggestions)
15
diff --git a/Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml b/Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml
11
- remove redundant backlight example
12
- add missing regulators
13
14
.../display/panel/clockworkpi,cwd686.yaml | 65 +++++++++++++++++++
15
1 file changed, 65 insertions(+)
16
create mode 100644 Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
17
18
diff --git a/Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml b/Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
19
new file mode 100644
16
new file mode 100644
20
index XXXXXXX..XXXXXXX
17
index XXXXXXX..XXXXXXX
21
--- /dev/null
18
--- /dev/null
22
+++ b/Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
19
+++ b/Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml
23
@@ -XXX,XX +XXX,XX @@
20
@@ -XXX,XX +XXX,XX @@
24
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
21
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25
+%YAML 1.2
22
+%YAML 1.2
26
+---
23
+---
27
+$id: http://devicetree.org/schemas/display/panel/clockworkpi,cwd686.yaml#
24
+$id: http://devicetree.org/schemas/display/panel/clockwork,cwd686.yaml#
28
+$schema: http://devicetree.org/meta-schemas/core.yaml#
25
+$schema: http://devicetree.org/meta-schemas/core.yaml#
29
+
26
+
30
+title: ClockworkPi CWD686 6.86" IPS LCD panel
27
+title: Clockwork CWD686 6.86" IPS LCD panel
31
+
28
+
32
+maintainers:
29
+maintainers:
33
+ - Max Fierke <max@maxfierke.com>
30
+ - Max Fierke <max@maxfierke.com>
34
+
31
+
35
+description: |
32
+description: |
36
+ The ClockworkPi CWD686 is a 6.86" ICNL9707-based IPS LCD panel used within the
33
+ The Clockwork CWD686 is a 6.86" ICNL9707-based IPS LCD panel used within the
37
+ ClockworkPi DevTerm series of portable devices. The panel has a 480x1280
34
+ Clockwork DevTerm series of portable devices. The panel has a 480x1280
38
+ resolution and uses 24 bit RGB per pixel.
35
+ resolution and uses 24 bit RGB per pixel.
39
+
36
+
40
+allOf:
37
+allOf:
41
+ - $ref: panel-common.yaml#
38
+ - $ref: panel-common.yaml#
42
+
39
+
43
+properties:
40
+properties:
44
+ compatible:
41
+ compatible:
45
+ const: clockworkpi,cwd686
42
+ const: clockwork,cwd686
46
+
43
+
47
+ reg:
44
+ reg:
48
+ description: DSI virtual channel used by that screen
45
+ description: DSI virtual channel used by that screen
49
+ maxItems: 1
46
+ maxItems: 1
50
+
47
+
...
...
75
+ dsi {
72
+ dsi {
76
+ #address-cells = <1>;
73
+ #address-cells = <1>;
77
+ #size-cells = <0>;
74
+ #size-cells = <0>;
78
+
75
+
79
+ panel@0 {
76
+ panel@0 {
80
+ compatible = "clockworkpi,cwd686";
77
+ compatible = "clockwork,cwd686";
81
+ reg = <0>;
78
+ reg = <0>;
82
+ backlight = <&backlight>;
79
+ backlight = <&backlight>;
83
+ reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
80
+ reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
84
+ rotation = <90>;
81
+ rotation = <90>;
85
+ iovcc-supply = <&vcc_1v8>;
82
+ iovcc-supply = <&vcc_1v8>;
86
+ vci-supply = <&vcc3v3_sys>;
83
+ vci-supply = <&vcc3v3_sys>;
87
+ };
84
+ };
88
+ };
85
+ };
89
--
86
--
90
2.37.2
87
2.48.1
88
diff view generated by jsdifflib
1
From: Max Fierke <max@maxfierke.com>
2
1
Returns the panel's configured orientation
3
Returns the panel's configured orientation
2
4
3
Signed-off-by: Max Fierke <max@maxfierke.com>
5
Signed-off-by: Max Fierke <max@maxfierke.com>
4
---
6
---
5
Changes in v3:
7
drivers/gpu/drm/panel/panel-clockwork-cwd686.c | 14 +++++++++++++-
6
- no changes
8
1 file changed, 13 insertions(+), 1 deletion(-)
7
9
8
Changes in v2:
10
diff --git a/drivers/gpu/drm/panel/panel-clockwork-cwd686.c b/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
9
- this was added as .get_orientation is now available in drm-misc-next since v1
10
11
drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c | 13 ++++++++++++-
12
1 file changed, 12 insertions(+), 1 deletion(-)
13
14
diff --git a/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c b/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
15
index XXXXXXX..XXXXXXX 100644
11
index XXXXXXX..XXXXXXX 100644
16
--- a/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
12
--- a/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
17
+++ b/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
13
+++ b/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
18
@@ -XXX,XX +XXX,XX @@ static int cwd686_get_modes(struct drm_panel *panel, struct drm_connector *conne
14
@@ -XXX,XX +XXX,XX @@ static int cwd686_get_modes(struct drm_panel *panel, struct drm_connector *conne
19
    drm_mode_set_name(mode);
15
    drm_mode_set_name(mode);
20
    mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
16
    mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
21
17
22
-    /* Set up connector's "panel orientation" property */
18
-    /* Set up connector's "panel orientation" property */
...
...
29
    drm_mode_probed_add(connector, mode);
25
    drm_mode_probed_add(connector, mode);
30
@@ -XXX,XX +XXX,XX @@ static int cwd686_get_modes(struct drm_panel *panel, struct drm_connector *conne
26
@@ -XXX,XX +XXX,XX @@ static int cwd686_get_modes(struct drm_panel *panel, struct drm_connector *conne
31
    return 1; /* Number of modes */
27
    return 1; /* Number of modes */
32
}
28
}
33
29
30
+
34
+static enum drm_panel_orientation cwd686_get_orientation(struct drm_panel *panel)
31
+static enum drm_panel_orientation cwd686_get_orientation(struct drm_panel *panel)
35
+{
32
+{
36
+    struct cwd686 *ctx = panel_to_cwd686(panel);
33
+    struct cwd686 *ctx = panel_to_cwd686(panel);
37
+
34
+
38
+    return ctx->orientation;
35
+    return ctx->orientation;
...
...
45
+    .get_orientation = cwd686_get_orientation,
42
+    .get_orientation = cwd686_get_orientation,
46
};
43
};
47
44
48
static int cwd686_probe(struct mipi_dsi_device *dsi)
45
static int cwd686_probe(struct mipi_dsi_device *dsi)
49
--
46
--
50
2.37.2
47
2.48.1
diff view generated by jsdifflib