xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/toshiba,tc358767.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28cc087a1SEmmanuel Vadot%YAML 1.2
38cc087a1SEmmanuel Vadot---
48cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/display/bridge/toshiba,tc358767.yaml#
58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
7f126890aSEmmanuel Vadottitle: Toshiba TC358767/TC358867/TC9595 DSI/DPI/eDP bridge
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotmaintainers:
108cc087a1SEmmanuel Vadot  - Andrey Gusakov <andrey.gusakov@cogentembedded.com>
118cc087a1SEmmanuel Vadot
12f126890aSEmmanuel Vadotdescription: |
13f126890aSEmmanuel Vadot  The TC358767/TC358867/TC9595 is bridge device which
14f126890aSEmmanuel Vadot  converts DSI/DPI to eDP/DP .
158cc087a1SEmmanuel Vadot
168cc087a1SEmmanuel Vadotproperties:
178cc087a1SEmmanuel Vadot  compatible:
18f126890aSEmmanuel Vadot    oneOf:
19f126890aSEmmanuel Vadot      - items:
20f126890aSEmmanuel Vadot          - enum:
21f126890aSEmmanuel Vadot              - toshiba,tc358867
22f126890aSEmmanuel Vadot              - toshiba,tc9595
23f126890aSEmmanuel Vadot          - const: toshiba,tc358767
24f126890aSEmmanuel Vadot      - const: toshiba,tc358767
258cc087a1SEmmanuel Vadot
268cc087a1SEmmanuel Vadot  reg:
278cc087a1SEmmanuel Vadot    enum:
288cc087a1SEmmanuel Vadot      - 0x68
298cc087a1SEmmanuel Vadot      - 0x0f
308cc087a1SEmmanuel Vadot    description: |
318cc087a1SEmmanuel Vadot        i2c address of the bridge, 0x68 or 0x0f, depending on bootstrap pins
328cc087a1SEmmanuel Vadot
338cc087a1SEmmanuel Vadot  clock-names:
34fac71e4eSEmmanuel Vadot    const: ref
358cc087a1SEmmanuel Vadot
368cc087a1SEmmanuel Vadot  clocks:
378cc087a1SEmmanuel Vadot    maxItems: 1
388cc087a1SEmmanuel Vadot    description: |
398cc087a1SEmmanuel Vadot        OF device-tree clock specification for refclk input. The reference.
408cc087a1SEmmanuel Vadot        clock rate must be 13 MHz, 19.2 MHz, 26 MHz, or 38.4 MHz.
418cc087a1SEmmanuel Vadot
428cc087a1SEmmanuel Vadot  shutdown-gpios:
438cc087a1SEmmanuel Vadot    maxItems: 1
448cc087a1SEmmanuel Vadot    description: |
458cc087a1SEmmanuel Vadot        OF device-tree gpio specification for SD pin(active high shutdown input)
468cc087a1SEmmanuel Vadot
478cc087a1SEmmanuel Vadot  reset-gpios:
488cc087a1SEmmanuel Vadot    maxItems: 1
498cc087a1SEmmanuel Vadot    description: |
508cc087a1SEmmanuel Vadot        OF device-tree gpio specification for RSTX pin(active low system reset)
518cc087a1SEmmanuel Vadot
52*aa1a8ff2SEmmanuel Vadot  interrupts:
53*aa1a8ff2SEmmanuel Vadot    maxItems: 1
54*aa1a8ff2SEmmanuel Vadot
558cc087a1SEmmanuel Vadot  toshiba,hpd-pin:
568cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
578cc087a1SEmmanuel Vadot    enum:
588cc087a1SEmmanuel Vadot      - 0
598cc087a1SEmmanuel Vadot      - 1
608cc087a1SEmmanuel Vadot    description: TC358767 GPIO pin number to which HPD is connected to (0 or 1)
618cc087a1SEmmanuel Vadot
628cc087a1SEmmanuel Vadot  ports:
638cc087a1SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
648cc087a1SEmmanuel Vadot
658cc087a1SEmmanuel Vadot    properties:
668cc087a1SEmmanuel Vadot      port@0:
67d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
68d5b0e70fSEmmanuel Vadot        unevaluatedProperties: false
698cc087a1SEmmanuel Vadot        description: |
708cc087a1SEmmanuel Vadot            DSI input port. The remote endpoint phandle should be a
718cc087a1SEmmanuel Vadot            reference to a valid DSI output endpoint node
728cc087a1SEmmanuel Vadot
73d5b0e70fSEmmanuel Vadot        properties:
74d5b0e70fSEmmanuel Vadot          endpoint:
75d5b0e70fSEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
76d5b0e70fSEmmanuel Vadot            unevaluatedProperties: false
77d5b0e70fSEmmanuel Vadot
78d5b0e70fSEmmanuel Vadot            properties:
79d5b0e70fSEmmanuel Vadot              data-lanes:
80d5b0e70fSEmmanuel Vadot                description: array of physical DSI data lane indexes.
81d5b0e70fSEmmanuel Vadot                minItems: 1
82d5b0e70fSEmmanuel Vadot                items:
83d5b0e70fSEmmanuel Vadot                  - const: 1
84d5b0e70fSEmmanuel Vadot                  - const: 2
85d5b0e70fSEmmanuel Vadot                  - const: 3
86d5b0e70fSEmmanuel Vadot                  - const: 4
87d5b0e70fSEmmanuel Vadot
888cc087a1SEmmanuel Vadot      port@1:
898cc087a1SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
908cc087a1SEmmanuel Vadot        description: |
91d5b0e70fSEmmanuel Vadot            DPI input/output port. The remote endpoint phandle should be a
92d5b0e70fSEmmanuel Vadot            reference to a valid DPI output or input endpoint node.
938cc087a1SEmmanuel Vadot
948cc087a1SEmmanuel Vadot      port@2:
958cc087a1SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
968cc087a1SEmmanuel Vadot        description: |
978cc087a1SEmmanuel Vadot            eDP/DP output port. The remote endpoint phandle should be a
988cc087a1SEmmanuel Vadot            reference to a valid eDP panel input endpoint node. This port is
998cc087a1SEmmanuel Vadot            optional, treated as DP panel if not defined
1008cc087a1SEmmanuel Vadot
1018cc087a1SEmmanuel Vadot    oneOf:
1028cc087a1SEmmanuel Vadot      - required:
1038cc087a1SEmmanuel Vadot          - port@0
1048cc087a1SEmmanuel Vadot      - required:
1058cc087a1SEmmanuel Vadot          - port@1
1068cc087a1SEmmanuel Vadot
1078cc087a1SEmmanuel Vadot
1088cc087a1SEmmanuel Vadotrequired:
1098cc087a1SEmmanuel Vadot  - compatible
1108cc087a1SEmmanuel Vadot  - reg
1118cc087a1SEmmanuel Vadot  - clock-names
1128cc087a1SEmmanuel Vadot  - clocks
1138cc087a1SEmmanuel Vadot  - ports
1148cc087a1SEmmanuel Vadot
1158cc087a1SEmmanuel VadotadditionalProperties: false
1168cc087a1SEmmanuel Vadot
1178cc087a1SEmmanuel Vadotexamples:
1188cc087a1SEmmanuel Vadot  - |
1198cc087a1SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
1208cc087a1SEmmanuel Vadot
1218cc087a1SEmmanuel Vadot    /* DPI input and eDP output */
1228cc087a1SEmmanuel Vadot
1238cc087a1SEmmanuel Vadot    i2c {
1248cc087a1SEmmanuel Vadot        #address-cells = <1>;
1258cc087a1SEmmanuel Vadot        #size-cells = <0>;
1268cc087a1SEmmanuel Vadot
1278cc087a1SEmmanuel Vadot        edp-bridge@68 {
1288cc087a1SEmmanuel Vadot            compatible = "toshiba,tc358767";
1298cc087a1SEmmanuel Vadot            reg = <0x68>;
1308cc087a1SEmmanuel Vadot            shutdown-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
1318cc087a1SEmmanuel Vadot            reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
1328cc087a1SEmmanuel Vadot            clock-names = "ref";
1338cc087a1SEmmanuel Vadot            clocks = <&edp_refclk>;
1348cc087a1SEmmanuel Vadot
1358cc087a1SEmmanuel Vadot            ports {
1368cc087a1SEmmanuel Vadot                #address-cells = <1>;
1378cc087a1SEmmanuel Vadot                #size-cells = <0>;
1388cc087a1SEmmanuel Vadot
1398cc087a1SEmmanuel Vadot                port@1 {
1408cc087a1SEmmanuel Vadot                    reg = <1>;
1418cc087a1SEmmanuel Vadot
1428cc087a1SEmmanuel Vadot                    bridge_in_0: endpoint {
1438cc087a1SEmmanuel Vadot                        remote-endpoint = <&dpi_out>;
1448cc087a1SEmmanuel Vadot                    };
1458cc087a1SEmmanuel Vadot                };
1468cc087a1SEmmanuel Vadot
1478cc087a1SEmmanuel Vadot                port@2 {
1488cc087a1SEmmanuel Vadot                    reg = <2>;
1498cc087a1SEmmanuel Vadot
1508cc087a1SEmmanuel Vadot                    bridge_out: endpoint {
1518cc087a1SEmmanuel Vadot                        remote-endpoint = <&panel_in>;
1528cc087a1SEmmanuel Vadot                    };
1538cc087a1SEmmanuel Vadot                };
1548cc087a1SEmmanuel Vadot            };
1558cc087a1SEmmanuel Vadot        };
1568cc087a1SEmmanuel Vadot    };
1578cc087a1SEmmanuel Vadot  - |
1588cc087a1SEmmanuel Vadot    /* DPI input and DP output */
1598cc087a1SEmmanuel Vadot
1608cc087a1SEmmanuel Vadot    i2c {
1618cc087a1SEmmanuel Vadot        #address-cells = <1>;
1628cc087a1SEmmanuel Vadot        #size-cells = <0>;
1638cc087a1SEmmanuel Vadot
1648cc087a1SEmmanuel Vadot        edp-bridge@68 {
1658cc087a1SEmmanuel Vadot            compatible = "toshiba,tc358767";
1668cc087a1SEmmanuel Vadot            reg = <0x68>;
1678cc087a1SEmmanuel Vadot            shutdown-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
1688cc087a1SEmmanuel Vadot            reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
1698cc087a1SEmmanuel Vadot            clock-names = "ref";
1708cc087a1SEmmanuel Vadot            clocks = <&edp_refclk>;
1718cc087a1SEmmanuel Vadot
1728cc087a1SEmmanuel Vadot            ports {
1738cc087a1SEmmanuel Vadot                #address-cells = <1>;
1748cc087a1SEmmanuel Vadot                #size-cells = <0>;
1758cc087a1SEmmanuel Vadot
1768cc087a1SEmmanuel Vadot                port@1 {
1778cc087a1SEmmanuel Vadot                    reg = <1>;
1788cc087a1SEmmanuel Vadot
1798cc087a1SEmmanuel Vadot                    bridge_in_1: endpoint {
1808cc087a1SEmmanuel Vadot                        remote-endpoint = <&dpi_out>;
1818cc087a1SEmmanuel Vadot                    };
1828cc087a1SEmmanuel Vadot                };
1838cc087a1SEmmanuel Vadot            };
1848cc087a1SEmmanuel Vadot        };
1858cc087a1SEmmanuel Vadot    };
186