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

title: TI DLPC3433 MIPI DSI to DMD bridge

maintainers:
  - Jagan Teki <jagan@amarulasolutions.com>
  - Christopher Vollo <chris@renewoutreach.org>

description: |
  TI DLPC3433 is a MIPI DSI based display controller bridge
  for processing high resolution DMD based projectors.

  It has a flexible configuration of MIPI DSI and DPI signal
  input that produces a DMD output in RGB565, RGB666, RGB888
  formats.

  It supports upto 720p resolution with 60 and 120 Hz refresh
  rates.

properties:
  compatible:
    const: ti,dlpc3433

  reg:
    enum:
      - 0x1b
      - 0x1d

  enable-gpios:
    description: PROJ_ON pin, chip powers up PROJ_ON is high.

  vcc_intf-supply:
    description: A 1.8V/3.3V supply that power the Host I/O.

  vcc_flsh-supply:
    description: A 1.8V/3.3V supply that power the Flash I/O.

  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 DMD output.

    required:
      - port@0
      - port@1

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

additionalProperties: false

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

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

        bridge@1b {
            compatible = "ti,dlpc3433";
            reg = <0x1b>;
            enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;

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

                port@0 {
                    reg = <0>;

                    bridge_in_dsi: endpoint {
                        remote-endpoint = <&dsi_out_bridge>;
                        data-lanes = <1 2 3 4>;
                    };
                };

                port@1 {
                    reg = <1>;

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