# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/chipone,icn6211.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Chipone ICN6211 MIPI-DSI to RGB Converter bridge

maintainers:
  - Jagan Teki <jagan@amarulasolutions.com>

description: |
  ICN6211 is MIPI-DSI to RGB Converter bridge from chipone.

  It has a flexible configuration of MIPI DSI signal input and
  produce RGB565, RGB666, RGB888 output format.

properties:
  compatible:
    enum:
      - chipone,icn6211

  reg:
    maxItems: 1
    description: virtual channel number of a DSI peripheral

  enable-gpios:
    description: Bridge EN pin, chip is reset when EN is low.

  vdd1-supply:
    description: A 1.8V/2.5V/3.3V supply that power the MIPI RX.

  vdd2-supply:
    description: A 1.8V/2.5V/3.3V supply that power the PLL.

  vdd3-supply:
    description: A 1.8V/2.5V/3.3V supply that power the RGB output.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          Video port for MIPI DSI input

        properties:
          endpoint:
            $ref: /schemas/media/video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                description: array of physical DSI data lane indexes.
                minItems: 1
                items:
                  - const: 1
                  - const: 2
                  - const: 3
                  - const: 4

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for MIPI DPI output (panel or connector).

    required:
      - port@1

required:
  - compatible
  - reg
  - enable-gpios
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    dsi {
      #address-cells = <1>;
      #size-cells = <0>;

      bridge@0 {
        compatible = "chipone,icn6211";
        reg = <0>;
        enable-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* LCD-RST: PL5 */

        ports {
          #address-cells = <1>;
          #size-cells = <0>;

          port@0 {
            reg = <0>;

            bridge_in_dsi: endpoint {
              remote-endpoint = <&dsi_out_bridge>;
            };
          };

          port@1 {
            reg = <1>;

            bridge_out_panel: endpoint {
              remote-endpoint = <&panel_out_bridge>;
            };
          };
        };
      };
    };
