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

    i2c {
        #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>;
                    };
                };
            };
        };
    };
