summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt
blob: e2d2c5127f2b23f8e912953a9c4bed08bd12a603 (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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
Rockchip RGB interface
================================

Required properties:
- compatible: matching the soc type:
	- "rockchip,px30-rgb";
	- "rockchip,rk1808-rgb";
	- "rockchip,rk3066-rgb";
	- "rockchip,rk3308-rgb";
	- "rockchip,rv1108-rgb";

Optional properties:
- pinctrl-names: the pin control state names; should contain "default"
- pinctrl-0: the default pinctrl state (active)
- pinctrl-1: the "sleep" pinctrl state

The rgb has two video ports described by:
	Documentation/devicetree/bindings/media/video-interfaces.txt
Their connections are modeled using the OF graph bindings specified in
	Documentation/devicetree/bindings/graph.txt.

- video port 0 for the VOP input, the remote endpoint maybe vopb/vopl/vop
- video port 1 for either a panel or subsequent encoder

the panel described by:
	Documentation/devicetree/bindings/display/panel/simple-panel.txt
Panel other required properties:
- ports for remote rgb output.

Example:

panel: panel {
	compatible = "auo,b101ean01";
	enable-gpios = <&gpio7 21 GPIO_ACTIVE_HIGH>;
	bus-format = <MEDIA_BUS_FMT_RGB888_1X24>;

	ports {
		panel_in_rgb: endpoint {
			remote-endpoint = <&rgb_out_panel>;
		};
	};
};

For Rockchip RV1108:

	rgb: rgb {
		compatible = "rockchip,rv1108-rgb";
		pinctrl-names = "default";
		pinctrl-0 = <&lcdc_ctl>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			rgb_in: port@0 {
				reg = <0>;
				#address-cells = <1>;
				#size-cells = <0>;

				rgb_in_vop: endpoint {
					remote-endpoint = <&vop_out_rgb>;
				};
			};

			rgb_out: port@1 {
				reg = <1>;
				#address-cells = <1>;
				#size-cells = <0>;

				rgb_out_panel: endpoint {
					remote-endpoint = <&panel_in_rgb>;
				};
			};
		};
	};

For Rockchip PX30:

	grf: syscon@ff140000 {
		compatible = "rockchip,px30-grf", "syscon", "simple-mfd";
		...

		rgb: rgb {
			compatible = "rockchip,px30-rgb";
			pinctrl-names = "default";
			pinctrl-0 = <&lcdc_rgb_dclk_pin
				     &lcdc_rgb_m0_den_pin
				     &lcdc_rgb_m0_hsync_pin
				     &lcdc_rgb_m0_vsync_pin
				     &lcdc_rgb888_m0_data_pins>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0>;
					#address-cells = <1>;
					#size-cells = <0>;

					rgb_in_vopb: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&vopb_out_rgb>;
					};

					rgb_in_vopl: endpoint@1 {
						reg = <1>;
						remote-endpoint = <&vopl_out_rgb>;
					};
				};
			};
		};
	};