xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/display/bridge/rohm-bu18xl82.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1ROHM BU18TL82/BU18RL82 Clockless Link-BD Serializer/Deserializer bridge bindings
2
3Required properties:
4 - compatible: "rohm,bu18tl82" or "rohm,bu18rl82"
5 - reg: i2c address of the bridge
6 - serdes-init-sequence: register initial code from Rohm vendor
7
8optional properties:
9 - reset-gpios: a GPIO spec for the reset pin
10 - enable-gpios: a GPIO spec for the enable pin
11 - power-supply: Reference to the regulator powering the serdes power supply pins
12 - sel-mipi: string property for mipi dsi data stream input
13
14Example:
15
16/ {
17	panel {
18		compatible = "simple-panel";
19		backlight = <&backlight>;
20
21		display-timings {
22			native-mode = <&timing0>;
23			timing0: timing0 {
24				clock-frequency = <87000000>;
25				hactive = <1920>;
26				vactive = <720>;
27				hfront-porch = <32>;
28				hsync-len = <10>;
29				hback-porch = <22>;
30				vfront-porch = <10>;
31				vsync-len = <4>;
32				vback-porch = <7>;
33				hsync-active = <0>;
34				vsync-active = <0>;
35				de-active = <0>;
36				pixelclk-active = <0>;
37			};
38		};
39
40		ports {
41			#address-cells = <1>;
42			#size-cells = <0>;
43
44			port@0 {
45				reg = <0>;
46				panel0_in_i2c2_bu18rl82: endpoint {
47					remote-endpoint = <&i2c2_bu18rl82_out_panel0>;
48				};
49			};
50		};
51	};
52};
53
54&dsi {
55	status = "okay";
56
57	ports {
58		#address-cells = <1>;
59		#size-cells = <0>;
60
61		port@1 {
62			reg = <1>;
63
64			dsi0_out_i2c2_bu18tl82: endpoint {
65				remote-endpoint = <&i2c2_bu18tl82_in_dsi0>;
66			};
67		};
68	};
69};
70
71&i2c2 {
72	status = "okay";
73
74	bu18tl82: bu18tl82@10 {
75		compatible = "rohm,bu18tl82";
76		reg = <0x10>;
77		pinctrl-names = "default";
78		pinctrl-0 = <&ser0_rst_gpio>;
79		reset-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>;
80		sel-mipi;
81		status = "okay";
82
83		serdes-init-sequence = [
84			/* TL82 Pattern Gen Set 1
85			 * Horizontal Gray Scale 256 steps
86			 */
87			040A 0010
88			040B 0080
89			040C 0080
90			040D 0080
91			0444 0019
92			0445 0020
93			0446 001f
94
95			...
96		];
97
98		ports {
99			#address-cells = <1>;
100			#size-cells = <0>;
101
102			port@0 {
103				reg = <0>;
104
105				i2c2_bu18tl82_in_dsi0: endpoint {
106					remote-endpoint = <&dsi0_out_i2c2_bu18tl82>;
107				};
108			};
109
110			port@1 {
111				reg = <1>;
112
113				i2c2_bu18tl82_out_i2c2_bu18rl82: endpoint {
114					remote-endpoint = <&i2c2_bu18rl82_in_i2c2_bu18tl82>;
115				};
116			};
117		};
118	};
119
120	bu18rl82: bu18rl82@30 {
121		compatible = "rohm,bu18rl82";
122		reg = <0x30>;
123		status = "okay";
124		serdes-init-sequence = [
125			/* RL82 Pattern Gen Set
126			 * Vertical Gray Scale Color Bar
127			 */
128			060A 00B0
129			060B 00FF
130			060C 00FF
131			060D 00FF
132			0644 0019
133			0645 0020
134			0646 001f
135			...
136		];
137
138		ports {
139			#address-cells = <1>;
140			#size-cells = <0>;
141
142			port@0 {
143				reg = <0>;
144
145				i2c2_bu18rl82_in_i2c2_bu18tl82: endpoint {
146					remote-endpoint = <&i2c2_bu18tl82_out_i2c2_bu18rl82>;
147				};
148			};
149
150			port@1 {
151				reg = <1>;
152
153				i2c2_bu18rl82_out_panel0: endpoint {
154					remote-endpoint = <&panel0_in_i2c2_bu18rl82>;
155				};
156			};
157		};
158	};
159};
160