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

title: Toschiba TC358768/TC358778 Parallel RGB to MIPI DSI bridge

maintainers:
  - Peter Ujfalusi <peter.ujfalusi@ti.com>

description: |
  The TC358768/TC358778 is bridge device which converts RGB to DSI.

properties:
  compatible:
    enum:
      - toshiba,tc358768
      - toshiba,tc358778

  reg:
    maxItems: 1
    description: base I2C address of the device

  reset-gpios:
    maxItems: 1
    description: GPIO connected to active low RESX pin

  vddc-supply:
    description: Regulator for 1.2V internal core power.

  vddmipi-supply:
    description: Regulator for 1.2V for the MIPI.

  vddio-supply:
    description: Regulator for 1.8V - 3.3V IO power.

  clocks:
    maxItems: 1

  clock-names:
    const: refclk

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

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

        properties:
          endpoint:
            $ref: /schemas/graph.yaml#/$defs/endpoint-base
            unevaluatedProperties: false

            properties:
              data-lines:
                $ref: /schemas/types.yaml#/definitions/uint32
                enum: [ 16, 18, 24 ]

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

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - vddc-supply
  - vddmipi-supply
  - vddio-supply
  - ports

allOf:
  - $ref: ../dsi-controller.yaml#

unevaluatedProperties: false

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

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

      dsi_bridge: dsi@e {
        compatible = "toshiba,tc358768";
        reg = <0xe>;

        clocks = <&tc358768_refclk>;
        clock-names = "refclk";

        reset-gpios = <&pcf_display_board 0 GPIO_ACTIVE_LOW>;

        vddc-supply = <&v1_2d>;
        vddmipi-supply = <&v1_2d>;
        vddio-supply = <&v3_3d>;

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

          port@0 {
            reg = <0>;
            rgb_in: endpoint {
              remote-endpoint = <&dpi_out>;
              data-lines = <24>;
            };
          };

          port@1 {
            reg = <1>;
            dsi_out: endpoint {
              remote-endpoint = <&lcd_in>;
            };
          };
        };
      };
    };
