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

title: Toshiba TC358762 MIPI DSI to MIPI DPI bridge

maintainers:
  - Marek Vasut <marex@denx.de>

description: |
  The TC358762 is bridge device which converts MIPI DSI to MIPI DPI.

properties:
  compatible:
    enum:
      - toshiba,tc358762

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

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

  ports:
    type: object

    properties:
      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

      port@0:
        type: object
        additionalProperties: false

        description: |
          Video port for MIPI DSI input

        properties:
          reg:
            const: 0

        patternProperties:
          endpoint:
            type: object
            additionalProperties: false

            properties:
              remote-endpoint: true

        required:
          - reg

      port@1:
        type: object
        additionalProperties: false

        description: |
          Video port for MIPI DPI output (panel or connector).

        properties:
          reg:
            const: 1

        patternProperties:
          endpoint:
            type: object
            additionalProperties: false

            properties:
              remote-endpoint: true

        required:
          - reg

    required:
      - "#address-cells"
      - "#size-cells"
      - port@0
      - port@1

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

additionalProperties: false

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

      bridge@0 {
        reg = <0>;
        compatible = "toshiba,tc358762";
        vddc-supply = <&vcc_1v2_reg>;

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

          port@0 {
            reg = <0>;
            bridge_in: endpoint {
              remote-endpoint = <&dsi_out>;
            };
          };

          port@1 {
            reg = <1>;
            bridge_out: endpoint {
              remote-endpoint = <&panel_in>;
            };
          };
        };
      };
    };

...
