18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/toshiba,tc358775.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Toshiba TC358775 DSI to LVDS bridge bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Vinay Simha BN <simhavcs@gmail.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  This binding supports DSI to LVDS bridge TC358775
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci  MIPI DSI-RX Data 4-lane, CLK 1-lane with data rates up to 800 Mbps/lane.
168c2ecf20Sopenharmony_ci  Video frame size:
178c2ecf20Sopenharmony_ci  Up to 1600x1200 24-bit/pixel resolution for single-link LVDS display panel
188c2ecf20Sopenharmony_ci  limited by 135 MHz LVDS speed
198c2ecf20Sopenharmony_ci  Up to WUXGA (1920x1200 24-bit pixels) resolution for dual-link LVDS display
208c2ecf20Sopenharmony_ci  panel, limited by 270 MHz LVDS speed.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciproperties:
238c2ecf20Sopenharmony_ci  compatible:
248c2ecf20Sopenharmony_ci    const: toshiba,tc358775
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  reg:
278c2ecf20Sopenharmony_ci    maxItems: 1
288c2ecf20Sopenharmony_ci    description: i2c address of the bridge, 0x0f
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  vdd-supply:
318c2ecf20Sopenharmony_ci    maxItems: 1
328c2ecf20Sopenharmony_ci    description: 1.2V LVDS Power Supply
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci  vddio-supply:
358c2ecf20Sopenharmony_ci    maxItems: 1
368c2ecf20Sopenharmony_ci    description: 1.8V IO Power Supply
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  stby-gpios:
398c2ecf20Sopenharmony_ci    maxItems: 1
408c2ecf20Sopenharmony_ci    description: Standby pin, Low active
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci  reset-gpios:
438c2ecf20Sopenharmony_ci    maxItems: 1
448c2ecf20Sopenharmony_ci    description: Hardware reset, Low active
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  ports:
478c2ecf20Sopenharmony_ci    type: object
488c2ecf20Sopenharmony_ci    description:
498c2ecf20Sopenharmony_ci      A node containing input and output port nodes with endpoint definitions
508c2ecf20Sopenharmony_ci      as documented in
518c2ecf20Sopenharmony_ci      Documentation/devicetree/bindings/media/video-interfaces.txt
528c2ecf20Sopenharmony_ci    properties:
538c2ecf20Sopenharmony_ci      "#address-cells":
548c2ecf20Sopenharmony_ci        const: 1
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci      "#size-cells":
578c2ecf20Sopenharmony_ci        const: 0
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci      port@0:
608c2ecf20Sopenharmony_ci        type: object
618c2ecf20Sopenharmony_ci        description: |
628c2ecf20Sopenharmony_ci          DSI Input. The remote endpoint phandle should be a
638c2ecf20Sopenharmony_ci          reference to a valid mipi_dsi_host device node.
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci      port@1:
668c2ecf20Sopenharmony_ci        type: object
678c2ecf20Sopenharmony_ci        description: |
688c2ecf20Sopenharmony_ci          Video port for LVDS output (panel or connector).
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci      port@2:
718c2ecf20Sopenharmony_ci        type: object
728c2ecf20Sopenharmony_ci        description: |
738c2ecf20Sopenharmony_ci          Video port for Dual link LVDS output (panel or connector).
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci    required:
768c2ecf20Sopenharmony_ci      - port@0
778c2ecf20Sopenharmony_ci      - port@1
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_cirequired:
808c2ecf20Sopenharmony_ci  - compatible
818c2ecf20Sopenharmony_ci  - reg
828c2ecf20Sopenharmony_ci  - vdd-supply
838c2ecf20Sopenharmony_ci  - vddio-supply
848c2ecf20Sopenharmony_ci  - stby-gpios
858c2ecf20Sopenharmony_ci  - reset-gpios
868c2ecf20Sopenharmony_ci  - ports
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciadditionalProperties: false
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciexamples:
918c2ecf20Sopenharmony_ci  - |
928c2ecf20Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci    /* For single-link LVDS display panel */
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci    i2c@78b8000 {
978c2ecf20Sopenharmony_ci        /* On High speed expansion */
988c2ecf20Sopenharmony_ci        label = "HS-I2C2";
998c2ecf20Sopenharmony_ci        reg = <0x078b8000 0x500>;
1008c2ecf20Sopenharmony_ci        clock-frequency = <400000>; /* fastmode operation */
1018c2ecf20Sopenharmony_ci        #address-cells = <1>;
1028c2ecf20Sopenharmony_ci        #size-cells = <0>;
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci        tc_bridge: bridge@f {
1058c2ecf20Sopenharmony_ci            compatible = "toshiba,tc358775";
1068c2ecf20Sopenharmony_ci            reg = <0x0f>;
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci            vdd-supply = <&pm8916_l2>;
1098c2ecf20Sopenharmony_ci            vddio-supply = <&pm8916_l6>;
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci            stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>;
1128c2ecf20Sopenharmony_ci            reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>;
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci            ports {
1158c2ecf20Sopenharmony_ci                #address-cells = <1>;
1168c2ecf20Sopenharmony_ci                #size-cells = <0>;
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci                port@0 {
1198c2ecf20Sopenharmony_ci                    reg = <0>;
1208c2ecf20Sopenharmony_ci                    d2l_in_test: endpoint {
1218c2ecf20Sopenharmony_ci                        remote-endpoint = <&dsi0_out>;
1228c2ecf20Sopenharmony_ci                    };
1238c2ecf20Sopenharmony_ci                };
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci                port@1 {
1268c2ecf20Sopenharmony_ci                    reg = <1>;
1278c2ecf20Sopenharmony_ci                    lvds_out: endpoint {
1288c2ecf20Sopenharmony_ci                        remote-endpoint = <&panel_in>;
1298c2ecf20Sopenharmony_ci                    };
1308c2ecf20Sopenharmony_ci                };
1318c2ecf20Sopenharmony_ci            };
1328c2ecf20Sopenharmony_ci        };
1338c2ecf20Sopenharmony_ci    };
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci    dsi@1a98000 {
1368c2ecf20Sopenharmony_ci        reg = <0x1a98000 0x25c>;
1378c2ecf20Sopenharmony_ci        reg-names = "dsi_ctrl";
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci        ports {
1408c2ecf20Sopenharmony_ci            #address-cells = <1>;
1418c2ecf20Sopenharmony_ci            #size-cells = <0>;
1428c2ecf20Sopenharmony_ci            port@1 {
1438c2ecf20Sopenharmony_ci                reg = <1>;
1448c2ecf20Sopenharmony_ci                dsi0_out: endpoint {
1458c2ecf20Sopenharmony_ci                    remote-endpoint = <&d2l_in_test>;
1468c2ecf20Sopenharmony_ci                    data-lanes = <0 1 2 3>;
1478c2ecf20Sopenharmony_ci                };
1488c2ecf20Sopenharmony_ci             };
1498c2ecf20Sopenharmony_ci         };
1508c2ecf20Sopenharmony_ci     };
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ci  - |
1538c2ecf20Sopenharmony_ci    /* For dual-link LVDS display panel */
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci    i2c@78b8000 {
1568c2ecf20Sopenharmony_ci        /* On High speed expansion */
1578c2ecf20Sopenharmony_ci        label = "HS-I2C2";
1588c2ecf20Sopenharmony_ci        reg = <0x078b8000 0x500>;
1598c2ecf20Sopenharmony_ci        clock-frequency = <400000>; /* fastmode operation */
1608c2ecf20Sopenharmony_ci        #address-cells = <1>;
1618c2ecf20Sopenharmony_ci        #size-cells = <0>;
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci        tc_bridge_dual: bridge@f {
1648c2ecf20Sopenharmony_ci            compatible = "toshiba,tc358775";
1658c2ecf20Sopenharmony_ci            reg = <0x0f>;
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci            vdd-supply = <&pm8916_l2>;
1688c2ecf20Sopenharmony_ci            vddio-supply = <&pm8916_l6>;
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci            stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>;
1718c2ecf20Sopenharmony_ci            reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>;
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci            ports {
1748c2ecf20Sopenharmony_ci                #address-cells = <1>;
1758c2ecf20Sopenharmony_ci                #size-cells = <0>;
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_ci                port@0 {
1788c2ecf20Sopenharmony_ci                    reg = <0>;
1798c2ecf20Sopenharmony_ci                    d2l_in_dual: endpoint {
1808c2ecf20Sopenharmony_ci                        remote-endpoint = <&dsi0_out_dual>;
1818c2ecf20Sopenharmony_ci                    };
1828c2ecf20Sopenharmony_ci                };
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ci                port@1 {
1858c2ecf20Sopenharmony_ci                    reg = <1>;
1868c2ecf20Sopenharmony_ci                    lvds0_out: endpoint {
1878c2ecf20Sopenharmony_ci                        remote-endpoint = <&panel_in0>;
1888c2ecf20Sopenharmony_ci                    };
1898c2ecf20Sopenharmony_ci                };
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ci                port@2 {
1928c2ecf20Sopenharmony_ci                    reg = <2>;
1938c2ecf20Sopenharmony_ci                    lvds1_out: endpoint {
1948c2ecf20Sopenharmony_ci                        remote-endpoint = <&panel_in1>;
1958c2ecf20Sopenharmony_ci                    };
1968c2ecf20Sopenharmony_ci                };
1978c2ecf20Sopenharmony_ci            };
1988c2ecf20Sopenharmony_ci        };
1998c2ecf20Sopenharmony_ci    };
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci    dsi@1a98000 {
2028c2ecf20Sopenharmony_ci        reg = <0x1a98000 0x25c>;
2038c2ecf20Sopenharmony_ci        reg-names = "dsi_ctrl";
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci        ports {
2068c2ecf20Sopenharmony_ci            #address-cells = <1>;
2078c2ecf20Sopenharmony_ci            #size-cells = <0>;
2088c2ecf20Sopenharmony_ci            port@1 {
2098c2ecf20Sopenharmony_ci                reg = <1>;
2108c2ecf20Sopenharmony_ci                dsi0_out_dual: endpoint {
2118c2ecf20Sopenharmony_ci                    remote-endpoint = <&d2l_in_dual>;
2128c2ecf20Sopenharmony_ci                    data-lanes = <0 1 2 3>;
2138c2ecf20Sopenharmony_ci                };
2148c2ecf20Sopenharmony_ci             };
2158c2ecf20Sopenharmony_ci         };
2168c2ecf20Sopenharmony_ci     };
2178c2ecf20Sopenharmony_ci...
218