xref: /linux/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml (revision 9bb35d4c3230803345d5218676a7325b26823209)
1*9bb35d4cSJohan Jonker# SPDX-License-Identifier: GPL-2.0
2*9bb35d4cSJohan Jonker%YAML 1.2
3*9bb35d4cSJohan Jonker---
4*9bb35d4cSJohan Jonker$id: http://devicetree.org/schemas/display/rockchip/rockchip,analogix-dp.yaml#
5*9bb35d4cSJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml#
6*9bb35d4cSJohan Jonker
7*9bb35d4cSJohan Jonkertitle: Rockchip specific extensions to the Analogix Display Port
8*9bb35d4cSJohan Jonker
9*9bb35d4cSJohan Jonkermaintainers:
10*9bb35d4cSJohan Jonker  - Sandy Huang <hjc@rock-chips.com>
11*9bb35d4cSJohan Jonker  - Heiko Stuebner <heiko@sntech.de>
12*9bb35d4cSJohan Jonker
13*9bb35d4cSJohan Jonkerproperties:
14*9bb35d4cSJohan Jonker  compatible:
15*9bb35d4cSJohan Jonker    enum:
16*9bb35d4cSJohan Jonker      - rockchip,rk3288-dp
17*9bb35d4cSJohan Jonker      - rockchip,rk3399-edp
18*9bb35d4cSJohan Jonker
19*9bb35d4cSJohan Jonker  clocks:
20*9bb35d4cSJohan Jonker    minItems: 2
21*9bb35d4cSJohan Jonker    maxItems: 3
22*9bb35d4cSJohan Jonker
23*9bb35d4cSJohan Jonker  clock-names:
24*9bb35d4cSJohan Jonker    minItems: 2
25*9bb35d4cSJohan Jonker    items:
26*9bb35d4cSJohan Jonker      - const: dp
27*9bb35d4cSJohan Jonker      - const: pclk
28*9bb35d4cSJohan Jonker      - const: grf
29*9bb35d4cSJohan Jonker
30*9bb35d4cSJohan Jonker  power-domains:
31*9bb35d4cSJohan Jonker    maxItems: 1
32*9bb35d4cSJohan Jonker
33*9bb35d4cSJohan Jonker  resets:
34*9bb35d4cSJohan Jonker    maxItems: 1
35*9bb35d4cSJohan Jonker
36*9bb35d4cSJohan Jonker  reset-names:
37*9bb35d4cSJohan Jonker    const: dp
38*9bb35d4cSJohan Jonker
39*9bb35d4cSJohan Jonker  rockchip,grf:
40*9bb35d4cSJohan Jonker    $ref: /schemas/types.yaml#/definitions/phandle
41*9bb35d4cSJohan Jonker    description:
42*9bb35d4cSJohan Jonker      This SoC makes use of GRF regs.
43*9bb35d4cSJohan Jonker
44*9bb35d4cSJohan Jonkerrequired:
45*9bb35d4cSJohan Jonker  - compatible
46*9bb35d4cSJohan Jonker  - clocks
47*9bb35d4cSJohan Jonker  - clock-names
48*9bb35d4cSJohan Jonker  - resets
49*9bb35d4cSJohan Jonker  - reset-names
50*9bb35d4cSJohan Jonker  - rockchip,grf
51*9bb35d4cSJohan Jonker
52*9bb35d4cSJohan JonkerallOf:
53*9bb35d4cSJohan Jonker  - $ref: /schemas/display/bridge/analogix,dp.yaml#
54*9bb35d4cSJohan Jonker
55*9bb35d4cSJohan JonkerunevaluatedProperties: false
56*9bb35d4cSJohan Jonker
57*9bb35d4cSJohan Jonkerexamples:
58*9bb35d4cSJohan Jonker  - |
59*9bb35d4cSJohan Jonker    #include <dt-bindings/clock/rk3288-cru.h>
60*9bb35d4cSJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
61*9bb35d4cSJohan Jonker    #include <dt-bindings/interrupt-controller/irq.h>
62*9bb35d4cSJohan Jonker    dp@ff970000 {
63*9bb35d4cSJohan Jonker      compatible = "rockchip,rk3288-dp";
64*9bb35d4cSJohan Jonker      reg = <0xff970000 0x4000>;
65*9bb35d4cSJohan Jonker      interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
66*9bb35d4cSJohan Jonker      clocks = <&cru SCLK_EDP>, <&cru PCLK_EDP_CTRL>;
67*9bb35d4cSJohan Jonker      clock-names = "dp", "pclk";
68*9bb35d4cSJohan Jonker      phys = <&dp_phy>;
69*9bb35d4cSJohan Jonker      phy-names = "dp";
70*9bb35d4cSJohan Jonker      resets = <&cru 111>;
71*9bb35d4cSJohan Jonker      reset-names = "dp";
72*9bb35d4cSJohan Jonker      rockchip,grf = <&grf>;
73*9bb35d4cSJohan Jonker      pinctrl-0 = <&edp_hpd>;
74*9bb35d4cSJohan Jonker      pinctrl-names = "default";
75*9bb35d4cSJohan Jonker
76*9bb35d4cSJohan Jonker      ports {
77*9bb35d4cSJohan Jonker        #address-cells = <1>;
78*9bb35d4cSJohan Jonker        #size-cells = <0>;
79*9bb35d4cSJohan Jonker
80*9bb35d4cSJohan Jonker        edp_in: port@0 {
81*9bb35d4cSJohan Jonker          reg = <0>;
82*9bb35d4cSJohan Jonker          #address-cells = <1>;
83*9bb35d4cSJohan Jonker          #size-cells = <0>;
84*9bb35d4cSJohan Jonker
85*9bb35d4cSJohan Jonker          edp_in_vopb: endpoint@0 {
86*9bb35d4cSJohan Jonker            reg = <0>;
87*9bb35d4cSJohan Jonker            remote-endpoint = <&vopb_out_edp>;
88*9bb35d4cSJohan Jonker          };
89*9bb35d4cSJohan Jonker          edp_in_vopl: endpoint@1 {
90*9bb35d4cSJohan Jonker            reg = <1>;
91*9bb35d4cSJohan Jonker            remote-endpoint = <&vopl_out_edp>;
92*9bb35d4cSJohan Jonker          };
93*9bb35d4cSJohan Jonker        };
94*9bb35d4cSJohan Jonker
95*9bb35d4cSJohan Jonker        edp_out: port@1 {
96*9bb35d4cSJohan Jonker          reg = <1>;
97*9bb35d4cSJohan Jonker
98*9bb35d4cSJohan Jonker          edp_out_panel: endpoint {
99*9bb35d4cSJohan Jonker            remote-endpoint = <&panel_in_edp>;
100*9bb35d4cSJohan Jonker          };
101*9bb35d4cSJohan Jonker        };
102*9bb35d4cSJohan Jonker      };
103*9bb35d4cSJohan Jonker    };
104