点屏调试,除了核对硬件接口、电压外,屏的模拟电压VSN,VSP也需要。
再就是使用初始化代码对屏进行初始化。
屏电压的上电时序要对。供电上电时序不对,会造成点屏异常。
现举一例,如图:
这就是典型上电时序错了的亮屏特点。
原因是:屏的主电源打开且数据初始化完成后再开启VSN,VSP电压的问题。
应当先开启VSN,VSP电压(比如 ﹢4.9V,-4.9V),再开启屏的主电压并进行数据初始化。
摸不清楚状况,以为是屏出了问题,或者是接口插座没焊好,再或者是驱动芯片出了问题。
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2024 Rockchip Electronics Co., Ltd.
*
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/rk-input.h>
#include <dt-bindings/display/drm_mipi_dsi.h>
&dsi0 {
status = "Rockchip";
rockchip,lane-rate = <1000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
reset-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 = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
23 00 02 B0 05 //Page5
23 00 02 B3 52 //Data Settle
23 00 02 B8 7F //Master OSC FIX
23 00 02 BC 20 //Disable ERR
23 00 02 D6 7F //Slave OSC FIX
23 00 02 B0 01 //Page 1
23 00 02 C0 00
23 00 02 C1 00
23 00 02 C2 26
23 00 02 C3 00
23 00 02 C4 00
23 00 02 C5 00
23 00 02 C6 4D
23 00 02 C7 00
23 00 02 C8 05
23 00 02 C9 07
23 00 02 CA 09
23 00 02 CB 0B
23 00 02 CC 1B
23 00 02 CD 1D
23 00 02 CE 01
23 00 02 CF 03
23 00 02 D0 17
23 00 02 D1 00
23 00 02 D2 24
23 00 02 D3 24
23 00 02 D4 00
23 00 02 D5 00
23 00 02 D6 26
23 00 02 D7 00
23 00 02 D8 00
23 00 02 D9 00
23 00 02 DA 4D
23 00 02 DB 00
23 00 02 DC 06
23 00 02 DD 08
23 00 02 DE 0A
23 00 02 DF 0C
23 00 02 E0 1C
23 00 02 E1 1E
23 00 02 E2 02
23 00 02 E3 04
23 00 02 E4 18
23 00 02 E5 00
23 00 02 E6