15a2e9b65SDouglas Anderson# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25a2e9b65SDouglas Anderson%YAML 1.2 35a2e9b65SDouglas Anderson--- 45a2e9b65SDouglas Anderson$id: http://devicetree.org/schemas/display/bridge/ti,sn65dsi86.yaml# 55a2e9b65SDouglas Anderson$schema: http://devicetree.org/meta-schemas/core.yaml# 65a2e9b65SDouglas Anderson 75a2e9b65SDouglas Andersontitle: SN65DSI86 DSI to eDP bridge chip 85a2e9b65SDouglas Anderson 95a2e9b65SDouglas Andersonmaintainers: 105a2e9b65SDouglas Anderson - Sandeep Panda <spanda@codeaurora.org> 115a2e9b65SDouglas Anderson 125a2e9b65SDouglas Andersondescription: | 135a2e9b65SDouglas Anderson The Texas Instruments SN65DSI86 bridge takes MIPI DSI in and outputs eDP. 1481867496SLinus Torvalds https://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf 155a2e9b65SDouglas Anderson 165a2e9b65SDouglas Andersonproperties: 175a2e9b65SDouglas Anderson compatible: 185a2e9b65SDouglas Anderson const: ti,sn65dsi86 195a2e9b65SDouglas Anderson 205a2e9b65SDouglas Anderson reg: 21b2d70c0dSGeert Uytterhoeven enum: [ 0x2c, 0x2d ] 225a2e9b65SDouglas Anderson 235a2e9b65SDouglas Anderson enable-gpios: 245a2e9b65SDouglas Anderson maxItems: 1 255a2e9b65SDouglas Anderson description: GPIO specifier for bridge_en pin (active high). 265a2e9b65SDouglas Anderson 275a2e9b65SDouglas Anderson suspend-gpios: 285a2e9b65SDouglas Anderson maxItems: 1 295a2e9b65SDouglas Anderson description: GPIO specifier for GPIO1 pin on bridge (active low). 305a2e9b65SDouglas Anderson 311dbc9791SDouglas Anderson no-hpd: 321dbc9791SDouglas Anderson type: boolean 331dbc9791SDouglas Anderson description: 341dbc9791SDouglas Anderson Set if the HPD line on the bridge isn't hooked up to anything or is 351dbc9791SDouglas Anderson otherwise unusable. 361dbc9791SDouglas Anderson 375a2e9b65SDouglas Anderson vccio-supply: 385a2e9b65SDouglas Anderson description: A 1.8V supply that powers the digital IOs. 395a2e9b65SDouglas Anderson 405a2e9b65SDouglas Anderson vpll-supply: 415a2e9b65SDouglas Anderson description: A 1.8V supply that powers the DisplayPort PLL. 425a2e9b65SDouglas Anderson 435a2e9b65SDouglas Anderson vcca-supply: 445a2e9b65SDouglas Anderson description: A 1.2V supply that powers the analog circuits. 455a2e9b65SDouglas Anderson 465a2e9b65SDouglas Anderson vcc-supply: 475a2e9b65SDouglas Anderson description: A 1.2V supply that powers the digital core. 485a2e9b65SDouglas Anderson 495a2e9b65SDouglas Anderson interrupts: 505a2e9b65SDouglas Anderson maxItems: 1 515a2e9b65SDouglas Anderson 525a2e9b65SDouglas Anderson clocks: 535a2e9b65SDouglas Anderson maxItems: 1 545a2e9b65SDouglas Anderson description: 555a2e9b65SDouglas Anderson Clock specifier for input reference clock. The reference clock rate must 565a2e9b65SDouglas Anderson be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4 MHz. 575a2e9b65SDouglas Anderson 585a2e9b65SDouglas Anderson clock-names: 595a2e9b65SDouglas Anderson const: refclk 605a2e9b65SDouglas Anderson 615a2e9b65SDouglas Anderson gpio-controller: true 625a2e9b65SDouglas Anderson '#gpio-cells': 635a2e9b65SDouglas Anderson const: 2 645a2e9b65SDouglas Anderson description: 655a2e9b65SDouglas Anderson First cell is pin number, second cell is flags. GPIO pin numbers are 665a2e9b65SDouglas Anderson 1-based to match the datasheet. See ../../gpio/gpio.txt for more 675a2e9b65SDouglas Anderson information. 685a2e9b65SDouglas Anderson 695a2e9b65SDouglas Anderson '#pwm-cells': 705a2e9b65SDouglas Anderson const: 1 715a2e9b65SDouglas Anderson description: See ../../pwm/pwm.yaml for description of the cell formats. 725a2e9b65SDouglas Anderson 73476c864dSDouglas Anderson aux-bus: 74476c864dSDouglas Anderson $ref: /schemas/display/dp-aux-bus.yaml# 75476c864dSDouglas Anderson 765a2e9b65SDouglas Anderson ports: 77b6755423SRob Herring $ref: /schemas/graph.yaml#/properties/ports 785a2e9b65SDouglas Anderson 795a2e9b65SDouglas Anderson properties: 805a2e9b65SDouglas Anderson port@0: 81b6755423SRob Herring $ref: /schemas/graph.yaml#/properties/port 825a2e9b65SDouglas Anderson description: 835a2e9b65SDouglas Anderson Video port for MIPI DSI input 845a2e9b65SDouglas Anderson 855a2e9b65SDouglas Anderson port@1: 86b6755423SRob Herring $ref: /schemas/graph.yaml#/$defs/port-base 87b6755423SRob Herring unevaluatedProperties: false 885a2e9b65SDouglas Anderson description: 895a2e9b65SDouglas Anderson Video port for eDP output (panel or connector). 905a2e9b65SDouglas Anderson 915a2e9b65SDouglas Anderson properties: 925a2e9b65SDouglas Anderson endpoint: 93*a31a6c24SFabio Estevam $ref: /schemas/media/video-interfaces.yaml# 94b6755423SRob Herring unevaluatedProperties: false 955a2e9b65SDouglas Anderson 965a2e9b65SDouglas Anderson properties: 975a2e9b65SDouglas Anderson data-lanes: 985a2e9b65SDouglas Anderson oneOf: 995a2e9b65SDouglas Anderson - minItems: 1 1005a2e9b65SDouglas Anderson maxItems: 1 1015a2e9b65SDouglas Anderson uniqueItems: true 1025a2e9b65SDouglas Anderson items: 1035a2e9b65SDouglas Anderson enum: 1045a2e9b65SDouglas Anderson - 0 1055a2e9b65SDouglas Anderson - 1 1065a2e9b65SDouglas Anderson description: 1075a2e9b65SDouglas Anderson If you have 1 logical lane the bridge supports routing 1085a2e9b65SDouglas Anderson to either port 0 or port 1. Port 0 is suggested. 1095a2e9b65SDouglas Anderson 1105a2e9b65SDouglas Anderson - minItems: 2 1115a2e9b65SDouglas Anderson maxItems: 2 1125a2e9b65SDouglas Anderson uniqueItems: true 1135a2e9b65SDouglas Anderson items: 1145a2e9b65SDouglas Anderson enum: 1155a2e9b65SDouglas Anderson - 0 1165a2e9b65SDouglas Anderson - 1 1175a2e9b65SDouglas Anderson description: 1185a2e9b65SDouglas Anderson If you have 2 logical lanes the bridge supports 1195a2e9b65SDouglas Anderson reordering but only on physical ports 0 and 1. 1205a2e9b65SDouglas Anderson 1215a2e9b65SDouglas Anderson - minItems: 4 1225a2e9b65SDouglas Anderson maxItems: 4 1235a2e9b65SDouglas Anderson uniqueItems: true 1245a2e9b65SDouglas Anderson items: 1255a2e9b65SDouglas Anderson enum: 1265a2e9b65SDouglas Anderson - 0 1275a2e9b65SDouglas Anderson - 1 1285a2e9b65SDouglas Anderson - 2 1295a2e9b65SDouglas Anderson - 3 1305a2e9b65SDouglas Anderson description: 1315a2e9b65SDouglas Anderson If you have 4 logical lanes the bridge supports 1325a2e9b65SDouglas Anderson reordering in any way. 1335a2e9b65SDouglas Anderson 1345a2e9b65SDouglas Anderson lane-polarities: 1355a2e9b65SDouglas Anderson minItems: 1 1365a2e9b65SDouglas Anderson maxItems: 4 1375a2e9b65SDouglas Anderson items: 1385a2e9b65SDouglas Anderson enum: 1395a2e9b65SDouglas Anderson - 0 1405a2e9b65SDouglas Anderson - 1 1415a2e9b65SDouglas Anderson 1425a2e9b65SDouglas Anderson dependencies: 1435a2e9b65SDouglas Anderson lane-polarities: [data-lanes] 1445a2e9b65SDouglas Anderson 1455a2e9b65SDouglas Anderson required: 1465a2e9b65SDouglas Anderson - port@0 1475a2e9b65SDouglas Anderson - port@1 1485a2e9b65SDouglas Anderson 1495a2e9b65SDouglas Andersonrequired: 1505a2e9b65SDouglas Anderson - compatible 1515a2e9b65SDouglas Anderson - reg 1525a2e9b65SDouglas Anderson - vccio-supply 1535a2e9b65SDouglas Anderson - vpll-supply 1545a2e9b65SDouglas Anderson - vcca-supply 1555a2e9b65SDouglas Anderson - vcc-supply 1565a2e9b65SDouglas Anderson - ports 1575a2e9b65SDouglas Anderson 1585a2e9b65SDouglas AndersonadditionalProperties: false 1595a2e9b65SDouglas Anderson 1605a2e9b65SDouglas Andersonexamples: 1615a2e9b65SDouglas Anderson - | 1625a2e9b65SDouglas Anderson #include <dt-bindings/clock/qcom,rpmh.h> 1635a2e9b65SDouglas Anderson #include <dt-bindings/gpio/gpio.h> 1645a2e9b65SDouglas Anderson #include <dt-bindings/interrupt-controller/irq.h> 1655a2e9b65SDouglas Anderson 1665a2e9b65SDouglas Anderson i2c { 1675a2e9b65SDouglas Anderson #address-cells = <1>; 1685a2e9b65SDouglas Anderson #size-cells = <0>; 1695a2e9b65SDouglas Anderson 1705a2e9b65SDouglas Anderson bridge@2d { 1715a2e9b65SDouglas Anderson compatible = "ti,sn65dsi86"; 1725a2e9b65SDouglas Anderson reg = <0x2d>; 1735a2e9b65SDouglas Anderson 1745a2e9b65SDouglas Anderson interrupt-parent = <&tlmm>; 1755a2e9b65SDouglas Anderson interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; 1765a2e9b65SDouglas Anderson 1775a2e9b65SDouglas Anderson enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>; 1785a2e9b65SDouglas Anderson 1795a2e9b65SDouglas Anderson vpll-supply = <&src_pp1800_s4a>; 1805a2e9b65SDouglas Anderson vccio-supply = <&src_pp1800_s4a>; 1815a2e9b65SDouglas Anderson vcca-supply = <&src_pp1200_l2a>; 1825a2e9b65SDouglas Anderson vcc-supply = <&src_pp1200_l2a>; 1835a2e9b65SDouglas Anderson 1845a2e9b65SDouglas Anderson clocks = <&rpmhcc RPMH_LN_BB_CLK2>; 1855a2e9b65SDouglas Anderson clock-names = "refclk"; 1865a2e9b65SDouglas Anderson 1871dbc9791SDouglas Anderson no-hpd; 1881dbc9791SDouglas Anderson 1895a2e9b65SDouglas Anderson ports { 1905a2e9b65SDouglas Anderson #address-cells = <1>; 1915a2e9b65SDouglas Anderson #size-cells = <0>; 1925a2e9b65SDouglas Anderson 1935a2e9b65SDouglas Anderson port@0 { 1945a2e9b65SDouglas Anderson reg = <0>; 1955a2e9b65SDouglas Anderson endpoint { 1965a2e9b65SDouglas Anderson remote-endpoint = <&dsi0_out>; 1975a2e9b65SDouglas Anderson }; 1985a2e9b65SDouglas Anderson }; 1995a2e9b65SDouglas Anderson 2005a2e9b65SDouglas Anderson port@1 { 2015a2e9b65SDouglas Anderson reg = <1>; 202476c864dSDouglas Anderson sn65dsi86_out: endpoint { 2035a2e9b65SDouglas Anderson remote-endpoint = <&panel_in_edp>; 2045a2e9b65SDouglas Anderson }; 2055a2e9b65SDouglas Anderson }; 2065a2e9b65SDouglas Anderson }; 207476c864dSDouglas Anderson 208476c864dSDouglas Anderson aux-bus { 209476c864dSDouglas Anderson panel { 210476c864dSDouglas Anderson compatible = "boe,nv133fhm-n62"; 211476c864dSDouglas Anderson power-supply = <&pp3300_dx_edp>; 212476c864dSDouglas Anderson backlight = <&backlight>; 213476c864dSDouglas Anderson hpd-gpios = <&sn65dsi86_bridge 2 GPIO_ACTIVE_HIGH>; 214476c864dSDouglas Anderson 215476c864dSDouglas Anderson port { 216476c864dSDouglas Anderson panel_in_edp: endpoint { 217476c864dSDouglas Anderson remote-endpoint = <&sn65dsi86_out>; 218476c864dSDouglas Anderson }; 219476c864dSDouglas Anderson }; 220476c864dSDouglas Anderson }; 221476c864dSDouglas Anderson }; 2225a2e9b65SDouglas Anderson }; 2235a2e9b65SDouglas Anderson }; 2245a2e9b65SDouglas Anderson - | 2255a2e9b65SDouglas Anderson #include <dt-bindings/clock/qcom,rpmh.h> 2265a2e9b65SDouglas Anderson #include <dt-bindings/gpio/gpio.h> 2275a2e9b65SDouglas Anderson #include <dt-bindings/interrupt-controller/irq.h> 2285a2e9b65SDouglas Anderson 2295a2e9b65SDouglas Anderson i2c { 2305a2e9b65SDouglas Anderson #address-cells = <1>; 2315a2e9b65SDouglas Anderson #size-cells = <0>; 2325a2e9b65SDouglas Anderson 2335a2e9b65SDouglas Anderson bridge@2d { 2345a2e9b65SDouglas Anderson compatible = "ti,sn65dsi86"; 2355a2e9b65SDouglas Anderson reg = <0x2d>; 2365a2e9b65SDouglas Anderson 2375a2e9b65SDouglas Anderson enable-gpios = <&msmgpio 33 GPIO_ACTIVE_HIGH>; 2385a2e9b65SDouglas Anderson suspend-gpios = <&msmgpio 34 GPIO_ACTIVE_LOW>; 2395a2e9b65SDouglas Anderson 2405a2e9b65SDouglas Anderson interrupts-extended = <&gpio3 4 IRQ_TYPE_EDGE_FALLING>; 2415a2e9b65SDouglas Anderson 2425a2e9b65SDouglas Anderson vccio-supply = <&pm8916_l17>; 2435a2e9b65SDouglas Anderson vcca-supply = <&pm8916_l6>; 2445a2e9b65SDouglas Anderson vpll-supply = <&pm8916_l17>; 2455a2e9b65SDouglas Anderson vcc-supply = <&pm8916_l6>; 2465a2e9b65SDouglas Anderson 2475a2e9b65SDouglas Anderson clock-names = "refclk"; 2485a2e9b65SDouglas Anderson clocks = <&input_refclk>; 2495a2e9b65SDouglas Anderson 2505a2e9b65SDouglas Anderson ports { 2515a2e9b65SDouglas Anderson #address-cells = <1>; 2525a2e9b65SDouglas Anderson #size-cells = <0>; 2535a2e9b65SDouglas Anderson 2545a2e9b65SDouglas Anderson port@0 { 2555a2e9b65SDouglas Anderson reg = <0>; 2565a2e9b65SDouglas Anderson 2575a2e9b65SDouglas Anderson edp_bridge_in: endpoint { 2585a2e9b65SDouglas Anderson remote-endpoint = <&dsi_out>; 2595a2e9b65SDouglas Anderson }; 2605a2e9b65SDouglas Anderson }; 2615a2e9b65SDouglas Anderson 2625a2e9b65SDouglas Anderson port@1 { 2635a2e9b65SDouglas Anderson reg = <1>; 2645a2e9b65SDouglas Anderson 2655a2e9b65SDouglas Anderson edp_bridge_out: endpoint { 2665a2e9b65SDouglas Anderson data-lanes = <2 1 3 0>; 2675a2e9b65SDouglas Anderson lane-polarities = <0 1 0 1>; 2685a2e9b65SDouglas Anderson remote-endpoint = <&edp_panel_in>; 2695a2e9b65SDouglas Anderson }; 2705a2e9b65SDouglas Anderson }; 2715a2e9b65SDouglas Anderson }; 2725a2e9b65SDouglas Anderson }; 2735a2e9b65SDouglas Anderson }; 274