1*0dac2102SJohan Jonker# SPDX-License-Identifier: GPL-2.0 2*0dac2102SJohan Jonker%YAML 1.2 3*0dac2102SJohan Jonker--- 4*0dac2102SJohan Jonker$id: http://devicetree.org/schemas/display/rockchip/rockchip,dw-mipi-dsi.yaml# 5*0dac2102SJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml# 6*0dac2102SJohan Jonker 7*0dac2102SJohan Jonkertitle: Rockchip specific extensions to the Synopsys Designware MIPI DSI 8*0dac2102SJohan Jonker 9*0dac2102SJohan Jonkermaintainers: 10*0dac2102SJohan Jonker - Sandy Huang <hjc@rock-chips.com> 11*0dac2102SJohan Jonker - Heiko Stuebner <heiko@sntech.de> 12*0dac2102SJohan Jonker 13*0dac2102SJohan Jonkerproperties: 14*0dac2102SJohan Jonker compatible: 15*0dac2102SJohan Jonker items: 16*0dac2102SJohan Jonker - enum: 17*0dac2102SJohan Jonker - rockchip,px30-mipi-dsi 18*0dac2102SJohan Jonker - rockchip,rk3288-mipi-dsi 19*0dac2102SJohan Jonker - rockchip,rk3399-mipi-dsi 20*0dac2102SJohan Jonker - rockchip,rk3568-mipi-dsi 21*0dac2102SJohan Jonker - const: snps,dw-mipi-dsi 22*0dac2102SJohan Jonker 23*0dac2102SJohan Jonker interrupts: 24*0dac2102SJohan Jonker maxItems: 1 25*0dac2102SJohan Jonker 26*0dac2102SJohan Jonker clocks: 27*0dac2102SJohan Jonker minItems: 1 28*0dac2102SJohan Jonker maxItems: 4 29*0dac2102SJohan Jonker 30*0dac2102SJohan Jonker clock-names: 31*0dac2102SJohan Jonker oneOf: 32*0dac2102SJohan Jonker - minItems: 2 33*0dac2102SJohan Jonker items: 34*0dac2102SJohan Jonker - const: ref 35*0dac2102SJohan Jonker - const: pclk 36*0dac2102SJohan Jonker - const: phy_cfg 37*0dac2102SJohan Jonker - const: grf 38*0dac2102SJohan Jonker - const: pclk 39*0dac2102SJohan Jonker 40*0dac2102SJohan Jonker rockchip,grf: 41*0dac2102SJohan Jonker $ref: /schemas/types.yaml#/definitions/phandle 42*0dac2102SJohan Jonker description: 43*0dac2102SJohan Jonker This SoC uses GRF regs to switch between vopl/vopb. 44*0dac2102SJohan Jonker 45*0dac2102SJohan Jonker phys: 46*0dac2102SJohan Jonker maxItems: 1 47*0dac2102SJohan Jonker 48*0dac2102SJohan Jonker phy-names: 49*0dac2102SJohan Jonker const: dphy 50*0dac2102SJohan Jonker 51*0dac2102SJohan Jonker "#phy-cells": 52*0dac2102SJohan Jonker const: 0 53*0dac2102SJohan Jonker description: 54*0dac2102SJohan Jonker Defined when in use as ISP phy. 55*0dac2102SJohan Jonker 56*0dac2102SJohan Jonker power-domains: 57*0dac2102SJohan Jonker maxItems: 1 58*0dac2102SJohan Jonker 59*0dac2102SJohan Jonker "#address-cells": 60*0dac2102SJohan Jonker const: 1 61*0dac2102SJohan Jonker 62*0dac2102SJohan Jonker "#size-cells": 63*0dac2102SJohan Jonker const: 0 64*0dac2102SJohan Jonker 65*0dac2102SJohan Jonkerrequired: 66*0dac2102SJohan Jonker - compatible 67*0dac2102SJohan Jonker - clocks 68*0dac2102SJohan Jonker - clock-names 69*0dac2102SJohan Jonker - rockchip,grf 70*0dac2102SJohan Jonker 71*0dac2102SJohan JonkerallOf: 72*0dac2102SJohan Jonker - $ref: /schemas/display/bridge/snps,dw-mipi-dsi.yaml# 73*0dac2102SJohan Jonker - if: 74*0dac2102SJohan Jonker properties: 75*0dac2102SJohan Jonker compatible: 76*0dac2102SJohan Jonker contains: 77*0dac2102SJohan Jonker enum: 78*0dac2102SJohan Jonker - rockchip,px30-mipi-dsi 79*0dac2102SJohan Jonker - rockchip,rk3568-mipi-dsi 80*0dac2102SJohan Jonker 81*0dac2102SJohan Jonker then: 82*0dac2102SJohan Jonker properties: 83*0dac2102SJohan Jonker clocks: 84*0dac2102SJohan Jonker maxItems: 1 85*0dac2102SJohan Jonker 86*0dac2102SJohan Jonker clock-names: 87*0dac2102SJohan Jonker maxItems: 1 88*0dac2102SJohan Jonker 89*0dac2102SJohan Jonker required: 90*0dac2102SJohan Jonker - phys 91*0dac2102SJohan Jonker - phy-names 92*0dac2102SJohan Jonker 93*0dac2102SJohan Jonker - if: 94*0dac2102SJohan Jonker properties: 95*0dac2102SJohan Jonker compatible: 96*0dac2102SJohan Jonker contains: 97*0dac2102SJohan Jonker const: rockchip,rk3288-mipi-dsi 98*0dac2102SJohan Jonker 99*0dac2102SJohan Jonker then: 100*0dac2102SJohan Jonker properties: 101*0dac2102SJohan Jonker clocks: 102*0dac2102SJohan Jonker maxItems: 2 103*0dac2102SJohan Jonker 104*0dac2102SJohan Jonker clock-names: 105*0dac2102SJohan Jonker maxItems: 2 106*0dac2102SJohan Jonker 107*0dac2102SJohan Jonker - if: 108*0dac2102SJohan Jonker properties: 109*0dac2102SJohan Jonker compatible: 110*0dac2102SJohan Jonker contains: 111*0dac2102SJohan Jonker const: rockchip,rk3399-mipi-dsi 112*0dac2102SJohan Jonker 113*0dac2102SJohan Jonker then: 114*0dac2102SJohan Jonker properties: 115*0dac2102SJohan Jonker clocks: 116*0dac2102SJohan Jonker minItems: 4 117*0dac2102SJohan Jonker 118*0dac2102SJohan Jonker clock-names: 119*0dac2102SJohan Jonker minItems: 4 120*0dac2102SJohan Jonker 121*0dac2102SJohan JonkerunevaluatedProperties: false 122*0dac2102SJohan Jonker 123*0dac2102SJohan Jonkerexamples: 124*0dac2102SJohan Jonker - | 125*0dac2102SJohan Jonker #include <dt-bindings/clock/rk3288-cru.h> 126*0dac2102SJohan Jonker #include <dt-bindings/interrupt-controller/arm-gic.h> 127*0dac2102SJohan Jonker #include <dt-bindings/interrupt-controller/irq.h> 128*0dac2102SJohan Jonker 129*0dac2102SJohan Jonker mipi_dsi: dsi@ff960000 { 130*0dac2102SJohan Jonker compatible = "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi"; 131*0dac2102SJohan Jonker reg = <0xff960000 0x4000>; 132*0dac2102SJohan Jonker interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 133*0dac2102SJohan Jonker clocks = <&cru SCLK_MIPIDSI_24M>, <&cru PCLK_MIPI_DSI0>; 134*0dac2102SJohan Jonker clock-names = "ref", "pclk"; 135*0dac2102SJohan Jonker resets = <&cru SRST_MIPIDSI0>; 136*0dac2102SJohan Jonker reset-names = "apb"; 137*0dac2102SJohan Jonker rockchip,grf = <&grf>; 138*0dac2102SJohan Jonker 139*0dac2102SJohan Jonker ports { 140*0dac2102SJohan Jonker #address-cells = <1>; 141*0dac2102SJohan Jonker #size-cells = <0>; 142*0dac2102SJohan Jonker 143*0dac2102SJohan Jonker mipi_in: port@0 { 144*0dac2102SJohan Jonker reg = <0>; 145*0dac2102SJohan Jonker #address-cells = <1>; 146*0dac2102SJohan Jonker #size-cells = <0>; 147*0dac2102SJohan Jonker 148*0dac2102SJohan Jonker mipi_in_vopb: endpoint@0 { 149*0dac2102SJohan Jonker reg = <0>; 150*0dac2102SJohan Jonker remote-endpoint = <&vopb_out_mipi>; 151*0dac2102SJohan Jonker }; 152*0dac2102SJohan Jonker mipi_in_vopl: endpoint@1 { 153*0dac2102SJohan Jonker reg = <1>; 154*0dac2102SJohan Jonker remote-endpoint = <&vopl_out_mipi>; 155*0dac2102SJohan Jonker }; 156*0dac2102SJohan Jonker }; 157*0dac2102SJohan Jonker 158*0dac2102SJohan Jonker mipi_out: port@1 { 159*0dac2102SJohan Jonker reg = <1>; 160*0dac2102SJohan Jonker 161*0dac2102SJohan Jonker mipi_out_panel: endpoint { 162*0dac2102SJohan Jonker remote-endpoint = <&panel_in_mipi>; 163*0dac2102SJohan Jonker }; 164*0dac2102SJohan Jonker }; 165*0dac2102SJohan Jonker }; 166*0dac2102SJohan Jonker }; 167