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
23
24
Changes in v3:
25
- dt-bindings: add missing lines for spacing
17
26
18
Changes in v2:
27
Changes in v2:
19
- dt-bindings: remove redundant backlight example
28
- dt-bindings: remove redundant backlight example
20
- add missing regulators
29
- add missing regulators
21
- remove some unused properties from definition (e.g. enable_gpio, supply)
30
- remove some unused properties from definition (e.g. enable_gpio, supply)
...
...
25
- replace ICNL9707_DCS macro with mipi_dsi_dcs_write_seq
34
- replace ICNL9707_DCS macro with mipi_dsi_dcs_write_seq
26
- use dev_err_probe instead of checking EPROBE_DEFER
35
- use dev_err_probe instead of checking EPROBE_DEFER
27
- 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
28
- add .get_orientation callback
37
- add .get_orientation callback
29
38
30
Max Fierke (4):
31
dt-bindings: vendor-prefixes: Add prefix for ClockworkPi
32
dt-bindings: display: Add ClockworkPi CWD686 panel
33
drm: panel: Add driver for ClockworkPi cwd686 panel
34
drm/panel: clockworkpi-cwd686: Implement .get_orientation callback
35
39
36
.../display/panel/clockworkpi,cwd686.yaml | 63 +++
37
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
38
drivers/gpu/drm/panel/Kconfig | 12 +
39
drivers/gpu/drm/panel/Makefile | 1 +
40
.../gpu/drm/panel/panel-clockworkpi-cwd686.c | 456 ++++++++++++++++++
41
5 files changed, 534 insertions(+)
42
create mode 100644 Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
43
create mode 100644 drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
44
45
--
46
2.37.1
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.1
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 v2: (Sam Ravnborg's suggestions)
18
- remove some unused properties from definition (e.g. enable_gpio, supply)
19
- add missing regulators
20
- reorder includes
21
- remove redundant ctx->backlight in favor of backlight through drm_panel_of_backlight
22
- remove now-unneeded ctx->enabled and enable/disable hooks
23
- replace ICNL9707_DCS macro with mipi_dsi_dcs_write_seq
24
- use dev_err_probe instead of checking EPROBE_DEFER
25
- fixed return type of cwd686_remove to be void following changes to mipi_dsi_driver
26
27
drivers/gpu/drm/panel/Kconfig | 12 +
21
drivers/gpu/drm/panel/Kconfig | 12 +
28
drivers/gpu/drm/panel/Makefile | 1 +
22
drivers/gpu/drm/panel/Makefile | 1 +
29
.../gpu/drm/panel/panel-clockworkpi-cwd686.c | 445 ++++++++++++++++++
23
.../gpu/drm/panel/panel-clockwork-cwd686.c | 447 ++++++++++++++++++
30
3 files changed, 458 insertions(+)
24
3 files changed, 460 insertions(+)
31
create mode 100644 drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
25
create mode 100644 drivers/gpu/drm/panel/panel-clockwork-cwd686.c
32
26
33
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
34
index XXXXXXX..XXXXXXX 100644
28
index XXXXXXX..XXXXXXX 100644
35
--- a/drivers/gpu/drm/panel/Kconfig
29
--- a/drivers/gpu/drm/panel/Kconfig
36
+++ b/drivers/gpu/drm/panel/Kconfig
30
+++ b/drivers/gpu/drm/panel/Kconfig
37
@@ -XXX,XX +XXX,XX @@ config DRM_PANEL_BOE_TV101WUM_NL6
31
@@ -XXX,XX +XXX,XX @@ config DRM_PANEL_BOE_TV101WUM_LL2
38
     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
39
     45NA WUXGA PANEL DSI Video Mode panel
33
     WUXGA PANEL DSI Video Mode panel
40
34
41
+config DRM_PANEL_CLOCKWORKPI_CWD686
35
+config DRM_PANEL_CLOCKWORK_CWD686
42
+    tristate "ClockworkPi CWD686 panel"
36
+    tristate "Clockwork CWD686 panel"
43
+    depends on OF
37
+    depends on OF
44
+    depends on DRM_MIPI_DSI
38
+    depends on DRM_MIPI_DSI
45
+    depends on BACKLIGHT_CLASS_DEVICE
39
+    depends on BACKLIGHT_CLASS_DEVICE
46
+    help
40
+    help
47
+     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
48
+     ICNL9707-based panel, e.g. as used within the ClockworkPi DevTerm.
42
+     ICNL9707-based panel, e.g. as used within the Clockwork DevTerm.
49
+     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.
50
+
44
+
51
+     To compile this driver as a module, choose M here.
45
+     To compile this driver as a module, choose M here.
52
+
46
+
53
config DRM_PANEL_DSI_CM
47
config DRM_PANEL_EBBG_FT8719
54
    tristate "Generic DSI command mode panels"
48
    tristate "EBBG FT8719 panel driver"
55
    depends on OF
49
    depends on OF
56
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
57
index XXXXXXX..XXXXXXX 100644
51
index XXXXXXX..XXXXXXX 100644
58
--- a/drivers/gpu/drm/panel/Makefile
52
--- a/drivers/gpu/drm/panel/Makefile
59
+++ b/drivers/gpu/drm/panel/Makefile
53
+++ b/drivers/gpu/drm/panel/Makefile
60
@@ -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
61
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
62
obj-$(CONFIG_DRM_PANEL_BOE_HIMAX8279D) += panel-boe-himax8279d.o
56
obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_LL2) += panel-boe-tv101wum-ll2.o
63
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
64
+obj-$(CONFIG_DRM_PANEL_CLOCKWORKPI_CWD686) += panel-clockworkpi-cwd686.o
58
+obj-$(CONFIG_DRM_PANEL_CLOCKWORK_CWD686) += panel-clockwork-cwd686.o
65
obj-$(CONFIG_DRM_PANEL_DSI_CM) += panel-dsi-cm.o
59
obj-$(CONFIG_DRM_PANEL_DSI_CM) += panel-dsi-cm.o
66
obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o
60
obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o
67
obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o
61
obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o
68
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
69
new file mode 100644
63
new file mode 100644
70
index XXXXXXX..XXXXXXX
64
index XXXXXXX..XXXXXXX
71
--- /dev/null
65
--- /dev/null
72
+++ b/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
66
+++ b/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
73
@@ -XXX,XX +XXX,XX @@
67
@@ -XXX,XX +XXX,XX @@
74
+// SPDX-License-Identifier: GPL-2.0+
68
+// SPDX-License-Identifier: GPL-2.0+
75
+/*
69
+/*
76
+ * Copyright (c) 2021 Clockwork Tech LLC
70
+ * Copyright (c) 2021 Clockwork Tech LLC
77
+ * Copyright (c) 2021-2022 Max Fierke <max@maxfierke.com>
71
+ * Copyright (c) 2021-2022 Max Fierke <max@maxfierke.com>
78
+ *
72
+ *
79
+ * 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
80
+ */
74
+ */
81
+
75
+
82
+#include <linux/gpio/consumer.h>
76
+#include <linux/gpio/consumer.h>
83
+#include <linux/regulator/consumer.h>
77
+#include <linux/regulator/consumer.h>
84
+#include <linux/delay.h>
78
+#include <linux/delay.h>
...
...
474
+
468
+
475
+    err = drm_panel_of_backlight(&ctx->panel);
469
+    err = drm_panel_of_backlight(&ctx->panel);
476
+    if (err)
470
+    if (err)
477
+        return dev_err_probe(dev, err, "Failed to get backlight\n");
471
+        return dev_err_probe(dev, err, "Failed to get backlight\n");
478
+
472
+
473
+    ctx->panel.prepare_prev_first = true;
479
+    drm_panel_add(&ctx->panel);
474
+    drm_panel_add(&ctx->panel);
480
+
475
+
481
+    err = mipi_dsi_attach(dsi);
476
+    err = mipi_dsi_attach(dsi);
482
+    if (err < 0) {
477
+    if (err < 0) {
483
+        dev_err(dev, "mipi_dsi_attach() failed: %d\n", err);
478
+        dev_err(dev, "mipi_dsi_attach() failed: %d\n", err);
...
...
495
+    mipi_dsi_detach(dsi);
490
+    mipi_dsi_detach(dsi);
496
+    drm_panel_remove(&ctx->panel);
491
+    drm_panel_remove(&ctx->panel);
497
+}
492
+}
498
+
493
+
499
+static const struct of_device_id cwd686_of_match[] = {
494
+static const struct of_device_id cwd686_of_match[] = {
500
+    { .compatible = "clockworkpi,cwd686" },
495
+    { .compatible = "clockwork,cwd686" },
501
+    { /* sentinel */ }
496
+    { /* sentinel */ }
502
+};
497
+};
503
+MODULE_DEVICE_TABLE(of, cwd686_of_match);
498
+MODULE_DEVICE_TABLE(of, cwd686_of_match);
504
+
499
+
505
+static struct mipi_dsi_driver cwd686_driver = {
500
+static struct mipi_dsi_driver cwd686_driver = {
506
+    .probe = cwd686_probe,
501
+    .probe = cwd686_probe,
507
+    .remove = cwd686_remove,
502
+    .remove = cwd686_remove,
508
+    .driver = {
503
+    .driver = {
509
+        .name = "panel-clockworkpi-cwd686",
504
+        .name = "panel-clockwork-cwd686",
510
+        .of_match_table = cwd686_of_match,
505
+        .of_match_table = cwd686_of_match,
511
+    },
506
+    },
512
+};
507
+};
513
+module_mipi_dsi_driver(cwd686_driver);
508
+module_mipi_dsi_driver(cwd686_driver);
514
+
509
+
515
+MODULE_AUTHOR("Pinfan Zhu <zhu@clockworkpi.com>");
510
+MODULE_AUTHOR("Pinfan Zhu <zhu@clockworkpi.com>");
516
+MODULE_AUTHOR("Max Fierke <max@maxfierke.com>");
511
+MODULE_AUTHOR("Max Fierke <max@maxfierke.com>");
517
+MODULE_DESCRIPTION("ClockworkPi CWD686 panel driver");
512
+MODULE_AUTHOR("Charlotte Deleńkec <lotte@chir.rs>");
513
+MODULE_DESCRIPTION("Clockwork CWD686 panel driver");
518
+MODULE_LICENSE("GPL");
514
+MODULE_LICENSE("GPL");
519
--
515
--
520
2.37.1
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 v2 (Krzysztof Kozlowski and Rob Herring's Suggestions)
11
.../display/panel/clockwork,cwd686.yaml | 65 +++++++++++++++++++
8
- remove redundant backlight example
12
1 file changed, 65 insertions(+)
9
- add missing regulators
13
create mode 100644 Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml
10
14
11
.../display/panel/clockworkpi,cwd686.yaml | 63 +++++++++++++++++++
15
diff --git a/Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml b/Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml
12
1 file changed, 63 insertions(+)
13
create mode 100644 Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
14
15
diff --git a/Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml b/Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
16
new file mode 100644
16
new file mode 100644
17
index XXXXXXX..XXXXXXX
17
index XXXXXXX..XXXXXXX
18
--- /dev/null
18
--- /dev/null
19
+++ b/Documentation/devicetree/bindings/display/panel/clockworkpi,cwd686.yaml
19
+++ b/Documentation/devicetree/bindings/display/panel/clockwork,cwd686.yaml
20
@@ -XXX,XX +XXX,XX @@
20
@@ -XXX,XX +XXX,XX @@
21
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
21
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22
+%YAML 1.2
22
+%YAML 1.2
23
+---
23
+---
24
+$id: http://devicetree.org/schemas/display/panel/clockworkpi,cwd686.yaml#
24
+$id: http://devicetree.org/schemas/display/panel/clockwork,cwd686.yaml#
25
+$schema: http://devicetree.org/meta-schemas/core.yaml#
25
+$schema: http://devicetree.org/meta-schemas/core.yaml#
26
+
26
+
27
+title: ClockworkPi CWD686 6.86" IPS LCD panel
27
+title: Clockwork CWD686 6.86" IPS LCD panel
28
+
28
+
29
+maintainers:
29
+maintainers:
30
+ - Max Fierke <max@maxfierke.com>
30
+ - Max Fierke <max@maxfierke.com>
31
+
31
+
32
+description: |
32
+description: |
33
+ 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
34
+ ClockworkPi DevTerm series of portable devices. The panel has a 480x1280
34
+ Clockwork DevTerm series of portable devices. The panel has a 480x1280
35
+ resolution and uses 24 bit RGB per pixel.
35
+ resolution and uses 24 bit RGB per pixel.
36
+
36
+
37
+allOf:
37
+allOf:
38
+ - $ref: panel-common.yaml#
38
+ - $ref: panel-common.yaml#
39
+
39
+
40
+properties:
40
+properties:
41
+ compatible:
41
+ compatible:
42
+ const: clockworkpi,cwd686
42
+ const: clockwork,cwd686
43
+
43
+
44
+ reg:
44
+ reg:
45
+ description: DSI virtual channel used by that screen
45
+ description: DSI virtual channel used by that screen
46
+ maxItems: 1
46
+ maxItems: 1
47
+
47
+ iovcc-supply:
48
+ iovcc-supply:
48
+ description: regulator that supplies the iovcc voltage
49
+ description: regulator that supplies the iovcc voltage
50
+
49
+ vci-supply:
51
+ vci-supply:
50
+ description: regulator that supplies the vci voltage
52
+ description: regulator that supplies the vci voltage
51
+
53
+
52
+ reset-gpios: true
54
+ reset-gpios: true
53
+ rotation: true
55
+ rotation: true
...
...
70
+ dsi {
72
+ dsi {
71
+ #address-cells = <1>;
73
+ #address-cells = <1>;
72
+ #size-cells = <0>;
74
+ #size-cells = <0>;
73
+
75
+
74
+ panel@0 {
76
+ panel@0 {
75
+ compatible = "clockworkpi,cwd686";
77
+ compatible = "clockwork,cwd686";
76
+ reg = <0>;
78
+ reg = <0>;
77
+ backlight = <&backlight>;
79
+ backlight = <&backlight>;
78
+ reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
80
+ reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
79
+ rotation = <90>;
81
+ rotation = <90>;
80
+ iovcc-supply = <&vcc_1v8>;
82
+ iovcc-supply = <&vcc_1v8>;
81
+ vci-supply = <&vcc3v3_sys>;
83
+ vci-supply = <&vcc3v3_sys>;
82
+ };
84
+ };
83
+ };
85
+ };
84
--
86
--
85
2.37.1
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 v2:
7
drivers/gpu/drm/panel/panel-clockwork-cwd686.c | 14 +++++++++++++-
6
- this was added as .get_orientation is now available in drm-misc-next since v1
8
1 file changed, 13 insertions(+), 1 deletion(-)
7
9
8
drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c | 13 ++++++++++++-
10
diff --git a/drivers/gpu/drm/panel/panel-clockwork-cwd686.c b/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
9
1 file changed, 12 insertions(+), 1 deletion(-)
10
11
diff --git a/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c b/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
12
index XXXXXXX..XXXXXXX 100644
11
index XXXXXXX..XXXXXXX 100644
13
--- a/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
12
--- a/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
14
+++ b/drivers/gpu/drm/panel/panel-clockworkpi-cwd686.c
13
+++ b/drivers/gpu/drm/panel/panel-clockwork-cwd686.c
15
@@ -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
16
    drm_mode_set_name(mode);
15
    drm_mode_set_name(mode);
17
    mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
16
    mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
18
17
19
-    /* Set up connector's "panel orientation" property */
18
-    /* Set up connector's "panel orientation" property */
...
...
26
    drm_mode_probed_add(connector, mode);
25
    drm_mode_probed_add(connector, mode);
27
@@ -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
28
    return 1; /* Number of modes */
27
    return 1; /* Number of modes */
29
}
28
}
30
29
30
+
31
+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)
32
+{
32
+{
33
+    struct cwd686 *ctx = panel_to_cwd686(panel);
33
+    struct cwd686 *ctx = panel_to_cwd686(panel);
34
+
34
+
35
+    return ctx->orientation;
35
+    return ctx->orientation;
...
...
42
+    .get_orientation = cwd686_get_orientation,
42
+    .get_orientation = cwd686_get_orientation,
43
};
43
};
44
44
45
static int cwd686_probe(struct mipi_dsi_device *dsi)
45
static int cwd686_probe(struct mipi_dsi_device *dsi)
46
--
46
--
47
2.37.1
47
2.48.1
diff view generated by jsdifflib