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/ti,sn65dsi86.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: SN65DSI86 DSI to eDP bridge chip 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Sandeep Panda <spanda@codeaurora.org> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: | 138c2ecf20Sopenharmony_ci The Texas Instruments SN65DSI86 bridge takes MIPI DSI in and outputs eDP. 148c2ecf20Sopenharmony_ci https://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciproperties: 178c2ecf20Sopenharmony_ci compatible: 188c2ecf20Sopenharmony_ci const: ti,sn65dsi86 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci reg: 218c2ecf20Sopenharmony_ci enum: [ 0x2c, 0x2d ] 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci enable-gpios: 248c2ecf20Sopenharmony_ci maxItems: 1 258c2ecf20Sopenharmony_ci description: GPIO specifier for bridge_en pin (active high). 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci suspend-gpios: 288c2ecf20Sopenharmony_ci maxItems: 1 298c2ecf20Sopenharmony_ci description: GPIO specifier for GPIO1 pin on bridge (active low). 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci no-hpd: 328c2ecf20Sopenharmony_ci type: boolean 338c2ecf20Sopenharmony_ci description: 348c2ecf20Sopenharmony_ci Set if the HPD line on the bridge isn't hooked up to anything or is 358c2ecf20Sopenharmony_ci otherwise unusable. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci vccio-supply: 388c2ecf20Sopenharmony_ci description: A 1.8V supply that powers the digital IOs. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci vpll-supply: 418c2ecf20Sopenharmony_ci description: A 1.8V supply that powers the DisplayPort PLL. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci vcca-supply: 448c2ecf20Sopenharmony_ci description: A 1.2V supply that powers the analog circuits. 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci vcc-supply: 478c2ecf20Sopenharmony_ci description: A 1.2V supply that powers the digital core. 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci interrupts: 508c2ecf20Sopenharmony_ci maxItems: 1 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci clocks: 538c2ecf20Sopenharmony_ci maxItems: 1 548c2ecf20Sopenharmony_ci description: 558c2ecf20Sopenharmony_ci Clock specifier for input reference clock. The reference clock rate must 568c2ecf20Sopenharmony_ci be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4 MHz. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci clock-names: 598c2ecf20Sopenharmony_ci const: refclk 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci gpio-controller: true 628c2ecf20Sopenharmony_ci '#gpio-cells': 638c2ecf20Sopenharmony_ci const: 2 648c2ecf20Sopenharmony_ci description: 658c2ecf20Sopenharmony_ci First cell is pin number, second cell is flags. GPIO pin numbers are 668c2ecf20Sopenharmony_ci 1-based to match the datasheet. See ../../gpio/gpio.txt for more 678c2ecf20Sopenharmony_ci information. 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci '#pwm-cells': 708c2ecf20Sopenharmony_ci const: 1 718c2ecf20Sopenharmony_ci description: See ../../pwm/pwm.yaml for description of the cell formats. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci ports: 748c2ecf20Sopenharmony_ci type: object 758c2ecf20Sopenharmony_ci additionalProperties: false 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci properties: 788c2ecf20Sopenharmony_ci "#address-cells": 798c2ecf20Sopenharmony_ci const: 1 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci "#size-cells": 828c2ecf20Sopenharmony_ci const: 0 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci port@0: 858c2ecf20Sopenharmony_ci type: object 868c2ecf20Sopenharmony_ci additionalProperties: false 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci description: 898c2ecf20Sopenharmony_ci Video port for MIPI DSI input 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci properties: 928c2ecf20Sopenharmony_ci reg: 938c2ecf20Sopenharmony_ci const: 0 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci endpoint: 968c2ecf20Sopenharmony_ci type: object 978c2ecf20Sopenharmony_ci additionalProperties: false 988c2ecf20Sopenharmony_ci properties: 998c2ecf20Sopenharmony_ci remote-endpoint: true 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci required: 1028c2ecf20Sopenharmony_ci - reg 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci port@1: 1058c2ecf20Sopenharmony_ci type: object 1068c2ecf20Sopenharmony_ci additionalProperties: false 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ci description: 1098c2ecf20Sopenharmony_ci Video port for eDP output (panel or connector). 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci properties: 1128c2ecf20Sopenharmony_ci reg: 1138c2ecf20Sopenharmony_ci const: 1 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci endpoint: 1168c2ecf20Sopenharmony_ci type: object 1178c2ecf20Sopenharmony_ci additionalProperties: false 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci properties: 1208c2ecf20Sopenharmony_ci remote-endpoint: true 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci data-lanes: 1238c2ecf20Sopenharmony_ci oneOf: 1248c2ecf20Sopenharmony_ci - minItems: 1 1258c2ecf20Sopenharmony_ci maxItems: 1 1268c2ecf20Sopenharmony_ci uniqueItems: true 1278c2ecf20Sopenharmony_ci items: 1288c2ecf20Sopenharmony_ci enum: 1298c2ecf20Sopenharmony_ci - 0 1308c2ecf20Sopenharmony_ci - 1 1318c2ecf20Sopenharmony_ci description: 1328c2ecf20Sopenharmony_ci If you have 1 logical lane the bridge supports routing 1338c2ecf20Sopenharmony_ci to either port 0 or port 1. Port 0 is suggested. 1348c2ecf20Sopenharmony_ci See ../../media/video-interface.txt for details. 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci - minItems: 2 1378c2ecf20Sopenharmony_ci maxItems: 2 1388c2ecf20Sopenharmony_ci uniqueItems: true 1398c2ecf20Sopenharmony_ci items: 1408c2ecf20Sopenharmony_ci enum: 1418c2ecf20Sopenharmony_ci - 0 1428c2ecf20Sopenharmony_ci - 1 1438c2ecf20Sopenharmony_ci description: 1448c2ecf20Sopenharmony_ci If you have 2 logical lanes the bridge supports 1458c2ecf20Sopenharmony_ci reordering but only on physical ports 0 and 1. 1468c2ecf20Sopenharmony_ci See ../../media/video-interface.txt for details. 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci - minItems: 4 1498c2ecf20Sopenharmony_ci maxItems: 4 1508c2ecf20Sopenharmony_ci uniqueItems: true 1518c2ecf20Sopenharmony_ci items: 1528c2ecf20Sopenharmony_ci enum: 1538c2ecf20Sopenharmony_ci - 0 1548c2ecf20Sopenharmony_ci - 1 1558c2ecf20Sopenharmony_ci - 2 1568c2ecf20Sopenharmony_ci - 3 1578c2ecf20Sopenharmony_ci description: 1588c2ecf20Sopenharmony_ci If you have 4 logical lanes the bridge supports 1598c2ecf20Sopenharmony_ci reordering in any way. 1608c2ecf20Sopenharmony_ci See ../../media/video-interface.txt for details. 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci lane-polarities: 1638c2ecf20Sopenharmony_ci minItems: 1 1648c2ecf20Sopenharmony_ci maxItems: 4 1658c2ecf20Sopenharmony_ci items: 1668c2ecf20Sopenharmony_ci enum: 1678c2ecf20Sopenharmony_ci - 0 1688c2ecf20Sopenharmony_ci - 1 1698c2ecf20Sopenharmony_ci description: See ../../media/video-interface.txt 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci dependencies: 1728c2ecf20Sopenharmony_ci lane-polarities: [data-lanes] 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci required: 1758c2ecf20Sopenharmony_ci - reg 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci required: 1788c2ecf20Sopenharmony_ci - "#address-cells" 1798c2ecf20Sopenharmony_ci - "#size-cells" 1808c2ecf20Sopenharmony_ci - port@0 1818c2ecf20Sopenharmony_ci - port@1 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_cirequired: 1848c2ecf20Sopenharmony_ci - compatible 1858c2ecf20Sopenharmony_ci - reg 1868c2ecf20Sopenharmony_ci - enable-gpios 1878c2ecf20Sopenharmony_ci - vccio-supply 1888c2ecf20Sopenharmony_ci - vpll-supply 1898c2ecf20Sopenharmony_ci - vcca-supply 1908c2ecf20Sopenharmony_ci - vcc-supply 1918c2ecf20Sopenharmony_ci - ports 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ciadditionalProperties: false 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ciexamples: 1968c2ecf20Sopenharmony_ci - | 1978c2ecf20Sopenharmony_ci #include <dt-bindings/clock/qcom,rpmh.h> 1988c2ecf20Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 1998c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ci i2c { 2028c2ecf20Sopenharmony_ci #address-cells = <1>; 2038c2ecf20Sopenharmony_ci #size-cells = <0>; 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci bridge@2d { 2068c2ecf20Sopenharmony_ci compatible = "ti,sn65dsi86"; 2078c2ecf20Sopenharmony_ci reg = <0x2d>; 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci interrupt-parent = <&tlmm>; 2108c2ecf20Sopenharmony_ci interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; 2118c2ecf20Sopenharmony_ci 2128c2ecf20Sopenharmony_ci enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>; 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ci vpll-supply = <&src_pp1800_s4a>; 2158c2ecf20Sopenharmony_ci vccio-supply = <&src_pp1800_s4a>; 2168c2ecf20Sopenharmony_ci vcca-supply = <&src_pp1200_l2a>; 2178c2ecf20Sopenharmony_ci vcc-supply = <&src_pp1200_l2a>; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci clocks = <&rpmhcc RPMH_LN_BB_CLK2>; 2208c2ecf20Sopenharmony_ci clock-names = "refclk"; 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ci no-hpd; 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci ports { 2258c2ecf20Sopenharmony_ci #address-cells = <1>; 2268c2ecf20Sopenharmony_ci #size-cells = <0>; 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ci port@0 { 2298c2ecf20Sopenharmony_ci reg = <0>; 2308c2ecf20Sopenharmony_ci endpoint { 2318c2ecf20Sopenharmony_ci remote-endpoint = <&dsi0_out>; 2328c2ecf20Sopenharmony_ci }; 2338c2ecf20Sopenharmony_ci }; 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ci port@1 { 2368c2ecf20Sopenharmony_ci reg = <1>; 2378c2ecf20Sopenharmony_ci endpoint { 2388c2ecf20Sopenharmony_ci remote-endpoint = <&panel_in_edp>; 2398c2ecf20Sopenharmony_ci }; 2408c2ecf20Sopenharmony_ci }; 2418c2ecf20Sopenharmony_ci }; 2428c2ecf20Sopenharmony_ci }; 2438c2ecf20Sopenharmony_ci }; 2448c2ecf20Sopenharmony_ci - | 2458c2ecf20Sopenharmony_ci #include <dt-bindings/clock/qcom,rpmh.h> 2468c2ecf20Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 2478c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci i2c { 2508c2ecf20Sopenharmony_ci #address-cells = <1>; 2518c2ecf20Sopenharmony_ci #size-cells = <0>; 2528c2ecf20Sopenharmony_ci 2538c2ecf20Sopenharmony_ci bridge@2d { 2548c2ecf20Sopenharmony_ci compatible = "ti,sn65dsi86"; 2558c2ecf20Sopenharmony_ci reg = <0x2d>; 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_ci enable-gpios = <&msmgpio 33 GPIO_ACTIVE_HIGH>; 2588c2ecf20Sopenharmony_ci suspend-gpios = <&msmgpio 34 GPIO_ACTIVE_LOW>; 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ci interrupts-extended = <&gpio3 4 IRQ_TYPE_EDGE_FALLING>; 2618c2ecf20Sopenharmony_ci 2628c2ecf20Sopenharmony_ci vccio-supply = <&pm8916_l17>; 2638c2ecf20Sopenharmony_ci vcca-supply = <&pm8916_l6>; 2648c2ecf20Sopenharmony_ci vpll-supply = <&pm8916_l17>; 2658c2ecf20Sopenharmony_ci vcc-supply = <&pm8916_l6>; 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_ci clock-names = "refclk"; 2688c2ecf20Sopenharmony_ci clocks = <&input_refclk>; 2698c2ecf20Sopenharmony_ci 2708c2ecf20Sopenharmony_ci ports { 2718c2ecf20Sopenharmony_ci #address-cells = <1>; 2728c2ecf20Sopenharmony_ci #size-cells = <0>; 2738c2ecf20Sopenharmony_ci 2748c2ecf20Sopenharmony_ci port@0 { 2758c2ecf20Sopenharmony_ci reg = <0>; 2768c2ecf20Sopenharmony_ci 2778c2ecf20Sopenharmony_ci edp_bridge_in: endpoint { 2788c2ecf20Sopenharmony_ci remote-endpoint = <&dsi_out>; 2798c2ecf20Sopenharmony_ci }; 2808c2ecf20Sopenharmony_ci }; 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci port@1 { 2838c2ecf20Sopenharmony_ci reg = <1>; 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci edp_bridge_out: endpoint { 2868c2ecf20Sopenharmony_ci data-lanes = <2 1 3 0>; 2878c2ecf20Sopenharmony_ci lane-polarities = <0 1 0 1>; 2888c2ecf20Sopenharmony_ci remote-endpoint = <&edp_panel_in>; 2898c2ecf20Sopenharmony_ci }; 2908c2ecf20Sopenharmony_ci }; 2918c2ecf20Sopenharmony_ci }; 2928c2ecf20Sopenharmony_ci }; 2938c2ecf20Sopenharmony_ci }; 294