# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/simple-framebuffer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Simple Framebuffer Device Tree Bindings

maintainers:
  - Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  - Hans de Goede <hdegoede@redhat.com>

description: |+
  A simple frame-buffer describes a frame-buffer setup by firmware or
  the bootloader, with the assumption that the display hardware has
  already been set up to scan out from the memory pointed to by the
  reg property.

  Since simplefb nodes represent runtime information they must be
  sub-nodes of the chosen node (*). Simplefb nodes must be named
  framebuffer@<address>.

  If the devicetree contains nodes for the display hardware used by a
  simplefb, then the simplefb node must contain a property called
  display, which contains a phandle pointing to the primary display
  hw node, so that the OS knows which simplefb to disable when handing
  over control to a driver for the real hardware. The bindings for the
  hw nodes must specify which node is considered the primary node.

  It is advised to add display# aliases to help the OS determine how
  to number things. If display# aliases are used, then if the simplefb
  node contains a display property then the /aliases/display# path
  must point to the display hw node the display property points to,
  otherwise it must point directly to the simplefb node.

  If a simplefb node represents the preferred console for user
  interaction, then the chosen node stdout-path property should point
  to it, or to the primary display hw node, as with display#
  aliases. If display aliases are used then it should be set to the
  alias instead.

  It is advised that devicetree files contain pre-filled, disabled
  framebuffer nodes, so that the firmware only needs to update the
  mode information and enable them. This way if e.g. later on support
  for more display clocks get added, the simplefb nodes will already
  contain this info and the firmware does not need to be updated.

  If pre-filled framebuffer nodes are used, the firmware may need
  extra information to find the right node. In that case an extra
  platform specific compatible and platform specific properties should
  be used and documented.

properties:
  compatible:
    items:
      - enum:
          - apple,simple-framebuffer
          - allwinner,simple-framebuffer
          - amlogic,simple-framebuffer
      - const: simple-framebuffer

  reg:
    description: Location and size of the framebuffer memory

  clocks:
    description: List of clocks used by the framebuffer.

  power-domains:
    description: List of power domains used by the framebuffer.

  width:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Width of the framebuffer in pixels

  height:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Height of the framebuffer in pixels

  stride:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Number of bytes of a line in the framebuffer

  format:
    description: >
      Format of the framebuffer:
        * `a8b8g8r8` - 32-bit pixels, d[31:24]=a, d[23:16]=b, d[15:8]=g, d[7:0]=r
        * `r5g6b5` - 16-bit pixels, d[15:11]=r, d[10:5]=g, d[4:0]=b
        * `x2r10g10b10` - 32-bit pixels, d[29:20]=r, d[19:10]=g, d[9:0]=b
        * `x8r8g8b8` - 32-bit pixels, d[23:16]=r, d[15:8]=g, d[7:0]=b
    enum:
      - a8b8g8r8
      - r5g6b5
      - x2r10g10b10
      - x8r8g8b8

  display:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Primary display hardware node

  allwinner,pipeline:
    description: Pipeline used by the framebuffer on Allwinner SoCs
    enum:
      - de_be0-lcd0
      - de_be0-lcd0-hdmi
      - de_be0-lcd0-tve0
      - de_be1-lcd0
      - de_be1-lcd1-hdmi
      - de_fe0-de_be0-lcd0
      - de_fe0-de_be0-lcd0-hdmi
      - de_fe0-de_be0-lcd0-tve0
      - mixer0-lcd0
      - mixer0-lcd0-hdmi
      - mixer1-lcd1-hdmi
      - mixer1-lcd1-tve

  amlogic,pipeline:
    description: Pipeline used by the framebuffer on Amlogic SoCs
    enum:
      - vpu-cvbs
      - vpu-hdmi

patternProperties:
  "^[a-zA-Z0-9-]+-supply$":
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Regulators used by the framebuffer. These should be named
      according to the names in the device design.

required:
  # The binding requires also reg, width, height, stride and format,
  # but usually they will be filled by the bootloader.
  - compatible

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: allwinner,simple-framebuffer

    then:
      required:
        - allwinner,pipeline

  - if:
      properties:
        compatible:
          contains:
            const: amlogic,simple-framebuffer

    then:
      required:
        - amlogic,pipeline


additionalProperties: false

examples:
  - |
    / {
        compatible = "foo";
        model = "foo";
        #address-cells = <1>;
        #size-cells = <1>;

        chosen {
            #address-cells = <1>;
            #size-cells = <1>;
            framebuffer0: framebuffer@1d385000 {
                compatible = "allwinner,simple-framebuffer", "simple-framebuffer";
                allwinner,pipeline = "de_be0-lcd0";
                reg = <0x1d385000 3840000>;
                width = <1600>;
                height = <1200>;
                stride = <3200>;
                format = "r5g6b5";
                clocks = <&ahb_gates 36>, <&ahb_gates 43>, <&ahb_gates 44>;
                lcd-supply = <&reg_dc1sw>;
                display = <&lcdc0>;
            };
        };
    };

...
