summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt
blob: 01cced1c2a180cfe4307cc5cfb0f70b8616f3d81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Rockchip RK3288 specific extensions to the Analogix Display Port
================================

Required properties:
- compatible: "rockchip,rk3288-dp",
	      "rockchip,rk3399-edp";

- reg: physical base address of the controller and length

- clocks: from common clock binding: handle to dp clock.
	  of memory mapped region.

- clock-names: from common clock binding:
	       Required elements: "dp" "pclk"

- resets: Must contain an entry for each entry in reset-names.
	  See ../reset/reset.txt for details.

- pinctrl-names: Names corresponding to the chip hotplug pinctrl states.
- pinctrl-0: pin-control mode. should be <&edp_hpd>

- reset-names: Must include the name "dp"

- rockchip,grf: this soc should set GRF regs, so need get grf here.

- ports: there are 2 port nodes with endpoint definitions as defined in
  Documentation/devicetree/bindings/media/video-interfaces.txt.
    Port 0: contained 2 endpoints, connecting to the output of vop.
    Port 1: contained 1 endpoint, connecting to the input of panel.

Optional property for different chips:
- clocks: from common clock binding: handle to grf_vio clock.

- clock-names: from common clock binding:
	       Required elements: "grf"

For the below properties, please refer to Analogix DP binding document:
 * Documentation/devicetree/bindings/drm/bridge/analogix_dp.txt
- phys (required)
- phy-names (required)
- hpd-gpios (optional)
- force-hpd (optional)
-------------------------------------------------------------------------------

Example:
	dp-controller: dp@ff970000 {
		compatible = "rockchip,rk3288-dp";
		reg = <0xff970000 0x4000>;
		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&cru SCLK_EDP>, <&cru PCLK_EDP_CTRL>;
		clock-names = "dp", "pclk";
		phys = <&dp_phy>;
		phy-names = "dp";

		rockchip,grf = <&grf>;
		resets = <&cru 111>;
		reset-names = "dp";

		pinctrl-names = "default";
		pinctrl-0 = <&edp_hpd>;

		status = "disabled";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;
			edp_in: port@0 {
				reg = <0>;
				#address-cells = <1>;
				#size-cells = <0>;
				edp_in_vopb: endpoint@0 {
					reg = <0>;
					remote-endpoint = <&vopb_out_edp>;
				};
				edp_in_vopl: endpoint@1 {
					reg = <1>;
					remote-endpoint = <&vopl_out_edp>;
				};
			};

			edp_out: port@1 {
				reg = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				edp_out_panel: endpoint {
					reg = <0>;
					remote-endpoint = <&panel_in_edp>
				};
			};
		};
	};

	pinctrl {
		edp {
			edp_hpd: edp-hpd {
				rockchip,pins = <7 11 RK_FUNC_2 &pcfg_pull_none>;
			};
		};
	};