# 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>

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>;
            };
    };
