|
|
中文 / EN
|
eDP panel configure file can be find at: "arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-edp.dtsi"
if you want enable eDP, you can add the line 'include "rk3399pro-toybrick-edp.dtsi"' from related dts file.
Power control:enable-gpios = <&gpio4 rk_pd6="" gpio_active_high="">;
Timing sample
timing0: timing0 {
clock-frequency = <200000000>;
hactive = <1536>;
vactive = <2048>;
hfront-porch = <12>;
hsync-len = <16>;
hback-porch = <48>;
vfront-porch = <8>;
vsync-len = <4>;
vback-porch = <8>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
Using the VOPB to control/out this eDP panel(We have two LCD mixer and controllers at RK3399Pro)
&edp_in_vopl {
status = "disabled";
};
&edp_in_vopb {
status = "okay";
};
Enabling the touch screen
&i2c4 {
status = "okay";
i2c-scl-rising-time-ns = <345>;
i2c-scl-falling-time-ns = <11>;
gsl3673: gsl3673@40 {
compatible = "GSL,GSL3673";
reg = <0x40>;
screen_max_x = <1536>;
screen_max_y = <2048>;
irq_gpio_number = <&gpio4 RK_PC5 IRQ_TYPE_LEVEL_LOW>;
rst_gpio_number = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
};
};
MIPI panel configure file can be find at "arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-mipi.dtsi"
Power control:enable-gpios = <&gpio4 30="" gpio_active_high="">;
The init operation of that MIPI panel
panel-init-sequence = [
05 fa 01 11
39 00 04 b9 f1 12 83
39 00 1c ba 33 81 05 f9 0e 0e 00 00 00
00 00 00 00 00 44 25 00 91 0a
00 00 02 4f 01 00 00 37
15 00 02 b8 25
39 00 04 bf 02 11 00
39 00 0b b3 0c 10 0a 50 03 ff 00 00 00
00
39 00 0a c0 73 73 50 50 00 00 08 70 00
15 00 02 bc 46
15 00 02 cc 0b
15 00 02 b4 80
39 00 04 b2 c8 12 30
39 00 0f e3 07 07 0b 0b 03 0b 00 00 00
00 ff 00 c0 10
39 00 0d c1 53 00 1e 1e 77 e1 cc dd 67
77 33 33
39 00 07 c6 00 00 ff ff 01 ff
39 00 03 b5 09 09
39 00 03 b6 87 95
39 00 40 e9 c2 10 05 05 10 05 a0 12 31
23 3f 81 0a a0 37 18 00 80 01
00 00 00 00 80 01 00 00 00 48
f8 86 42 08 88 88 80 88 88 88
58 f8 87 53 18 88 88 81 88 88
88 00 00 00 01 00 00 00 00 00
00 00 00 00
39 00 3e ea 00 1a 00 00 00 00 02 00 00
00 00 00 1f 88 81 35 78 88 88
85 88 88 88 0f 88 80 24 68 88
88 84 88 88 88 23 10 00 00 1c
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 30 05 a0 00 00
00 00
39 00 23 e0 00 06 08 2a 31 3f 38 36 07
0c 0d 11 13 12 13 11 18 00 06
08 2a 31 3f 38 36 07 0c 0d 11
13 12 13 11 18
05 32 01 29
];
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
The format of the MIPI command:
1. A full command end with a newline, a line starting with a tab, it means if follows the above command.
2. A command consists of "type + command(00 for empty) + the number of argument, argument "
Timing:
display-timings {
native-mode = <&timing1>;
iming1: timing1 {
clock-frequency = <64000000>;
hactive = <720>;
vactive = <1280>;
hfront-porch = <40>;
hsync-len = <10>;
hback-porch = <40>;
vfront-porch = <22>;
vsync-len = <4>;
vback-porch = <11>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
We use the VOPL for MIPI panel here:
&dsi_in_vopl {
status = "okay";
};
&dsi_in_vopb {
status = "disabled";
};
Touch screen
&i2c4 {
status = "okay";
gt1x: gt1x@14 {
status = "okay";
compatible = "goodix,gt1x";
reg = <0x14>;
goodix,rst-gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
goodix,irq-gpio = <&gpio4 RK_PC5 IRQ_TYPE_LEVEL_LOW>;
goodix,enable-gpio = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>;
};
};
Attention: both HDMI, DP and eDP would use VOPB in the default configure, so you can't use them at the same time