# 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

  clock-names:
    const: refclk

  clocks:
    maxItems: 1
    description: |
        Optional external clock connected to REF_CLK input.
        The clock rate must be in 10..154 MHz range.

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