mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 23:03:57 -04:00
The ssd130x DRM driver also makes use of this Device Tree binding to allow existing users of the fbdev driver to migrate without the need to change their Device Trees. Add myself as another maintainer of the binding, to make sure that I will be on Cc when patches are proposed for it. Suggested-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Acked-by: Rob Herring <robh@kernel.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Maxime Ripard <maxime@cerno.tech> Link: https://patchwork.freedesktop.org/patch/msgid/20220214133935.3278933-1-javierm@redhat.com
210 lines
4.9 KiB
YAML
210 lines
4.9 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/display/solomon,ssd1307fb.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Solomon SSD1307 OLED Controller Framebuffer
|
|
|
|
maintainers:
|
|
- Maxime Ripard <mripard@kernel.org>
|
|
- Javier Martinez Canillas <javierm@redhat.com>
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- solomon,ssd1305fb-i2c
|
|
- solomon,ssd1306fb-i2c
|
|
- solomon,ssd1307fb-i2c
|
|
- solomon,ssd1309fb-i2c
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
pwms:
|
|
maxItems: 1
|
|
|
|
reset-gpios:
|
|
maxItems: 1
|
|
|
|
vbat-supply:
|
|
description: The supply for VBAT
|
|
|
|
solomon,height:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 16
|
|
description:
|
|
Height in pixel of the screen driven by the controller
|
|
|
|
solomon,width:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 96
|
|
description:
|
|
Width in pixel of the screen driven by the controller
|
|
|
|
solomon,page-offset:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 1
|
|
description:
|
|
Offset of pages (band of 8 pixels) that the screen is mapped to
|
|
|
|
solomon,segment-no-remap:
|
|
type: boolean
|
|
description:
|
|
Display needs normal (non-inverted) data column to segment mapping
|
|
|
|
solomon,col-offset:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 0
|
|
description:
|
|
Offset of columns (COL/SEG) that the screen is mapped to
|
|
|
|
solomon,com-seq:
|
|
type: boolean
|
|
description:
|
|
Display uses sequential COM pin configuration
|
|
|
|
solomon,com-lrremap:
|
|
type: boolean
|
|
description:
|
|
Display uses left-right COM pin remap
|
|
|
|
solomon,com-invdir:
|
|
type: boolean
|
|
description:
|
|
Display uses inverted COM pin scan direction
|
|
|
|
solomon,com-offset:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 0
|
|
description:
|
|
Number of the COM pin wired to the first display line
|
|
|
|
solomon,prechargep1:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 2
|
|
description:
|
|
Length of deselect period (phase 1) in clock cycles
|
|
|
|
solomon,prechargep2:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
default: 2
|
|
description:
|
|
Length of precharge period (phase 2) in clock cycles. This needs to be
|
|
the higher, the higher the capacitance of the OLED's pixels is.
|
|
|
|
solomon,dclk-div:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 1
|
|
maximum: 16
|
|
description:
|
|
Clock divisor. The default value is controller-dependent.
|
|
|
|
solomon,dclk-frq:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 0
|
|
maximum: 15
|
|
description:
|
|
Clock frequency, higher value means higher frequency.
|
|
The default value is controller-dependent.
|
|
|
|
solomon,lookup-table:
|
|
$ref: /schemas/types.yaml#/definitions/uint8-array
|
|
maxItems: 4
|
|
description:
|
|
8 bit value array of current drive pulse widths for BANK0, and colors A,
|
|
B, and C. Each value in range of 31 to 63 for pulse widths of 32 to 64.
|
|
Color D is always width 64.
|
|
|
|
solomon,area-color-enable:
|
|
type: boolean
|
|
description:
|
|
Display uses color mode
|
|
|
|
solomon,low-power:
|
|
type: boolean
|
|
description:
|
|
Display runs in low power mode
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: solomon,ssd1305fb-i2c
|
|
then:
|
|
properties:
|
|
solomon,dclk-div:
|
|
default: 1
|
|
solomon,dclk-frq:
|
|
default: 7
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: solomon,ssd1306fb-i2c
|
|
then:
|
|
properties:
|
|
solomon,dclk-div:
|
|
default: 1
|
|
solomon,dclk-frq:
|
|
default: 8
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: solomon,ssd1307fb-i2c
|
|
then:
|
|
properties:
|
|
solomon,dclk-div:
|
|
default: 2
|
|
solomon,dclk-frq:
|
|
default: 12
|
|
required:
|
|
- pwms
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: solomon,ssd1309fb-i2c
|
|
then:
|
|
properties:
|
|
solomon,dclk-div:
|
|
default: 1
|
|
solomon,dclk-frq:
|
|
default: 10
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ssd1307: oled@3c {
|
|
compatible = "solomon,ssd1307fb-i2c";
|
|
reg = <0x3c>;
|
|
pwms = <&pwm 4 3000>;
|
|
reset-gpios = <&gpio2 7>;
|
|
};
|
|
|
|
ssd1306: oled@3d {
|
|
compatible = "solomon,ssd1306fb-i2c";
|
|
reg = <0x3c>;
|
|
pwms = <&pwm 4 3000>;
|
|
reset-gpios = <&gpio2 7>;
|
|
solomon,com-lrremap;
|
|
solomon,com-invdir;
|
|
solomon,com-offset = <32>;
|
|
solomon,lookup-table = /bits/ 8 <0x3f 0x3f 0x3f 0x3f>;
|
|
};
|
|
};
|