1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/display/solomon,ssd1307fb.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Solomon SSD1307 OLED Controller Framebuffer
10 - Maxime Ripard <mripard@kernel.org>
11 - Javier Martinez Canillas <javierm@redhat.com>
16 # Deprecated compatible strings
19 - solomon,ssd1305fb-i2c
20 - solomon,ssd1306fb-i2c
21 - solomon,ssd1307fb-i2c
22 - solomon,ssd1309fb-i2c
41 # Only required for SPI
44 GPIO connected to the controller's D/C# (Data/Command) pin,
45 that is needed for 4-wire SPI to tell the controller if the
46 data sent is for a command register or the display data RAM
50 description: The supply for VBAT
52 # Only required for SPI
53 spi-max-frequency: true
56 $ref: /schemas/types.yaml#/definitions/uint32
59 Height in pixel of the screen driven by the controller
62 $ref: /schemas/types.yaml#/definitions/uint32
65 Width in pixel of the screen driven by the controller
68 $ref: /schemas/types.yaml#/definitions/uint32
71 Offset of pages (band of 8 pixels) that the screen is mapped to
73 solomon,segment-no-remap:
76 Display needs normal (non-inverted) data column to segment mapping
79 $ref: /schemas/types.yaml#/definitions/uint32
82 Offset of columns (COL/SEG) that the screen is mapped to
87 Display uses sequential COM pin configuration
92 Display uses left-right COM pin remap
97 Display uses inverted COM pin scan direction
100 $ref: /schemas/types.yaml#/definitions/uint32
103 Number of the COM pin wired to the first display line
106 $ref: /schemas/types.yaml#/definitions/uint32
109 Length of deselect period (phase 1) in clock cycles
112 $ref: /schemas/types.yaml#/definitions/uint32
115 Length of precharge period (phase 2) in clock cycles. This needs to be
116 the higher, the higher the capacitance of the OLED's pixels is.
119 $ref: /schemas/types.yaml#/definitions/uint32
123 Clock divisor. The default value is controller-dependent.
126 $ref: /schemas/types.yaml#/definitions/uint32
130 Clock frequency, higher value means higher frequency.
131 The default value is controller-dependent.
133 solomon,lookup-table:
134 $ref: /schemas/types.yaml#/definitions/uint8-array
137 8 bit value array of current drive pulse widths for BANK0, and colors A,
138 B, and C. Each value in range of 31 to 63 for pulse widths of 32 to 64.
139 Color D is always width 64.
141 solomon,area-color-enable:
144 Display uses color mode
149 Display runs in low power mode
160 const: sinowealth,sh1106
173 - solomon,ssd1305-i2c
187 - solomon,ssd1306-i2c
201 - solomon,ssd1307-i2c
217 - solomon,ssd1309-i2c
226 additionalProperties: false
231 #address-cells = <1>;
234 ssd1307_i2c: oled@3c {
235 compatible = "solomon,ssd1307";
237 pwms = <&pwm 4 3000>;
238 reset-gpios = <&gpio2 7>;
241 ssd1306_i2c: oled@3d {
242 compatible = "solomon,ssd1306";
244 pwms = <&pwm 4 3000>;
245 reset-gpios = <&gpio2 7>;
248 solomon,com-offset = <32>;
249 solomon,lookup-table = /bits/ 8 <0x3f 0x3f 0x3f 0x3f>;
254 #address-cells = <1>;
257 ssd1307_spi: oled@0 {
258 compatible = "solomon,ssd1307";
260 pwms = <&pwm 4 3000>;
261 reset-gpios = <&gpio2 7>;
262 dc-gpios = <&gpio2 8>;
263 spi-max-frequency = <10000000>;
266 ssd1306_spi: oled@1 {
267 compatible = "solomon,ssd1306";
269 pwms = <&pwm 4 3000>;
270 reset-gpios = <&gpio2 7>;
271 dc-gpios = <&gpio2 8>;
272 spi-max-frequency = <10000000>;
275 solomon,com-offset = <32>;
276 solomon,lookup-table = /bits/ 8 <0x3f 0x3f 0x3f 0x3f>;