xref: /freebsd/sys/contrib/device-tree/Bindings/display/rockchip/rockchip,rk3588-mipi-dsi2.yaml (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
1*2846c905SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2846c905SEmmanuel Vadot%YAML 1.2
3*2846c905SEmmanuel Vadot---
4*2846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/display/rockchip/rockchip,rk3588-mipi-dsi2.yaml#
5*2846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2846c905SEmmanuel Vadot
7*2846c905SEmmanuel Vadottitle: Rockchip specific extensions to the Synopsys Designware MIPI DSI2
8*2846c905SEmmanuel Vadot
9*2846c905SEmmanuel Vadotmaintainers:
10*2846c905SEmmanuel Vadot  - Heiko Stuebner <heiko@sntech.de>
11*2846c905SEmmanuel Vadot
12*2846c905SEmmanuel Vadotproperties:
13*2846c905SEmmanuel Vadot  compatible:
14*2846c905SEmmanuel Vadot    enum:
15*2846c905SEmmanuel Vadot      - rockchip,rk3588-mipi-dsi2
16*2846c905SEmmanuel Vadot
17*2846c905SEmmanuel Vadot  reg:
18*2846c905SEmmanuel Vadot    maxItems: 1
19*2846c905SEmmanuel Vadot
20*2846c905SEmmanuel Vadot  interrupts:
21*2846c905SEmmanuel Vadot    maxItems: 1
22*2846c905SEmmanuel Vadot
23*2846c905SEmmanuel Vadot  clocks:
24*2846c905SEmmanuel Vadot    maxItems: 2
25*2846c905SEmmanuel Vadot
26*2846c905SEmmanuel Vadot  clock-names:
27*2846c905SEmmanuel Vadot    items:
28*2846c905SEmmanuel Vadot      - const: pclk
29*2846c905SEmmanuel Vadot      - const: sys
30*2846c905SEmmanuel Vadot
31*2846c905SEmmanuel Vadot  rockchip,grf:
32*2846c905SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
33*2846c905SEmmanuel Vadot    description:
34*2846c905SEmmanuel Vadot      This SoC uses GRF regs to switch between vopl/vopb.
35*2846c905SEmmanuel Vadot
36*2846c905SEmmanuel Vadot  phys:
37*2846c905SEmmanuel Vadot    maxItems: 1
38*2846c905SEmmanuel Vadot
39*2846c905SEmmanuel Vadot  phy-names:
40*2846c905SEmmanuel Vadot    const: dcphy
41*2846c905SEmmanuel Vadot
42*2846c905SEmmanuel Vadot  power-domains:
43*2846c905SEmmanuel Vadot    maxItems: 1
44*2846c905SEmmanuel Vadot
45*2846c905SEmmanuel Vadot  resets:
46*2846c905SEmmanuel Vadot    maxItems: 1
47*2846c905SEmmanuel Vadot
48*2846c905SEmmanuel Vadot  reset-names:
49*2846c905SEmmanuel Vadot    const: apb
50*2846c905SEmmanuel Vadot
51*2846c905SEmmanuel Vadot  ports:
52*2846c905SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
53*2846c905SEmmanuel Vadot
54*2846c905SEmmanuel Vadot    properties:
55*2846c905SEmmanuel Vadot      port@0:
56*2846c905SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
57*2846c905SEmmanuel Vadot        description: Input node to receive pixel data.
58*2846c905SEmmanuel Vadot
59*2846c905SEmmanuel Vadot      port@1:
60*2846c905SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
61*2846c905SEmmanuel Vadot        description: DSI output node to panel.
62*2846c905SEmmanuel Vadot
63*2846c905SEmmanuel Vadot    required:
64*2846c905SEmmanuel Vadot      - port@0
65*2846c905SEmmanuel Vadot      - port@1
66*2846c905SEmmanuel Vadot
67*2846c905SEmmanuel Vadotrequired:
68*2846c905SEmmanuel Vadot  - compatible
69*2846c905SEmmanuel Vadot  - clocks
70*2846c905SEmmanuel Vadot  - clock-names
71*2846c905SEmmanuel Vadot  - rockchip,grf
72*2846c905SEmmanuel Vadot  - phys
73*2846c905SEmmanuel Vadot  - phy-names
74*2846c905SEmmanuel Vadot  - ports
75*2846c905SEmmanuel Vadot  - reg
76*2846c905SEmmanuel Vadot
77*2846c905SEmmanuel VadotallOf:
78*2846c905SEmmanuel Vadot  - $ref: /schemas/display/dsi-controller.yaml#
79*2846c905SEmmanuel Vadot
80*2846c905SEmmanuel VadotunevaluatedProperties: false
81*2846c905SEmmanuel Vadot
82*2846c905SEmmanuel Vadotexamples:
83*2846c905SEmmanuel Vadot  - |
84*2846c905SEmmanuel Vadot    #include <dt-bindings/clock/rockchip,rk3588-cru.h>
85*2846c905SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
86*2846c905SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
87*2846c905SEmmanuel Vadot    #include <dt-bindings/phy/phy.h>
88*2846c905SEmmanuel Vadot    #include <dt-bindings/power/rk3588-power.h>
89*2846c905SEmmanuel Vadot    #include <dt-bindings/reset/rockchip,rk3588-cru.h>
90*2846c905SEmmanuel Vadot
91*2846c905SEmmanuel Vadot    soc {
92*2846c905SEmmanuel Vadot      #address-cells = <2>;
93*2846c905SEmmanuel Vadot      #size-cells = <2>;
94*2846c905SEmmanuel Vadot
95*2846c905SEmmanuel Vadot      dsi@fde20000 {
96*2846c905SEmmanuel Vadot        compatible = "rockchip,rk3588-mipi-dsi2";
97*2846c905SEmmanuel Vadot        reg = <0x0 0xfde20000 0x0 0x10000>;
98*2846c905SEmmanuel Vadot        interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH 0>;
99*2846c905SEmmanuel Vadot        clocks = <&cru PCLK_DSIHOST0>, <&cru CLK_DSIHOST0>;
100*2846c905SEmmanuel Vadot        clock-names = "pclk", "sys";
101*2846c905SEmmanuel Vadot        resets = <&cru SRST_P_DSIHOST0>;
102*2846c905SEmmanuel Vadot        reset-names = "apb";
103*2846c905SEmmanuel Vadot        power-domains = <&power RK3588_PD_VOP>;
104*2846c905SEmmanuel Vadot        phys = <&mipidcphy0 PHY_TYPE_DPHY>;
105*2846c905SEmmanuel Vadot        phy-names = "dcphy";
106*2846c905SEmmanuel Vadot        rockchip,grf = <&vop_grf>;
107*2846c905SEmmanuel Vadot
108*2846c905SEmmanuel Vadot        ports {
109*2846c905SEmmanuel Vadot          #address-cells = <1>;
110*2846c905SEmmanuel Vadot          #size-cells = <0>;
111*2846c905SEmmanuel Vadot          dsi0_in: port@0 {
112*2846c905SEmmanuel Vadot            reg = <0>;
113*2846c905SEmmanuel Vadot          };
114*2846c905SEmmanuel Vadot
115*2846c905SEmmanuel Vadot          dsi0_out: port@1 {
116*2846c905SEmmanuel Vadot            reg = <1>;
117*2846c905SEmmanuel Vadot          };
118*2846c905SEmmanuel Vadot        };
119*2846c905SEmmanuel Vadot      };
120*2846c905SEmmanuel Vadot    };
121