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

title: Toshiba TC358764 MIPI-DSI to LVDS bridge

maintainers:
  - Andrzej Hajda <andrzej.hajda@intel.com>

properties:
  compatible:
    const: toshiba,tc358764

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

  reset-gpios:
    maxItems: 1

  vddc-supply:
    description: Core voltage supply, 1.2V

  vddio-supply:
    description: I/O voltage supply, 1.8V or 3.3V

  vddlvds-supply:
    description: LVDS1/2 voltage supply, 3.3V

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Video port for MIPI DSI input, if the bridge DSI controlled

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

    required:
      - port@1

required:
  - compatible
  - reg
  - reset-gpios
  - vddc-supply
  - vddio-supply
  - vddlvds-supply
  - ports

additionalProperties: false

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

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

        bridge@0 {
            compatible = "toshiba,tc358764";
            reg = <0>;

            reset-gpios = <&gpd1 6 GPIO_ACTIVE_LOW>;
            vddc-supply = <&vcc_1v2_reg>;
            vddio-supply = <&vcc_1v8_reg>;
            vddlvds-supply = <&vcc_3v3_reg>;

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

                port@1 {
                    reg = <1>;
                    lvds_ep: endpoint {
                      remote-endpoint = <&panel_ep>;
                    };
                };
            };
        };
    };
