1*22ffb89eSXinlei Lee# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*22ffb89eSXinlei Lee%YAML 1.2 3*22ffb89eSXinlei Lee--- 4*22ffb89eSXinlei Lee$id: http://devicetree.org/schemas/display/mediatek/mediatek,dsi.yaml# 5*22ffb89eSXinlei Lee$schema: http://devicetree.org/meta-schemas/core.yaml# 6*22ffb89eSXinlei Lee 7*22ffb89eSXinlei Leetitle: MediaTek DSI Controller Device Tree Bindings 8*22ffb89eSXinlei Lee 9*22ffb89eSXinlei Leemaintainers: 10*22ffb89eSXinlei Lee - Chun-Kuang Hu <chunkuang.hu@kernel.org> 11*22ffb89eSXinlei Lee - Philipp Zabel <p.zabel@pengutronix.de> 12*22ffb89eSXinlei Lee - Jitao Shi <jitao.shi@mediatek.com> 13*22ffb89eSXinlei Lee - Xinlei Lee <xinlei.lee@mediatek.com> 14*22ffb89eSXinlei Lee 15*22ffb89eSXinlei Leedescription: | 16*22ffb89eSXinlei Lee The MediaTek DSI function block is a sink of the display subsystem and can 17*22ffb89eSXinlei Lee drive up to 4-lane MIPI DSI output. Two DSIs can be synchronized for dual- 18*22ffb89eSXinlei Lee channel output. 19*22ffb89eSXinlei Lee 20*22ffb89eSXinlei LeeallOf: 21*22ffb89eSXinlei Lee - $ref: /schemas/display/dsi-controller.yaml# 22*22ffb89eSXinlei Lee 23*22ffb89eSXinlei Leeproperties: 24*22ffb89eSXinlei Lee compatible: 25*22ffb89eSXinlei Lee enum: 26*22ffb89eSXinlei Lee - mediatek,mt2701-dsi 27*22ffb89eSXinlei Lee - mediatek,mt7623-dsi 28*22ffb89eSXinlei Lee - mediatek,mt8167-dsi 29*22ffb89eSXinlei Lee - mediatek,mt8173-dsi 30*22ffb89eSXinlei Lee - mediatek,mt8183-dsi 31*22ffb89eSXinlei Lee 32*22ffb89eSXinlei Lee reg: 33*22ffb89eSXinlei Lee maxItems: 1 34*22ffb89eSXinlei Lee 35*22ffb89eSXinlei Lee interrupts: 36*22ffb89eSXinlei Lee maxItems: 1 37*22ffb89eSXinlei Lee 38*22ffb89eSXinlei Lee power-domains: 39*22ffb89eSXinlei Lee maxItems: 1 40*22ffb89eSXinlei Lee 41*22ffb89eSXinlei Lee clocks: 42*22ffb89eSXinlei Lee items: 43*22ffb89eSXinlei Lee - description: Engine Clock 44*22ffb89eSXinlei Lee - description: Digital Clock 45*22ffb89eSXinlei Lee - description: HS Clock 46*22ffb89eSXinlei Lee 47*22ffb89eSXinlei Lee clock-names: 48*22ffb89eSXinlei Lee items: 49*22ffb89eSXinlei Lee - const: engine 50*22ffb89eSXinlei Lee - const: digital 51*22ffb89eSXinlei Lee - const: hs 52*22ffb89eSXinlei Lee 53*22ffb89eSXinlei Lee resets: 54*22ffb89eSXinlei Lee maxItems: 1 55*22ffb89eSXinlei Lee 56*22ffb89eSXinlei Lee phys: 57*22ffb89eSXinlei Lee maxItems: 1 58*22ffb89eSXinlei Lee 59*22ffb89eSXinlei Lee phy-names: 60*22ffb89eSXinlei Lee items: 61*22ffb89eSXinlei Lee - const: dphy 62*22ffb89eSXinlei Lee 63*22ffb89eSXinlei Lee port: 64*22ffb89eSXinlei Lee $ref: /schemas/graph.yaml#/properties/port 65*22ffb89eSXinlei Lee description: 66*22ffb89eSXinlei Lee Output port node. This port should be connected to the input 67*22ffb89eSXinlei Lee port of an attached DSI panel or DSI-to-eDP encoder chip. 68*22ffb89eSXinlei Lee 69*22ffb89eSXinlei Leerequired: 70*22ffb89eSXinlei Lee - compatible 71*22ffb89eSXinlei Lee - reg 72*22ffb89eSXinlei Lee - interrupts 73*22ffb89eSXinlei Lee - power-domains 74*22ffb89eSXinlei Lee - clocks 75*22ffb89eSXinlei Lee - clock-names 76*22ffb89eSXinlei Lee - phys 77*22ffb89eSXinlei Lee - phy-names 78*22ffb89eSXinlei Lee - port 79*22ffb89eSXinlei Lee 80*22ffb89eSXinlei LeeunevaluatedProperties: false 81*22ffb89eSXinlei Lee 82*22ffb89eSXinlei Leeexamples: 83*22ffb89eSXinlei Lee - | 84*22ffb89eSXinlei Lee #include <dt-bindings/clock/mt8183-clk.h> 85*22ffb89eSXinlei Lee #include <dt-bindings/interrupt-controller/arm-gic.h> 86*22ffb89eSXinlei Lee #include <dt-bindings/interrupt-controller/irq.h> 87*22ffb89eSXinlei Lee #include <dt-bindings/power/mt8183-power.h> 88*22ffb89eSXinlei Lee #include <dt-bindings/phy/phy.h> 89*22ffb89eSXinlei Lee #include <dt-bindings/reset/mt8183-resets.h> 90*22ffb89eSXinlei Lee 91*22ffb89eSXinlei Lee soc { 92*22ffb89eSXinlei Lee #address-cells = <2>; 93*22ffb89eSXinlei Lee #size-cells = <2>; 94*22ffb89eSXinlei Lee 95*22ffb89eSXinlei Lee dsi0: dsi@14014000 { 96*22ffb89eSXinlei Lee compatible = "mediatek,mt8183-dsi"; 97*22ffb89eSXinlei Lee reg = <0 0x14014000 0 0x1000>; 98*22ffb89eSXinlei Lee interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_LOW>; 99*22ffb89eSXinlei Lee power-domains = <&spm MT8183_POWER_DOMAIN_DISP>; 100*22ffb89eSXinlei Lee clocks = <&mmsys CLK_MM_DSI0_MM>, 101*22ffb89eSXinlei Lee <&mmsys CLK_MM_DSI0_IF>, 102*22ffb89eSXinlei Lee <&mipi_tx0>; 103*22ffb89eSXinlei Lee clock-names = "engine", "digital", "hs"; 104*22ffb89eSXinlei Lee resets = <&mmsys MT8183_MMSYS_SW0_RST_B_DISP_DSI0>; 105*22ffb89eSXinlei Lee phys = <&mipi_tx0>; 106*22ffb89eSXinlei Lee phy-names = "dphy"; 107*22ffb89eSXinlei Lee port { 108*22ffb89eSXinlei Lee dsi0_out: endpoint { 109*22ffb89eSXinlei Lee remote-endpoint = <&panel_in>; 110*22ffb89eSXinlei Lee }; 111*22ffb89eSXinlei Lee }; 112*22ffb89eSXinlei Lee }; 113*22ffb89eSXinlei Lee }; 114*22ffb89eSXinlei Lee 115*22ffb89eSXinlei Lee... 116