1# Copyright (c) 2023 Mr Beam Lasers GmbH.
2# Copyright (c) 2023 Amrith Venkat Kesavamoorthi <amrith@mr-beam.org>
3# Copyright (c) 2023 Martin Kiepfer <mrmarteng@teleschirm.org>
4# SPDX-License-Identifier: Apache-2.0
5
6description: |
7  GC9X01X display driver.
8
9  This driver implements support for various GC9X01X graphics
10  controllers and different display sizes. It has been validated
11  for following controllers:
12   - GC9101A: (Waveshare 240x240, 1.28inch round lcd display 240x240)
13
14  Here is an example to define a display interface:
15
16  / {
17      my_mipi_dbi {
18          compatible = "zephyr,mipi-dbi-spi";
19          status = "okay";
20          #address-cells = <1>;
21          #size-cells = <0>;
22          spi-dev = <&spi2>;
23          dc-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
24          reset-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
25
26          gc9x01x_lcd: gc9x01x_lcd@0 {
27              compatible = "galaxycore,gc9x01x";
28              reg = <0>;
29              mipi-max-frequency = <DT_FREQ_M(100)>;
30              pixel-format = <PANEL_PIXEL_FORMAT_RGB_565>;
31              width = <240>;
32              height = <240>;
33              display-inversion;
34          };
35      };
36  };
37
38
39compatible: "galaxycore,gc9x01x"
40
41include: [mipi-dbi-spi-device.yaml, display-controller.yaml, lcd-controller.yaml]
42
43properties:
44  orientation:
45    type: string
46    default: "normal"
47    enum:
48      - "normal"
49      - "90"
50      - "180"
51      - "270"
52    description: Display orientation (CW) in degrees.
53
54  display-inversion:
55    type: boolean
56    description: |
57      Display inversion mode. Every bit is inverted from the frame memory to
58      the display.
59
60  pwrctrl1:
61    type: uint8-array
62    default: [
63      0x00
64    ]
65    description: Power-control 1 register value
66
67  pwrctrl2:
68    type: uint8-array
69    default: [
70      0x13
71    ]
72    description: Power-control 2 register value
73
74  pwrctrl3:
75    type: uint8-array
76    default: [
77      0x13
78    ]
79    description: Power-control 3 register value
80
81  pwrctrl4:
82    type: uint8-array
83    default: [
84      0x22
85    ]
86    description: Power-control 4 register value
87
88  gamma1:
89    type: uint8-array
90    default: [
91      0x45,
92      0x09,
93      0x08,
94      0x08,
95      0x26,
96      0x2A
97    ]
98    description: Gamma correction 1 register values (negative polarity)
99
100  gamma2:
101    type: uint8-array
102    default: [
103      0x43,
104      0x70,
105      0x72,
106      0x36,
107      0x37,
108      0x6F
109    ]
110    description: Gamma correction 3 register values
111
112  gamma3:
113    type: uint8-array
114    default: [
115      0x45,
116      0x09,
117      0x08,
118      0x08,
119      0x26,
120      0x2A
121    ]
122    description: Gamma correction 3 register values (positive polarity)
123
124  gamma4:
125    type: uint8-array
126    default: [
127      0x43,
128      0x70,
129      0x72,
130      0x36,
131      0x37,
132      0x6F
133    ]
134    description: Gamma correction 4 register values
135
136  framerate:
137    type: uint8-array
138    default: [
139      0x34
140    ]
141    description: Framerate register value
142