Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
 *
 */

/ {
	dsi2lvds_backlight1: dsi2lvds_backlight1 {
		compatible = "pwm-backlight";
		brightness-levels = <
			  0  20  20  21  21  22  22  23
			 23  24  24  25  25  26  26  27
			 27  28  28  29  29  30  30  31
			 31  32  32  33  33  34  34  35
			 35  36  36  37  37  38  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 115 116 117 118 119
			120 121 122 123 124 125 126 127
			128 129 130 131 132 133 134 135
			136 137 138 139 140 141 142 143
			144 145 146 147 148 149 150 151
			152 153 154 155 156 157 158 159
			160 161 162 163 164 165 166 167
			168 169 170 171 172 173 174 175
			176 177 178 179 180 181 182 183
			184 185 186 187 188 189 190 191
			192 193 194 195 196 197 198 199
			200 201 202 203 204 205 206 207
			208 209 210 211 212 213 214 215
			216 217 218 219 220 221 222 223
			224 225 226 227 228 229 230 231
			232 233 234 235 236 237 238 239
			240 241 242 243 244 245 246 247
			248 249 250 251 252 253 254 255
		>;
		default-brightness-level = <200>;
	};

	dp2lvds_backlight0: dp2lvds_backlight0 {
		compatible = "pwm-backlight";
		brightness-levels = <
			  0  20  20  21  21  22  22  23
			 23  24  24  25  25  26  26  27
			 27  28  28  29  29  30  30  31
			 31  32  32  33  33  34  34  35
			 35  36  36  37  37  38  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 115 116 117 118 119
			120 121 122 123 124 125 126 127
			128 129 130 131 132 133 134 135
			136 137 138 139 140 141 142 143
			144 145 146 147 148 149 150 151
			152 153 154 155 156 157 158 159
			160 161 162 163 164 165 166 167
			168 169 170 171 172 173 174 175
			176 177 178 179 180 181 182 183
			184 185 186 187 188 189 190 191
			192 193 194 195 196 197 198 199
			200 201 202 203 204 205 206 207
			208 209 210 211 212 213 214 215
			216 217 218 219 220 221 222 223
			224 225 226 227 228 229 230 231
			232 233 234 235 236 237 238 239
			240 241 242 243 244 245 246 247
			248 249 250 251 252 253 254 255
		>;
		default-brightness-level = <200>;
	};

	dp2lvds_backlight1: dp2lvds_backlight1 {
		compatible = "pwm-backlight";
		brightness-levels = <
			  0  20  20  21  21  22  22  23
			 23  24  24  25  25  26  26  27
			 27  28  28  29  29  30  30  31
			 31  32  32  33  33  34  34  35
			 35  36  36  37  37  38  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 115 116 117 118 119
			120 121 122 123 124 125 126 127
			128 129 130 131 132 133 134 135
			136 137 138 139 140 141 142 143
			144 145 146 147 148 149 150 151
			152 153 154 155 156 157 158 159
			160 161 162 163 164 165 166 167
			168 169 170 171 172 173 174 175
			176 177 178 179 180 181 182 183
			184 185 186 187 188 189 190 191
			192 193 194 195 196 197 198 199
			200 201 202 203 204 205 206 207
			208 209 210 211 212 213 214 215
			216 217 218 219 220 221 222 223
			224 225 226 227 228 229 230 231
			232 233 234 235 236 237 238 239
			240 241 242 243 244 245 246 247
			248 249 250 251 252 253 254 255
		>;
		default-brightness-level = <200>;
	};

	edp2lvds_backlight0: edp2lvds_backlight0 {
		compatible = "pwm-backlight";
		brightness-levels = <
			  0  20  20  21  21  22  22  23
			 23  24  24  25  25  26  26  27
			 27  28  28  29  29  30  30  31
			 31  32  32  33  33  34  34  35
			 35  36  36  37  37  38  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 115 116 117 118 119
			120 121 122 123 124 125 126 127
			128 129 130 131 132 133 134 135
			136 137 138 139 140 141 142 143
			144 145 146 147 148 149 150 151
			152 153 154 155 156 157 158 159
			160 161 162 163 164 165 166 167
			168 169 170 171 172 173 174 175
			176 177 178 179 180 181 182 183
			184 185 186 187 188 189 190 191
			192 193 194 195 196 197 198 199
			200 201 202 203 204 205 206 207
			208 209 210 211 212 213 214 215
			216 217 218 219 220 221 222 223
			224 225 226 227 228 229 230 231
			232 233 234 235 236 237 238 239
			240 241 242 243 244 245 246 247
			248 249 250 251 252 253 254 255
		>;
		default-brightness-level = <200>;
	};

	edp2lvds_backlight1: edp2lvds_backlight1 {
		compatible = "pwm-backlight";
		brightness-levels = <
			  0  20  20  21  21  22  22  23
			 23  24  24  25  25  26  26  27
			 27  28  28  29  29  30  30  31
			 31  32  32  33  33  34  34  35
			 35  36  36  37  37  38  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 115 116 117 118 119
			120 121 122 123 124 125 126 127
			128 129 130 131 132 133 134 135
			136 137 138 139 140 141 142 143
			144 145 146 147 148 149 150 151
			152 153 154 155 156 157 158 159
			160 161 162 163 164 165 166 167
			168 169 170 171 172 173 174 175
			176 177 178 179 180 181 182 183
			184 185 186 187 188 189 190 191
			192 193 194 195 196 197 198 199
			200 201 202 203 204 205 206 207
			208 209 210 211 212 213 214 215
			216 217 218 219 220 221 222 223
			224 225 226 227 228 229 230 231
			232 233 234 235 236 237 238 239
			240 241 242 243 244 245 246 247
			248 249 250 251 252 253 254 255
		>;
		default-brightness-level = <200>;
	};

	dsi2lvds_panel0 {
		compatible = "simple-panel";
		backlight = <&backlight>;

		display-timings {
			native-mode = <&dsi2lvds0>;
			dsi2lvds0: timing0 {
				clock-frequency = <87000000>;
				hactive = <1920>;
				vactive = <720>;
				hfront-porch = <32>;
				hsync-len = <10>;
				hback-porch = <22>;
				vfront-porch = <10>;
				vsync-len = <4>;
				vback-porch = <7>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <0>;
				pixelclk-active = <0>;
			};
		};

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

			port@0 {
				reg = <0>;
				panel0_in_i2c2_bu18rl82: endpoint {
					remote-endpoint = <&i2c2_bu18rl82_out_panel0>;
				};
			};
		};
	};

	dsi2lvds_panel1 {
		compatible = "simple-panel";
		backlight = <&dsi2lvds_backlight1>;

		display-timings {
			native-mode = <&dsi2lvds1>;
			dsi2lvds1: timing0 {
				clock-frequency = <87000000>;
				hactive = <1920>;
				vactive = <720>;
				hfront-porch = <32>;
				hsync-len = <10>;
				hback-porch = <22>;
				vfront-porch = <10>;
				vsync-len = <4>;
				vback-porch = <7>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <0>;
				pixelclk-active = <0>;
			};
		};

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

			port@0 {
				reg = <0>;
				panel1_in_i2c6_bu18rl82: endpoint {
					remote-endpoint = <&i2c6_bu18rl82_out_panel1>;
				};
			};
		};
	};

	dp2lvds_panel0 {
		compatible = "simple-panel";
		backlight = <&dp2lvds_backlight0>;
		prepare-delay-ms = <120>;
		enable-delay-ms = <120>;
		unprepare-delay-ms = <120>;
		disable-delay-ms = <120>;
		status = "okay";

		panel-timing {
			clock-frequency = <148500000>;
			hactive = <1920>;
			vactive = <1080>;
			hfront-porch = <140>;
			hsync-len = <40>;
			hback-porch = <100>;
			vfront-porch = <15>;
			vsync-len = <20>;
			vback-porch = <10>;
			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <0>;
			pixelclk-active = <0>;
		};

		port {
			panel0_in_i2c3_bu18rl82: endpoint {
				remote-endpoint = <&i2c3_bu18rl82_out_panel0>;
			};
		};
	};

	dp2lvds_panel1 {
		compatible = "simple-panel";
		backlight = <&dp2lvds_backlight1>;
		prepare-delay-ms = <120>;
		enable-delay-ms = <120>;
		unprepare-delay-ms = <120>;
		disable-delay-ms = <120>;
		status = "okay";

		panel-timing {
			clock-frequency = <148500000>;
			hactive = <1920>;
			vactive = <1080>;
			hfront-porch = <140>;
			hsync-len = <40>;
			hback-porch = <100>;
			vfront-porch = <15>;
			vsync-len = <20>;
			vback-porch = <10>;
			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <0>;
			pixelclk-active = <0>;
		};

		port {
			panel1_in_i2c8_bu18rl82: endpoint {
				remote-endpoint = <&i2c8_bu18rl82_out_panel1>;
			};
		};
	};

	edp2lvds_panel0 {
		compatible = "simple-panel";
		backlight = <&edp2lvds_backlight0>;
		prepare-delay-ms = <120>;
		enable-delay-ms = <120>;
		unprepare-delay-ms = <120>;
		disable-delay-ms = <120>;
		status = "okay";

		panel-timing {
			clock-frequency = <148500000>;
			hactive = <1920>;
			vactive = <1080>;
			hfront-porch = <140>;
			hsync-len = <40>;
			hback-porch = <100>;
			vfront-porch = <15>;
			vsync-len = <20>;
			vback-porch = <10>;
			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <0>;
			pixelclk-active = <0>;
		};

		port {
			panel0_in_i2c5_bu18rl82: endpoint {
				remote-endpoint = <&i2c5_bu18rl82_out_panel0>;
			};
		};
	};

	edp2lvds_panel1 {
		compatible = "simple-panel";
		backlight = <&edp2lvds_backlight1>;
		prepare-delay-ms = <120>;
		enable-delay-ms = <120>;
		unprepare-delay-ms = <120>;
		disable-delay-ms = <120>;
		status = "okay";

		panel-timing {
			clock-frequency = <148500000>;
			hactive = <1920>;
			vactive = <1080>;
			hfront-porch = <140>;
			hsync-len = <40>;
			hback-porch = <100>;
			vfront-porch = <15>;
			vsync-len = <20>;
			vback-porch = <10>;
			hsync-active = <0>;
			vsync-active = <0>;
			de-active = <0>;
			pixelclk-active = <0>;
		};

		port {
			panel1_in_i2c7_bu18rl82: endpoint {
				remote-endpoint = <&i2c7_bu18rl82_out_panel1>;
			};
		};
	};
};

&backlight {
	pwms = <&pwm6 0 25000 0>;
	pinctrl-names = "default";
	pinctrl-0 = <&blk_enable_gpio>;
	enable-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&dsi2lvds_backlight1 {
	pwms = <&pwm13 0 25000 0>;
	pinctrl-names = "default";
	pinctrl-0 = <&blk1_enable_gpio>;
	enable-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&dp0 {
	split-mode;
	force-hpd;
	status = "okay";

	ports {
		port@1 {
			reg = <1>;

			dp0_out_i2c3_bu18tl82: endpoint {
				remote-endpoint = <&i2c3_bu18tl82_in_dp0>;
			};
		};
	};
};

&dp0_in_vp0 {
	status = "okay";
};

&dp0_in_vp1 {
	status = "disabled";
};

&dp0_in_vp2 {
	status = "disabled";
};

&dp1 {
	force-hpd;
	status = "okay";

	ports {
		port@1 {
			reg = <1>;

			dp1_out_i2c8_bu18tl82: endpoint {
				remote-endpoint = <&i2c8_bu18tl82_in_dp1>;
			};
		};
	};
};

&dp1_in_vp0 {
	status = "okay";
};

&dp1_in_vp1 {
	status = "disabled";
};

&dp1_in_vp2 {
	status = "disabled";
};

&dp2lvds_backlight0 {
	pwms = <&pwm10 0 25000 0>;
	status = "okay";
};

&dp2lvds_backlight1 {
	pwms = <&pwm14 0 25000 0>;
	status = "okay";
};

/*
 * mipi_dcphy0 needs to be enabled
 * when dsi0 is enabled
 */
&dsi0 {
	status = "okay";

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

		port@1 {
			reg = <1>;

			dsi0_out_i2c2_bu18tl82: endpoint {
				remote-endpoint = <&i2c2_bu18tl82_in_dsi0>;
			};
		};
	};
};

&dsi0_in_vp2 {
	status = "okay";
};

&dsi0_in_vp3 {
	status = "disabled";
};

/*
 * mipi_dcphy1 needs to be enabled
 * when dsi1 is enabled
 */
&dsi1 {
	status = "okay";

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

		port@1 {
			reg = <1>;

			dsi1_out_i2c6_bu18tl82: endpoint {
				remote-endpoint = <&i2c6_bu18tl82_in_dsi1>;
			};
		};
	};
};

&dsi1_in_vp2 {
	status = "disabled";
};

&dsi1_in_vp3 {
	status = "okay";
};

&edp0 {
	split-mode;
	force-hpd;
	status = "okay";

	ports {
		port@1 {
			reg = <1>;

			edp0_out_i2c5_bu18tl82: endpoint {
				remote-endpoint = <&i2c5_bu18tl82_in_edp0>;
			};
		};
	};
};

&edp0_in_vp0 {
	status = "disabled";
};

&edp0_in_vp1 {
	status = "okay";
};

&edp0_in_vp2 {
	status = "disabled";
};

&edp1 {
	force-hpd;
	status = "okay";

	ports {
		port@1 {
			reg = <1>;

			edp1_out_i2c7_bu18tl82: endpoint {
				remote-endpoint = <&i2c7_bu18tl82_in_edp1>;
			};
		};
	};
};

&edp1_in_vp0 {
	status = "disabled";
};

&edp1_in_vp1 {
	status = "okay";
};

&edp1_in_vp2 {
	status = "disabled";
};

&edp2lvds_backlight0 {
	pwms = <&pwm12 0 25000 0>;
	status = "okay";
};

&edp2lvds_backlight1 {
	pwms = <&pwm11 0 25000 0>;
	status = "okay";
};

&gpio1 {
	i2c5-serdes-reset {
		gpio-hog;
		gpios = <6 GPIO_ACTIVE_HIGH>;
		output-high;
	};

	i2c7-serdes-reset {
		gpio-hog;
		gpios = <2 GPIO_ACTIVE_HIGH>;
		output-high;
	};
};

&gpio3 {
	i2c3-serdes-reset {
		gpio-hog;
		gpios = <28 GPIO_ACTIVE_HIGH>;
		output-high;
	};

	i2c8-serdes-reset {
		gpio-hog;
		gpios = <26 GPIO_ACTIVE_HIGH>;
		output-high;
	};
};

&hdmi0 {
	status = "disabled";
};

&hdmi1 {
	status = "disabled";
};

&hdptxphy0 {
	status = "okay";
};

&hdptxphy1 {
	status = "okay";
};

&hdptxphy_hdmi0 {
	status = "disabled";
};

&hdptxphy_hdmi1 {
	status = "disabled";
};

&i2c2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&i2c2m4_xfer>;
	clock-frequency = <400000>;

	bu18tl82: bu18tl82@10 {
		compatible = "rohm,bu18tl82";
		reg = <0x10>;
		pinctrl-names = "default";
		pinctrl-0 = <&ser0_rst_gpio>;
		reset-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_LOW>;
		sel-mipi;
		status = "okay";

		serdes-init-sequence = [
			0021 0008
			0022 0008
			0023 0009
			0024 000a
			0013 0010
			0014 0010
			002a 0018
			002d 0018
			0030 0018
			0033 0018
			02a7 0002
			02a8 0003
			02a9 0004
			02aa 0005
			0045 0080
			0046 0007
			0047 0080
			0048 0007
			004b 00d0
			004c 0002
			004d 00d0
			004e 0002
			0051 0080
			0052 0007
			0053 0000
			0054 00c0
			022b 0076
			022c 0062
			022d 0037
			024d 0061
			0252 0005
			0253 0000
			0258 0000
			025c 0000
			025f 0000
			0274 0030
			0275 0020
			032b 002f
			032c 00a1
			032d 001d
			034d 0060
			0353 0000
			0358 0000
			035c 0000
			035f 0000
			0018 00a5
			0019 0069
			0267 003d
			0268 002c
			0269 002c
			026a 002c
			026b 002c
			0367 003d
			0368 002c
			0369 002c
			036a 002c
			036b 002c
			0013 0019
			0014 0001
			022e 0080
			0296 0004
			0297 000d
			032e 0080
			038e 0000
			0396 0004
			0397 000a
			0060 0001
			0061 0001
			0018 0000
			0019 0000
			/* TL82 Pattern Gen Set 1
			 * Horizontal Gray Scale 256 steps
			 */
			040A 0010
			040B 0080
			040C 0080
			040D 0080
			0444 0019
			0445 0020
			0446 001f
		];

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

			port@0 {
				reg = <0>;

				i2c2_bu18tl82_in_dsi0: endpoint {
					remote-endpoint = <&dsi0_out_i2c2_bu18tl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c2_bu18tl82_out_i2c2_bu18rl82: endpoint {
					remote-endpoint = <&i2c2_bu18rl82_in_i2c2_bu18tl82>;
				};
			};
		};
	};

	bu18rl82: bu18rl82@30 {
		compatible = "rohm,bu18rl82";
		reg = <0x30>;
		status = "okay";
		serdes-init-sequence = [
			0011 000b
			0012 0002
			0013 0001
			001d 0008
			001f 0006
			0020 0006
			0057 0000
			0058 0002
			005a 0000
			005b 0003
			005d 0000
			005e 0001
			0060 0000
			0061 0005
			0073 0080
			0074 0007
			0075 0080
			0076 0007
			0079 0009
			007b 00d0
			007c 0002
			007d 00d0
			007e 0002
			0081 0003
			0082 000a
			0084 001e
			0086 0001
			0087 0003
			0088 0005
			0089 0014
			008b 0028
			008d 0002
			008e 0004
			008f 000f
			0090 0001
			0091 0003
			0423 00ab
			0424 00aa
			0425 001a
			0429 000a
			045d 0001
			0523 0097
			0524 00d0
			0525 000e
			0529 000a
			055d 0001
			0426 0080
			0526 0080
			/* RL82 Pattern Gen Set
			 * Vertical Gray Scale Color Bar
			 */
			060A 00B0
			060B 00FF
			060C 00FF
			060D 00FF
			0644 0019
			0645 0020
			0646 001f
		];

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

			port@0 {
				reg = <0>;

				i2c2_bu18rl82_in_i2c2_bu18tl82: endpoint {
					remote-endpoint = <&i2c2_bu18tl82_out_i2c2_bu18rl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c2_bu18rl82_out_panel0: endpoint {
					remote-endpoint = <&panel0_in_i2c2_bu18rl82>;
				};
			};
		};
	};
};

&i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c3m2_xfer>;
	clock-frequency = <400000>;
	status = "okay";

	bu18tl82@10 {
		compatible = "rohm,bu18tl82";
		reg = <0x10>;
		status = "okay";

		serdes-init-sequence = [
			0013 001a
			0014 000a
			0021 0008
			0023 0003
			0024 0003
			002a 0018
			002d 0018
			0030 0018
			0033 0018
			0045 0080
			0046 0007
			004b 0038
			004c 0004
			0053 0064
			022b 0062
			022c 0027
			022d 002e
			0274 0030
			0275 0020
			0296 0004
			0297 000d
			02b2 00c8
			02b4 0001
			02b8 00ff
			02b9 000f
			02ba 00ff
			02bb 000f
			02be 00ff
			02bf 001f
			02c2 00ff
			02c3 001f
			0396 0004
			0397 000d
			03b2 00c8
			03b4 0001
			03b8 00ff
			03b9 000f
			03ba 00ff
			03bb 000f
			03be 00ff
			03bf 001f
			03c2 00ff
			03c3 001f
			0060 0001
			0061 0003
			022e 0080
			032e 0080
			/* TL82 Pattern Gen Set 1
			 * Horizontal Gray Scale 256 steps
			 */
			040A 0010
			040B 0080
			040C 0080
			040D 0080
			0444 0019
			0445 0020
			0446 001f
		];

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

			port@0 {
				reg = <0>;

				i2c3_bu18tl82_in_dp0: endpoint {
					remote-endpoint = <&dp0_out_i2c3_bu18tl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c3_bu18tl82_out_i2c3_bu18rl82: endpoint {
					remote-endpoint = <&i2c3_bu18rl82_in_i2c3_bu18tl82>;
				};
			};
		};
	};

	bu18rl82@30 {
		compatible = "rohm,bu18rl82";
		reg = <0x30>;
		status = "okay";
		serdes-init-sequence = [
			0011 000b
			0012 0003
			0013 0001
			001d 0008
			001f 0002
			0020 0002
			0057 0000
			0058 0002
			005a 0000
			005b 0003
			005d 0000
			005e 0004
			0060 0000
			0061 0005
			0073 0080
			0074 0007
			0079 000a
			007b 0038
			007c 0004
			0081 0003
			0082 0010
			0084 0020
			0086 0002
			0087 0002
			0088 0010
			0089 0010
			008b 0020
			008d 0002
			008e 0002
			008f 0010
			00d0 0040
			00d8 0042
			00d9 0004
			0423 0002
			0424 00ec
			0425 0027
			0429 000a
			045d 0001
			0529 000a
			055d 0003
			0090 0001
			0091 0003
			0426 0080
			/* RL82 Pattern Gen Set
			 * Vertical Gray Scale Color Bar
			 */
			060A 00B0
			060B 00FF
			060C 00FF
			060D 00FF
			0644 0019
			0645 0020
			0646 001f
		];

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

			port@0 {
				reg = <0>;

				i2c3_bu18rl82_in_i2c3_bu18tl82: endpoint {
					remote-endpoint = <&i2c3_bu18tl82_out_i2c3_bu18rl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c3_bu18rl82_out_panel0: endpoint {
					remote-endpoint = <&panel0_in_i2c3_bu18rl82>;
				};
			};
		};
	};
};

&i2c5 {
	clock-frequency = <400000>;
	status = "okay";

	bu18tl82@10 {
		compatible = "rohm,bu18tl82";
		reg = <0x10>;
		status = "okay";

		serdes-init-sequence = [
			0013 001a
			0014 000a
			0021 0008
			0023 0003
			0024 0003
			002a 0018
			002d 0018
			0030 0018
			0033 0018
			0045 0080
			0046 0007
			004b 0038
			004c 0004
			0053 0064
			022b 0062
			022c 0027
			022d 002e
			0274 0030
			0275 0020
			0296 0004
			0297 000d
			02b2 00c8
			02b4 0001
			02b8 00ff
			02b9 000f
			02ba 00ff
			02bb 000f
			02be 00ff
			02bf 001f
			02c2 00ff
			02c3 001f
			0396 0004
			0397 000d
			03b2 00c8
			03b4 0001
			03b8 00ff
			03b9 000f
			03ba 00ff
			03bb 000f
			03be 00ff
			03bf 001f
			03c2 00ff
			03c3 001f
			0060 0001
			0061 0003
			022e 0080
			032e 0080
			/* TL82 Pattern Gen Set 1
			 * Horizontal Gray Scale 256 steps
			 */
			040A 0010
			040B 0080
			040C 0080
			040D 0080
			0444 0019
			0445 0020
			0446 001f
		];

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

			port@0 {
				reg = <0>;

				i2c5_bu18tl82_in_edp0: endpoint {
					remote-endpoint = <&edp0_out_i2c5_bu18tl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c5_bu18tl82_out_i2c5_bu18rl82: endpoint {
					remote-endpoint = <&i2c5_bu18rl82_in_i2c5_bu18tl82>;
				};
			};
		};
	};

	bu18rl82@30 {
		compatible = "rohm,bu18rl82";
		reg = <0x30>;
		status = "okay";
		serdes-init-sequence = [
			0011 000b
			0012 0003
			0013 0001
			001d 0008
			001f 0002
			0020 0002
			0057 0000
			0058 0002
			005a 0000
			005b 0003
			005d 0000
			005e 0004
			0060 0000
			0061 0005
			0073 0080
			0074 0007
			0079 000a
			007b 0038
			007c 0004
			0081 0003
			0082 0010
			0084 0020
			0086 0002
			0087 0002
			0088 0010
			0089 0010
			008b 0020
			008d 0002
			008e 0002
			008f 0010
			00d0 0040
			00d8 0042
			00d9 0004
			0423 0002
			0424 00ec
			0425 0027
			0429 000a
			045d 0001
			0529 000a
			055d 0003
			0090 0001
			0091 0003
			0426 0080
			/* RL82 Pattern Gen Set
			 * Vertical Gray Scale Color Bar
			 */
			060A 00B0
			060B 00FF
			060C 00FF
			060D 00FF
			0644 0019
			0645 0020
			0646 001f
		];

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

			port@0 {
				reg = <0>;

				i2c5_bu18rl82_in_i2c5_bu18tl82: endpoint {
					remote-endpoint = <&i2c5_bu18tl82_out_i2c5_bu18rl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c5_bu18rl82_out_panel0: endpoint {
					remote-endpoint = <&panel0_in_i2c5_bu18rl82>;
				};
			};
		};
	};
};

&i2c6 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&i2c6m3_xfer>;
	clock-frequency = <400000>;

	bu18tl82@10 {
		compatible = "rohm,bu18tl82";
		reg = <0x10>;
		pinctrl-names = "default";
		pinctrl-0 = <&ser1_rst_gpio>;
		reset-gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
		sel-mipi;
		status = "okay";
		serdes-init-sequence = [
			0021 0008
			0022 0008
			0023 0009
			0024 000a
			0013 0010
			0014 0010
			002a 0018
			002d 0018
			0030 0018
			0033 0018
			027c 0070
			027d 0070
			02a7 0002
			02a8 0003
			02a9 0004
			02aa 0005
			0045 0080
			0046 0007
			0047 0080
			0048 0007
			004b 00d0
			004c 0002
			004d 00d0
			004e 0002
			0051 0080
			0052 0007
			0053 0000
			0054 00c0
			022b 0076
			022c 0062
			022d 0037
			024d 0061
			0252 0005
			0253 0000
			0258 0000
			025c 0000
			025f 0000
			0274 0030
			0275 0020
			032b 002f
			032c 00a1
			032d 001d
			034d 0060
			0353 0000
			0358 0000
			035c 0000
			035f 0000
			0018 00a5
			0019 0069
			0267 003d
			0268 002c
			0269 002c
			026a 002c
			026b 002c
			0367 003d
			0368 002c
			0369 002c
			036a 002c
			036b 002c
			0013 0019
			0014 0001
			022e 0080
			0296 0004
			0297 000d
			032e 0080
			038e 0000
			0396 0004
			0397 000a
			0060 0001
			0061 0001
			0018 0000
			0019 0000
			/* TL82 Pattern Gen Set 1
			 * Horizontal Gray Scale 256 steps
			 */
			040A 0010
			040B 0080
			040C 0080
			040D 0080
			0444 0019
			0445 0020
			0446 001f
		];

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

			port@0 {
				reg = <0>;

				i2c6_bu18tl82_in_dsi1: endpoint {
					remote-endpoint = <&dsi1_out_i2c6_bu18tl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c6_bu18tl82_out_i2c6_bu18rl82: endpoint {
					remote-endpoint = <&i2c6_bu18rl82_in_i2c6_bu18tl82>;
				};
			};
		};
	};

	bu18rl82@30 {
		compatible = "rohm,bu18rl82";
		reg = <0x30>;
		status = "okay";
		serdes-init-sequence = [
			0011 000b
			0012 0002
			0013 0001
			001d 0008
			001f 0006
			0020 0006
			0031 0070
			0032 0038
			0057 0000
			0058 0002
			005a 0000
			005b 0003
			005d 0000
			005e 0001
			0060 0000
			0061 0005
			0073 0080
			0074 0007
			0075 0080
			0076 0007
			0079 0009
			007b 00d0
			007c 0002
			007d 00d0
			007e 0002
			0081 0003
			0082 000a
			0084 001e
			0086 0001
			0087 0003
			0088 0005
			0089 0014
			008b 0028
			008d 0002
			008e 0004
			008f 000f
			0090 0001
			0091 0003
			0423 00ab
			0424 00aa
			0425 001a
			0429 000a
			045d 0001
			0523 0097
			0524 00d0
			0525 000e
			0529 000a
			055d 0001
			0426 0080
			0526 0080
			/* RL82 Pattern Gen Set
			 * Vertical Gray Scale Color Bar
			 */
			060A 00B0
			060B 00FF
			060C 00FF
			060D 00FF
			0644 0019
			0645 0020
			0646 001f
		];

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

			port@0 {
				reg = <0>;

				i2c6_bu18rl82_in_i2c6_bu18tl82: endpoint {
					remote-endpoint = <&i2c6_bu18tl82_out_i2c6_bu18rl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c6_bu18rl82_out_panel1: endpoint {
					remote-endpoint = <&panel1_in_i2c6_bu18rl82>;
				};
			};
		};
	};
};

&i2c7 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c7m3_xfer>;
	clock-frequency = <400000>;
	status = "okay";

	bu18tl82@10 {
		compatible = "rohm,bu18tl82";
		reg = <0x10>;
		status = "okay";

		serdes-init-sequence = [
			0013 001a
			0014 000a
			0021 0008
			0023 0003
			0024 0003
			002a 0018
			002d 0018
			0030 0018
			0033 0018
			0045 0080
			0046 0007
			004b 0038
			004c 0004
			0053 0064
			022b 0062
			022c 0027
			022d 002e
			0274 0030
			0275 0020
			0296 0004
			0297 000d
			02b2 00c8
			02b4 0001
			02b8 00ff
			02b9 000f
			02ba 00ff
			02bb 000f
			02be 00ff
			02bf 001f
			02c2 00ff
			02c3 001f
			0396 0004
			0397 000d
			03b2 00c8
			03b4 0001
			03b8 00ff
			03b9 000f
			03ba 00ff
			03bb 000f
			03be 00ff
			03bf 001f
			03c2 00ff
			03c3 001f
			0060 0001
			0061 0003
			022e 0080
			032e 0080
			/* TL82 Pattern Gen Set 1
			 * Horizontal Gray Scale 256 steps
			 */
			040A 0010
			040B 0080
			040C 0080
			040D 0080
			0444 0019
			0445 0020
			0446 001f
		];

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

			port@0 {
				reg = <0>;

				i2c7_bu18tl82_in_edp1: endpoint {
					remote-endpoint = <&edp1_out_i2c7_bu18tl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c7_bu18tl82_out_i2c7_bu18rl82: endpoint {
					remote-endpoint = <&i2c7_bu18rl82_in_i2c7_bu18tl82>;
				};
			};
		};
	};

	bu18rl82@30 {
		compatible = "rohm,bu18rl82";
		reg = <0x30>;
		status = "okay";
		serdes-init-sequence = [
			0011 000b
			0012 0003
			0013 0001
			001d 0008
			001f 0002
			0020 0002
			0057 0000
			0058 0002
			005a 0000
			005b 0003
			005d 0000
			005e 0004
			0060 0000
			0061 0005
			0073 0080
			0074 0007
			0079 000a
			007b 0038
			007c 0004
			0081 0003
			0082 0010
			0084 0020
			0086 0002
			0087 0002
			0088 0010
			0089 0010
			008b 0020
			008d 0002
			008e 0002
			008f 0010
			00d0 0040
			00d8 0042
			00d9 0004
			0423 0002
			0424 00ec
			0425 0027
			0429 000a
			045d 0001
			0529 000a
			055d 0003
			0090 0001
			0091 0003
			0426 0080
			/* RL82 Pattern Gen Set
			 * Vertical Gray Scale Color Bar
			 */
			060A 00B0
			060B 00FF
			060C 00FF
			060D 00FF
			0644 0019
			0645 0020
			0646 001f
		];

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

			port@0 {
				reg = <0>;

				i2c7_bu18rl82_in_i2c7_bu18tl82: endpoint {
					remote-endpoint = <&i2c7_bu18tl82_out_i2c7_bu18rl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c7_bu18rl82_out_panel1: endpoint {
					remote-endpoint = <&panel1_in_i2c7_bu18rl82>;
				};
			};
		};
	};
};

&i2c8 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c8m2_xfer>;
	clock-frequency = <400000>;
	status = "okay";

	bu18tl82@10 {
		compatible = "rohm,bu18tl82";
		reg = <0x10>;
		status = "okay";

		serdes-init-sequence = [
			0013 001a
			0014 000a
			0021 0008
			0023 0003
			0024 0003
			002a 0018
			002d 0018
			0030 0018
			0033 0018
			0045 0080
			0046 0007
			004b 0038
			004c 0004
			0053 0064
			022b 0062
			022c 0027
			022d 002e
			0274 0030
			0275 0020
			0296 0004
			0297 000d
			02b2 00c8
			02b4 0001
			02b8 00ff
			02b9 000f
			02ba 00ff
			02bb 000f
			02be 00ff
			02bf 001f
			02c2 00ff
			02c3 001f
			0396 0004
			0397 000d
			03b2 00c8
			03b4 0001
			03b8 00ff
			03b9 000f
			03ba 00ff
			03bb 000f
			03be 00ff
			03bf 001f
			03c2 00ff
			03c3 001f
			0060 0001
			0061 0003
			022e 0080
			032e 0080
			/* TL82 Pattern Gen Set 1
			 * Horizontal Gray Scale 256 steps
			 */
			040A 0010
			040B 0080
			040C 0080
			040D 0080
			0444 0019
			0445 0020
			0446 001f
		];

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

			port@0 {
				reg = <0>;

				i2c8_bu18tl82_in_dp1: endpoint {
					remote-endpoint = <&dp1_out_i2c8_bu18tl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c8_bu18tl82_out_i2c8_bu18rl82: endpoint {
					remote-endpoint = <&i2c8_bu18rl82_in_i2c8_bu18tl82>;
				};
			};
		};
	};

	bu18rl82@30 {
		compatible = "rohm,bu18rl82";
		reg = <0x30>;
		status = "okay";
		serdes-init-sequence = [
			0011 000b
			0012 0003
			0013 0001
			001d 0008
			001f 0002
			0020 0002
			0057 0000
			0058 0002
			005a 0000
			005b 0003
			005d 0000
			005e 0004
			0060 0000
			0061 0005
			0073 0080
			0074 0007
			0079 000a
			007b 0038
			007c 0004
			0081 0003
			0082 0010
			0084 0020
			0086 0002
			0087 0002
			0088 0010
			0089 0010
			008b 0020
			008d 0002
			008e 0002
			008f 0010
			00d0 0040
			00d8 0042
			00d9 0004
			0423 0002
			0424 00ec
			0425 0027
			0429 000a
			045d 0001
			0529 000a
			055d 0003
			0090 0001
			0091 0003
			0426 0080
			/* RL82 Pattern Gen Set
			 * Vertical Gray Scale Color Bar
			 */
			060A 00B0
			060B 00FF
			060C 00FF
			060D 00FF
			0644 0019
			0645 0020
			0646 001f
		];

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

			port@0 {
				reg = <0>;

				i2c8_bu18rl82_in_i2c8_bu18tl82: endpoint {
					remote-endpoint = <&i2c8_bu18tl82_out_i2c8_bu18rl82>;
				};
			};

			port@1 {
				reg = <1>;

				i2c8_bu18rl82_out_panel1: endpoint {
					remote-endpoint = <&panel1_in_i2c8_bu18rl82>;
				};
			};
		};
	};
};

&mipi_dcphy0 {
	status = "okay";
};

&mipi_dcphy1 {
	status = "okay";
};


&pinctrl {

	blk {
		blk_enable_gpio: blk-enable-gpio {
			rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		blk1_enable_gpio: blk1-enable-gpio {
			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	serdes {
		ser0_rst_gpio: ser0-rst-gpio {
			rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		ser1_rst_gpio: ser1-rst-gpio {
			rockchip,pins = <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

/* dsi0->serdes->lvds_panel */
&pwm6 {
	status = "okay";
	pinctrl-0 = <&pwm6m1_pins>;
};

/* dp0->serdes->lvds_panel */
&pwm10 {
	pinctrl-0 = <&pwm10m2_pins>;
	status = "okay";
};

/* edp1->serdes->lvds_panel */
&pwm11 {
	pinctrl-0 = <&pwm11m3_pins>;
	status = "okay";
};

/* edp0->serdes->lvds_panel */
&pwm12 {
	pinctrl-0 = <&pwm12m1_pins>;
	status = "okay";
};

/* dsi1->serdes->lvds_panel */
&pwm13 {
	status = "okay";
	pinctrl-0 = <&pwm13m1_pins>;
};

/* dp1->serdes->lvds_panel */
&pwm14 {
	pinctrl-0 = <&pwm14m0_pins>;
	status = "okay";
};

&route_dp0 {
	status = "disabled";
	connect = <&vp0_out_dp0>;
	logo,uboot = "logo34.bmp";
	logo,kernel = "logo34.bmp";
};

&route_dp1 {
	status = "disabled";
	connect = <&vp0_out_dp1>;
	logo,uboot = "logo34.bmp";
	logo,kernel = "logo34.bmp";
};

&route_dsi0 {
	status = "okay";
	connect = <&vp2_out_dsi0>;
	logo,uboot = "logo1.bmp";
	logo,kernel = "logo1.bmp";
};

&route_dsi1 {
	status = "okay";
	connect = <&vp3_out_dsi1>;
	logo,uboot = "logo2.bmp";
	logo,kernel = "logo2.bmp";
};

&route_edp0 {
	status = "disabled";
	connect = <&vp1_out_edp0>;
	logo,uboot = "logo56.bmp";
	logo,kernel = "logo56.bmp";
};

&route_edp1 {
	status = "disabled";
	connect = <&vp1_out_edp1>;
	logo,uboot = "logo56.bmp";
	logo,kernel = "logo56.bmp";
};

&usbdp_phy0 {
	rockchip,dp-lane-mux = <0 1 2 3>;
	status = "okay";
};

&usbdp_phy1 {
	rockchip,dp-lane-mux = <0 1 2 3>;
	status = "okay";
};