/** * rpdzkj lcd configuration */ #define RP_DUAL_LCD &dsi0 { status = "okay"; rockchip,lane-rate = <480>; dsi0_panel: panel@0 { status = "okay"; compatible = "simple-panel-dsi"; reg = <0>; reset-delay-ms = <60>; init-delay-ms = <60>; enable-delay-ms = <60>; prepare-delay-ms = <60>; unprepare-delay-ms = <60>; disable-delay-ms = <60>; dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; dsi,format = ; dsi,lanes = <4>; /** * power-supply = <>; * reset-gpios = <>; * * lcd reset pin and power supply * please refer to ***-lcd-gpio.dtsi * that included in main dts. */ panel-init-sequence = [ 39 00 04 FF 98 81 03 //=========_1===========// 39 00 02 01 00 39 00 02 02 00 39 00 02 03 53 39 00 02 04 13 39 00 02 05 00 39 00 02 06 04 39 00 02 07 00 39 00 02 08 00 39 00 02 09 22 39 00 02 0a 22 39 00 02 0b 00 39 00 02 0c 01 39 00 02 0d 00 39 00 02 0e 00 39 00 02 0f 23 39 00 02 10 23 39 00 02 11 00 39 00 02 12 00 39 00 02 13 00 39 00 02 14 00 39 00 02 15 00 39 00 02 16 00 39 00 02 17 00 39 00 02 18 00 39 00 02 19 00 39 00 02 1a 00 39 00 02 1b 00 39 00 02 1c 00 39 00 02 1d 00 39 00 02 1e 44 39 00 02 1f 80 39 00 02 20 02 39 00 02 21 03 39 00 02 22 00 39 00 02 23 00 39 00 02 24 00 39 00 02 25 00 39 00 02 26 00 39 00 02 27 00 39 00 02 28 33 39 00 02 29 03 39 00 02 2a 00 39 00 02 2b 00 39 00 02 2c 00 39 00 02 2d 00 39 00 02 2e 00 39 00 02 2f 00 39 00 02 30 00 39 00 02 31 00 39 00 02 32 00 39 00 02 33 00 39 00 02 34 04 39 00 02 35 00 39 00 02 36 00 39 00 02 37 00 39 00 02 38 3C 39 00 02 39 00 39 00 02 3a 40 39 00 02 3b 40 39 00 02 3c 00 39 00 02 3d 00 39 00 02 3e 00 39 00 02 3f 00 39 00 02 40 00 39 00 02 41 00 39 00 02 42 00 39 00 02 43 00 39 00 02 44 00 //=========_2===========// 39 00 02 50 01 39 00 02 51 23 39 00 02 52 45 39 00 02 53 67 39 00 02 54 89 39 00 02 55 ab 39 00 02 56 01 39 00 02 57 23 39 00 02 58 45 39 00 02 59 67 39 00 02 5a 89 39 00 02 5b ab 39 00 02 5c cd 39 00 02 5d ef //=========_3===========// 39 00 02 5e 11 39 00 02 5f 01 39 00 02 60 00 39 00 02 61 15 39 00 02 62 14 39 00 02 63 0C 39 00 02 64 0D 39 00 02 65 0E 39 00 02 66 0F 39 00 02 67 06 39 00 02 68 02 39 00 02 69 02 39 00 02 6a 02 39 00 02 6b 02 39 00 02 6c 02 39 00 02 6d 02 39 00 02 6e 08 39 00 02 6f 02 39 00 02 70 02 39 00 02 71 02 39 00 02 72 02 39 00 02 73 02 39 00 02 74 02 39 00 02 75 01 39 00 02 76 00 39 00 02 77 15 39 00 02 78 14 39 00 02 79 0C 39 00 02 7a 0D 39 00 02 7b 0E 39 00 02 7c 0F 39 00 02 7D 08 39 00 02 7E 02 39 00 02 7F 02 39 00 02 80 02 39 00 02 81 02 39 00 02 82 02 39 00 02 83 02 39 00 02 84 06 39 00 02 85 02 39 00 02 86 02 39 00 02 87 02 39 00 02 88 02 39 00 02 89 02 39 00 02 8A 02 //CMD_Page 39 00 04 FF 98 81 04 39 00 02 6C 15 39 00 02 6E 3B 39 00 02 6F 73 39 00 02 3A 24 39 00 02 8D 14 39 00 02 87 BA 39 00 02 26 76 39 00 02 B2 D1 39 00 02 B5 27 39 00 02 31 75 39 00 02 30 03 39 00 02 3B 98 39 00 02 35 1f 39 00 02 33 14 39 00 02 7A 0F 39 00 02 38 02 39 00 02 39 00 //CMD_Page 39 00 04 FF 98 81 01 39 00 02 22 0A 39 00 02 31 0A 39 00 02 35 07 39 00 02 52 00 39 00 02 53 5A 39 00 02 54 00 39 00 02 55 59 39 00 02 50 83 39 00 02 51 80 39 00 02 60 20 39 00 02 61 01 39 00 02 62 07 39 00 02 63 00 //GammaP 39 00 02 A0 08 39 00 02 A1 0F 39 00 02 A2 15 39 00 02 A3 0E 39 00 02 A4 0D 39 00 02 A5 1B 39 00 02 A6 0F 39 00 02 A7 14 39 00 02 A8 33 39 00 02 A9 17 39 00 02 AA 23 39 00 02 AB 3F 39 00 02 AC 22 39 00 02 AD 24 39 00 02 AE 59 39 00 02 AF 2B 39 00 02 B0 2E 39 00 02 B1 4C 39 00 02 B2 5C 39 00 02 B3 33 //GammaN 39 00 02 C0 08 39 00 02 C1 0F 39 00 02 C2 15 39 00 02 C3 0E 39 00 02 C4 0D 39 00 02 C5 1B 39 00 02 C6 0F 39 00 02 C7 14 39 00 02 C8 33 39 00 02 C9 17 39 00 02 CA 23 39 00 02 CB 3F 39 00 02 CC 22 39 00 02 CD 24 39 00 02 CE 59 39 00 02 CF 2B 39 00 02 D0 2E 39 00 02 D1 4C 39 00 02 D2 5C 39 00 02 D3 33 //CMD_Page 39 00 04 FF 98 81 00 05 78 01 11 //sleep out 05 00 01 29 //display on 05 00 01 35 //TE on ]; panel-exit-sequence = [ 05 00 01 28 05 78 01 10 ]; disp_timings0: display-timings { native-mode = <&dsi0_timing0>; dsi0_timing0: timing0 { clock-frequency = <76000000>; hactive = <800>; vactive = <1280>; hback-porch = <60>; hfront-porch = <60>; vback-porch = <30>; vfront-porch = <20>; hsync-len = <30>; vsync-len = <2>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; }; }; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; panel_in_dsi: endpoint { remote-endpoint = <&dsi_out_panel>; }; }; }; }; ports { #address-cells = <1>; #size-cells = <0>; port@1 { reg = <1>; dsi_out_panel: endpoint { remote-endpoint = <&panel_in_dsi>; }; }; }; }; &dsi1 { status = "okay"; rockchip,lane-rate = <480>; dsi1_panel: panel@0 { status = "okay"; compatible = "simple-panel-dsi"; reg = <0>; reset-delay-ms = <60>; init-delay-ms = <60>; enable-delay-ms = <60>; prepare-delay-ms = <60>; unprepare-delay-ms = <60>; disable-delay-ms = <60>; dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; dsi,format = ; dsi,lanes = <4>; /** * power-supply = <>; * reset-gpios = <>; * * lcd reset pin and power supply * please refer to ***-lcd-gpio.dtsi * that included in main dts. */ panel-init-sequence = [ 39 00 04 FF 98 81 03 //=========_1===========// 39 00 02 01 00 39 00 02 02 00 39 00 02 03 53 39 00 02 04 13 39 00 02 05 00 39 00 02 06 04 39 00 02 07 00 39 00 02 08 00 39 00 02 09 22 39 00 02 0a 22 39 00 02 0b 00 39 00 02 0c 01 39 00 02 0d 00 39 00 02 0e 00 39 00 02 0f 23 39 00 02 10 23 39 00 02 11 00 39 00 02 12 00 39 00 02 13 00 39 00 02 14 00 39 00 02 15 00 39 00 02 16 00 39 00 02 17 00 39 00 02 18 00 39 00 02 19 00 39 00 02 1a 00 39 00 02 1b 00 39 00 02 1c 00 39 00 02 1d 00 39 00 02 1e 44 39 00 02 1f 80 39 00 02 20 02 39 00 02 21 03 39 00 02 22 00 39 00 02 23 00 39 00 02 24 00 39 00 02 25 00 39 00 02 26 00 39 00 02 27 00 39 00 02 28 33 39 00 02 29 03 39 00 02 2a 00 39 00 02 2b 00 39 00 02 2c 00 39 00 02 2d 00 39 00 02 2e 00 39 00 02 2f 00 39 00 02 30 00 39 00 02 31 00 39 00 02 32 00 39 00 02 33 00 39 00 02 34 04 39 00 02 35 00 39 00 02 36 00 39 00 02 37 00 39 00 02 38 3C 39 00 02 39 00 39 00 02 3a 40 39 00 02 3b 40 39 00 02 3c 00 39 00 02 3d 00 39 00 02 3e 00 39 00 02 3f 00 39 00 02 40 00 39 00 02 41 00 39 00 02 42 00 39 00 02 43 00 39 00 02 44 00 //=========_2===========// 39 00 02 50 01 39 00 02 51 23 39 00 02 52 45 39 00 02 53 67 39 00 02 54 89 39 00 02 55 ab 39 00 02 56 01 39 00 02 57 23 39 00 02 58 45 39 00 02 59 67 39 00 02 5a 89 39 00 02 5b ab 39 00 02 5c cd 39 00 02 5d ef //=========_3===========// 39 00 02 5e 11 39 00 02 5f 01 39 00 02 60 00 39 00 02 61 15 39 00 02 62 14 39 00 02 63 0C 39 00 02 64 0D 39 00 02 65 0E 39 00 02 66 0F 39 00 02 67 06 39 00 02 68 02 39 00 02 69 02 39 00 02 6a 02 39 00 02 6b 02 39 00 02 6c 02 39 00 02 6d 02 39 00 02 6e 08 39 00 02 6f 02 39 00 02 70 02 39 00 02 71 02 39 00 02 72 02 39 00 02 73 02 39 00 02 74 02 39 00 02 75 01 39 00 02 76 00 39 00 02 77 15 39 00 02 78 14 39 00 02 79 0C 39 00 02 7a 0D 39 00 02 7b 0E 39 00 02 7c 0F 39 00 02 7D 08 39 00 02 7E 02 39 00 02 7F 02 39 00 02 80 02 39 00 02 81 02 39 00 02 82 02 39 00 02 83 02 39 00 02 84 06 39 00 02 85 02 39 00 02 86 02 39 00 02 87 02 39 00 02 88 02 39 00 02 89 02 39 00 02 8A 02 //CMD_Page 39 00 04 FF 98 81 04 39 00 02 6C 15 39 00 02 6E 3B 39 00 02 6F 73 39 00 02 3A 24 39 00 02 8D 14 39 00 02 87 BA 39 00 02 26 76 39 00 02 B2 D1 39 00 02 B5 27 39 00 02 31 75 39 00 02 30 03 39 00 02 3B 98 39 00 02 35 1f 39 00 02 33 14 39 00 02 7A 0F 39 00 02 38 02 39 00 02 39 00 //CMD_Page 39 00 04 FF 98 81 01 39 00 02 22 0A 39 00 02 31 0A 39 00 02 35 07 39 00 02 52 00 39 00 02 53 5A 39 00 02 54 00 39 00 02 55 59 39 00 02 50 83 39 00 02 51 80 39 00 02 60 20 39 00 02 61 01 39 00 02 62 07 39 00 02 63 00 //GammaP 39 00 02 A0 08 39 00 02 A1 0F 39 00 02 A2 15 39 00 02 A3 0E 39 00 02 A4 0D 39 00 02 A5 1B 39 00 02 A6 0F 39 00 02 A7 14 39 00 02 A8 33 39 00 02 A9 17 39 00 02 AA 23 39 00 02 AB 3F 39 00 02 AC 22 39 00 02 AD 24 39 00 02 AE 59 39 00 02 AF 2B 39 00 02 B0 2E 39 00 02 B1 4C 39 00 02 B2 5C 39 00 02 B3 33 //GammaN 39 00 02 C0 08 39 00 02 C1 0F 39 00 02 C2 15 39 00 02 C3 0E 39 00 02 C4 0D 39 00 02 C5 1B 39 00 02 C6 0F 39 00 02 C7 14 39 00 02 C8 33 39 00 02 C9 17 39 00 02 CA 23 39 00 02 CB 3F 39 00 02 CC 22 39 00 02 CD 24 39 00 02 CE 59 39 00 02 CF 2B 39 00 02 D0 2E 39 00 02 D1 4C 39 00 02 D2 5C 39 00 02 D3 33 //CMD_Page 39 00 04 FF 98 81 00 05 78 01 11 //sleep out 05 00 01 29 //display on 05 00 01 35 //TE on ]; panel-exit-sequence = [ 05 00 01 28 05 78 01 10 ]; disp_timings1: display-timings { native-mode = <&dsi1_timing0>; dsi1_timing0: timing1 { clock-frequency = <76000000>; hactive = <800>; vactive = <1280>; hback-porch = <60>; hfront-porch = <60>; vback-porch = <30>; vfront-porch = <20>; hsync-len = <30>; vsync-len = <2>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; }; }; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; panel_in_dsi1: endpoint { remote-endpoint = <&dsi1_out_panel>; }; }; }; }; ports { #address-cells = <1>; #size-cells = <0>; port@1 { reg = <1>; dsi1_out_panel: endpoint { remote-endpoint = <&panel_in_dsi1>; }; }; }; }; &dsi0_in_vp0 { status = "disabled"; }; &dsi0_in_vp1 { status = "okay"; }; &dsi1_in_vp0 { status = "okay"; }; &dsi1_in_vp1 { status = "disabled"; }; &video_phy0 { status = "okay"; }; &video_phy1 { status = "okay"; }; &route_dsi1 { status = "okay"; connect = <&vp0_out_dsi1>; }; &route_dsi0 { status = "okay"; connect = <&vp1_out_dsi0>; }; >9xx { status = "okay"; compatible = "goodix,gt9xx"; reg = <0x5d>; gtp_resolution_x = <800>; gtp_resolution_y = <1280>; gtp_int_tarigger = <1>; gtp_change_x2y = <0>; gtp_overturn_x = <0>; gtp_overturn_y = <0>; gtp_send_cfg = <1>; gtp_touch_wakeup = <1>; /** * goodix_rst_gpio = <>; * goodix_irq_gpio = <>; * * touch panel interrupt and reset pin * please refer to ***-lcd-gpio.dtsi * that included in main dts. */ #if 0 /* old touchscreen sensor_id0, reserve for some customer maybe using */ goodix,cfg-group0 = [ 00 20 03 00 05 0A 05 00 01 08 28 05 50 32 03 05 00 00 00 00 00 00 00 00 00 00 00 90 30 AA 17 15 31 0D 00 00 01 B9 04 25 00 00 00 00 00 00 00 00 00 00 00 0F 23 94 C5 02 07 00 00 04 9F 10 00 8B 13 00 7C 16 00 6B 1B 00 60 20 00 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 18 17 16 15 14 11 10 0F 0E 0D 0C 09 08 07 06 05 04 01 00 00 00 00 00 00 00 00 00 00 00 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1C 1B 19 00 02 04 06 07 08 0A 0C 0D 0E 0F 10 11 12 13 14 00 00 00 00 00 00 00 00 00 00 96 01 ]; #endif /** ic 9271_1020 sensor_id0, v3 add 20211104 */ goodix,cfg-group0 = [ 59 20 03 00 05 0A 05 00 01 08 28 05 5A 46 03 05 00 00 00 00 00 00 00 17 19 1B 14 8E 2E 99 37 39 D3 07 00 00 01 81 02 2D 00 00 00 00 00 00 00 00 00 00 00 28 78 94 C5 02 07 00 00 04 9A 2C 00 80 37 00 6B 45 00 5C 56 00 50 6C 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 16 15 14 11 10 0F 0E 0D 0C 09 08 07 06 05 04 01 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 02 04 06 07 08 0A 0C 0D 0F 10 11 12 28 27 26 25 24 23 22 21 20 1F 1E 1C 1B 19 13 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 BF 01 ]; /* touchscreen sensor_id2 */ goodix,cfg-group2 = [ 00 20 03 00 05 0A 35 00 00 05 28 08 55 41 03 05 00 00 00 00 00 00 00 1A 1C 1E 14 8E 2E 99 14 16 D3 07 00 00 00 9B 02 2D 00 00 00 00 00 00 00 00 00 00 00 0F 23 94 D5 02 07 00 00 04 9D 10 00 86 13 00 75 16 00 61 1B 00 53 20 00 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 16 15 14 11 10 0F 0E 0D 0C 09 08 07 06 05 04 01 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 02 04 06 07 08 0A 0C 0D 0F 10 11 12 13 28 27 26 25 24 23 22 21 20 1F 1E 1C 1B 19 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 4D 01 ]; };