admin管理员组

文章数量:1543380

gvim  推荐配置

set nu 
set tabstop=4 
set autoindent 
set smartindent 
set shiftwidth=4
"set guifont=SimSun-ExtB:h18:cGB2312:qDRAFT 
set guifont=Courier\ New:h17
colorscheme desert 
set nobackup 
set noundofile 
set noswapfile

马尔莫


1|malmo:/ # ls   ./sys/firmware/devicetree/base/soc/qcom,mdss_mdp@5e00000/qcom,mdss_dsi_mot_boe_vtdr6130a_ft3683g_667_1080x2400_dsc_cmd
name                                qcom,mdss-dsi-bllp-power-mode       qcom,mdss-dsi-lane-1-state                            qcom,mdss-dsi-panel-local-hbm-enabled            qcom,mdss-dsi-te-dcs-command
phandle                             qcom,mdss-dsi-border-color          qcom,mdss-dsi-lane-2-state                            qcom,mdss-dsi-panel-local-hbm-wait-fps-count     qcom,mdss-dsi-te-pin-select
qcom,cellid-read-enabled            qcom,mdss-dsi-bpp                   qcom,mdss-dsi-lane-3-state                            qcom,mdss-dsi-panel-local-hbm-wait-fps-interval  qcom,mdss-dsi-te-using-te-pin
qcom,dsi-ctrl-num                   qcom,mdss-dsi-color-order           qcom,mdss-dsi-lp11-init                               qcom,mdss-dsi-panel-name                         qcom,mdss-dsi-traffic-mode
qcom,dsi-phy-num                    qcom,mdss-dsi-dc-off-command        qcom,mdss-dsi-mdp-trigger                             qcom,mdss-dsi-panel-physical-type                qcom,mdss-dsi-tx-eot-append
qcom,dsi-select-clocks              qcom,mdss-dsi-dc-off-command-state  qcom,mdss-dsi-no-panel-on-read-support                qcom,mdss-dsi-panel-status-check-mode            qcom,mdss-dsi-underflow-color
qcom,esd-check-enabled              qcom,mdss-dsi-dc-on-command         qcom,mdss-dsi-panel-bl-num                            qcom,mdss-dsi-panel-status-command               qcom,mdss-dsi-virtual-channel-id
qcom,mdss-brightness-max-level      qcom,mdss-dsi-dc-on-command-state   qcom,mdss-dsi-panel-cellid-command                    qcom,mdss-dsi-panel-status-command-state         qcom,mdss-pan-physical-height-dimension
qcom,mdss-dsi-bl-default-level      qcom,mdss-dsi-display-timings       qcom,mdss-dsi-panel-cellid-read-length                qcom,mdss-dsi-panel-status-read-length           qcom,mdss-pan-physical-width-dimension
qcom,mdss-dsi-bl-inverted-dbv       qcom,mdss-dsi-dma-trigger           qcom,mdss-dsi-panel-lhbm-not-allowed-fps-list         qcom,mdss-dsi-panel-status-value                 qcom,panel-supply-entries
qcom,mdss-dsi-bl-is-exponent        qcom,mdss-dsi-hbm-fod               qcom,mdss-dsi-panel-lhbm-wait-fps-valid               qcom,mdss-dsi-panel-supplier                     qcom,platform-reset-gpio
qcom,mdss-dsi-bl-max-level          qcom,mdss-dsi-hbm-fod-on-command    qcom,mdss-dsi-panel-local-hbm-DC-HYBIRD-THRESHOLD-BL  qcom,mdss-dsi-panel-type                         qcom,platform-te-gpio
qcom,mdss-dsi-bl-min-level          qcom,mdss-dsi-hbm-off-command       qcom,mdss-dsi-panel-local-hbm-alpha-register          qcom,mdss-dsi-reset-sequence
qcom,mdss-dsi-bl-pmic-control-type  qcom,mdss-dsi-hbm-on-command        qcom,mdss-dsi-panel-local-hbm-alpha-size              qcom,mdss-dsi-stream
qcom,mdss-dsi-bllp-eof-power-mode   qcom,mdss-dsi-lane-0-state          qcom,mdss-dsi-panel-local-hbm-alpha-table             qcom,mdss-dsi-te-check-enable


  ./sys/firmware/devicetree/base/soc/qcom,mdss_mdp@5e00000/qcom,mdss_dsi_mot_boe_vtdr6130a_ft3683g_667_1080x2400_dsc_cmd/qcom,mdss-dsi-display-timings/timing@0                                                                            <
name                             qcom,mdss-dsc-block-prediction-enable  qcom,mdss-dsi-h-back-porch    qcom,mdss-dsi-h-sync-skew        qcom,mdss-dsi-panel-height                 qcom,mdss-dsi-v-back-porch
qcom,compression-mode            qcom,mdss-dsc-slice-height             qcom,mdss-dsi-h-front-porch   qcom,mdss-dsi-off-command        qcom,mdss-dsi-panel-jitter                 qcom,mdss-dsi-v-bottom-border
qcom,default-topology-index      qcom,mdss-dsc-slice-per-pkt            qcom,mdss-dsi-h-left-border   qcom,mdss-dsi-off-command-state  qcom,mdss-dsi-panel-phy-timings            qcom,mdss-dsi-v-front-porch
qcom,display-topology            qcom,mdss-dsc-slice-width              qcom,mdss-dsi-h-pulse-width   qcom,mdss-dsi-on-command         qcom,mdss-dsi-panel-width                  qcom,mdss-dsi-v-pulse-width
qcom,mdss-dsc-bit-per-component  qcom,mdss-dsc-version                  qcom,mdss-dsi-h-right-border  qcom,mdss-dsi-on-command-state   qcom,mdss-dsi-timing-switch-command        qcom,mdss-dsi-v-top-border
qcom,mdss-dsc-bit-per-pixel      qcom,mdss-dsi-cmd-mode                 qcom,mdss-dsi-h-sync-pulse    qcom,mdss-dsi-panel-framerate    qcom,mdss-dsi-timing-switch-command-state
malmo:/ #


qcom,mdss-dsi-display-timings/

qcom,mdss-dsi-on-command


adb shell   od   -t  x1    ./sys/firmware/devicetree/base/soc/qcom,mdss_mdp@5e00000/qcom,mdss_dsi_mot_boe_vtdr6130a_ft3683g_667_1080x2400_dsc_cmd/qcom,mdss-dsi-display-timings/timing@0/qcom,mdss-dsi-on-command


改后:

name                                qcom,mdss-dsi-bllp-power-mode       qcom,mdss-dsi-lane-1-state                            qcom,mdss-dsi-panel-local-hbm-enabled            qcom,mdss-dsi-te-dcs-command
phandle                             qcom,mdss-dsi-border-color          qcom,mdss-dsi-lane-2-state                            qcom,mdss-dsi-panel-local-hbm-wait-fps-count     qcom,mdss-dsi-te-pin-select
qcom,cellid-read-enabled            qcom,mdss-dsi-bpp                   qcom,mdss-dsi-lane-3-state                            qcom,mdss-dsi-panel-local-hbm-wait-fps-interval  qcom,mdss-dsi-te-using-te-pin
qcom,dsi-ctrl-num                   qcom,mdss-dsi-color-order           qcom,mdss-dsi-lp11-init                               qcom,mdss-dsi-panel-name                         qcom,mdss-dsi-traffic-mode
qcom,dsi-phy-num                    qcom,mdss-dsi-dc-off-command        qcom,mdss-dsi-mdp-trigger                             qcom,mdss-dsi-panel-physical-type                qcom,mdss-dsi-tx-eot-append
qcom,dsi-select-clocks              qcom,mdss-dsi-dc-off-command-state  qcom,mdss-dsi-no-panel-on-read-support                qcom,mdss-dsi-panel-status-check-mode            qcom,mdss-dsi-underflow-color
qcom,esd-check-enabled              qcom,mdss-dsi-dc-on-command         qcom,mdss-dsi-panel-bl-num                            qcom,mdss-dsi-panel-status-command               qcom,mdss-dsi-virtual-channel-id
qcom,mdss-brightness-max-level      qcom,mdss-dsi-dc-on-command-state   qcom,mdss-dsi-panel-cellid-command                    qcom,mdss-dsi-panel-status-command-state         qcom,mdss-pan-physical-height-dimension
qcom,mdss-dsi-bl-default-level      qcom,mdss-dsi-display-timings       qcom,mdss-dsi-panel-cellid-read-length                qcom,mdss-dsi-panel-status-read-length           qcom,mdss-pan-physical-width-dimension
qcom,mdss-dsi-bl-inverted-dbv       qcom,mdss-dsi-dma-trigger           qcom,mdss-dsi-panel-lhbm-not-allowed-fps-list         qcom,mdss-dsi-panel-status-value                 qcom,panel-supply-entries
qcom,mdss-dsi-bl-is-exponent        qcom,mdss-dsi-hbm-fod               qcom,mdss-dsi-panel-lhbm-wait-fps-valid               qcom,mdss-dsi-panel-supplier                     qcom,platform-reset-gpio
qcom,mdss-dsi-bl-max-level          qcom,mdss-dsi-hbm-fod-on-command    qcom,mdss-dsi-panel-local-hbm-DC-HYBIRD-THRESHOLD-BL  qcom,mdss-dsi-panel-type                         qcom,platform-te-gpio
qcom,mdss-dsi-bl-min-level          qcom,mdss-dsi-hbm-off-command       qcom,mdss-dsi-panel-local-hbm-alpha-register          qcom,mdss-dsi-reset-sequence
qcom,mdss-dsi-bl-pmic-control-type  qcom,mdss-dsi-hbm-on-command        qcom,mdss-dsi-panel-local-hbm-alpha-size              qcom,mdss-dsi-stream
qcom,mdss-dsi-bllp-eof-power-mode   qcom,mdss-dsi-lane-0-state          qcom,mdss-dsi-panel-local-hbm-alpha-table             qcom,mdss-dsi-te-check-enable

malmo:/ # ls     ./sys/firmware/devicetree/base/soc/qcom,mdss_mdp@5e00000/qcom,mdss_dsi_mot_boe_vtdr6130a_ft3683g_667_1080x2400_dsc_cmd/qcom,mdss-dsi-display-timings/timing@0
name                                   qcom,mdss-dsc-slice-height   qcom,mdss-dsi-h-left-border      qcom,mdss-dsi-nolp-command        qcom,mdss-dsi-panel-height                 qcom,mdss-dsi-v-bottom-border
qcom,compression-mode                  qcom,mdss-dsc-slice-per-pkt  qcom,mdss-dsi-h-pulse-width      qcom,mdss-dsi-nolp-command-state  qcom,mdss-dsi-panel-jitter                 qcom,mdss-dsi-v-front-porch
qcom,default-topology-index            qcom,mdss-dsc-slice-width    qcom,mdss-dsi-h-right-border     qcom,mdss-dsi-off-command         qcom,mdss-dsi-panel-phy-timings            qcom,mdss-dsi-v-pulse-width
qcom,display-topology                  qcom,mdss-dsc-version        qcom,mdss-dsi-h-sync-pulse       qcom,mdss-dsi-off-command-state   qcom,mdss-dsi-panel-width                  qcom,mdss-dsi-v-top-border
qcom,mdss-dsc-bit-per-component        qcom,mdss-dsi-cmd-mode       qcom,mdss-dsi-h-sync-skew        qcom,mdss-dsi-on-command          qcom,mdss-dsi-timing-switch-command
qcom,mdss-dsc-bit-per-pixel            qcom,mdss-dsi-h-back-porch   qcom,mdss-dsi-lp1-command        qcom,mdss-dsi-on-command-state    qcom,mdss-dsi-timing-switch-command-state
qcom,mdss-dsc-block-prediction-enable  qcom,mdss-dsi-h-front-porch  qcom,mdss-dsi-lp1-command-state  qcom,mdss-dsi-panel-framerate     qcom,mdss-dsi-v-back-porch


搜 mipi  timing:
./sys/firmware/devicetree/base/soc/qcom,mdss_mdp@5e00000/qcom,mdss_dsi_mot_boe_vtdr6130a_ft3683g_667_1080x2400_dsc_cmd/qcom,mdss-dsi-display-timings

qcom,mdss-dsi-panel-phy-timings

ls   ./sys/firmware/devicetree/base/soc/qcom,mdss_mdp@5e00000/qcom,mdss_dsi_mot_tm_icna3508_ft3683g_667_1080x2400_dsc_vid/qcom,mdss-dsi-display-timings/timing@0/


adb  root   获取root
adb reboot   edl
fastboot  oem  edl


fastboot flash dtbo   dtbo.img


https://oa.huaqin/workflow/request/ManageRequestNoForm.jsp?viewdoc=&fromFlowDoc=&f_weaver_belongto_userid=474949&f_weaver_belongto_usertype=0&uselessFlag=&requestid=18265874&isrequest=0&isovertime=0&isaffirmance=&reEdit=1&seeflowdoc=0&isworkflowdoc=0&isfromtab=false&isSubmitDirect=#


https://oa.huaqin/wui/main.jsp?templateId=1   -  人事  - 保密区  -

P963F10 手动灭亮屏的打印: 相比于电源键 dpu 等未reset

6,33118,6687299931,c1,-,caller=T662;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:0 => 0 min_level:116,33119,6687306422,c6,-,caller=T596;[drm][ dpms_mode_store] input dpms mode is 36,33120,6687306435,c6,-,caller=T596;[drm] dsi_panel_set_dpms_mode(just skip it)6,33121,6687306510,c6,-,caller=T596;[drm] sprd_dsi_connector_best_encoder()6,33122,6687306514,c6,-,caller=T596;[drm] sprd_dsi_connector_best_encoder()6,33123,6687306520,c6,-,caller=T596;[drm] sprd_dsi_encoder_atomic_check()6,33124,6687306537,c6,-,caller=T596;[drm] sprd_dsi_encoder_disable(last_dpms=0, dpms=3)6,33125,6687309977,c7,-,caller=T596;[drm][ dpu_stop] dpu stop6,33126,6687309995,c7,-,caller=T596;[drm] sprd_dpu_disable_vblank()6,33127,6687310008,c7,-,caller=T596;[drm] sprd_panel_disable() cmds_len=106,33129,6687310025,c7,-,caller=T596;[drm][lcd_tpd_notifier_callback] [SPRD_LCD]lcd_tpd_notifier_callback:lcd suspend power off6,33131,66873100

P963F10  手动灭亮屏的打印:  相比于电源键  dpu  等未reset

6,33118,6687299931,c1,-,caller=T662;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:0 => 0 min_level:11

6,33119,6687306422,c6,-,caller=T596;[drm][     dpms_mode_store] input dpms mode is 3

6,33120,6687306435,c6,-,caller=T596;[drm] dsi_panel_set_dpms_mode(just skip it)

6,33121,6687306510,c6,-,caller=T596;[drm] sprd_dsi_connector_best_encoder()

6,33122,6687306514,c6,-,caller=T596;[drm] sprd_dsi_connector_best_encoder()

6,33123,6687306520,c6,-,caller=T596;[drm] sprd_dsi_encoder_atomic_check()

6,33124,6687306537,c6,-,caller=T596;[drm] sprd_dsi_encoder_disable(last_dpms=0, dpms=3)

6,33125,6687309977,c7,-,caller=T596;[drm][            dpu_stop] dpu stop

6,33126,6687309995,c7,-,caller=T596;[drm] sprd_dpu_disable_vblank()

6,33127,6687310008,c7,-,caller=T596;[drm] sprd_panel_disable() cmds_len=10

6,33129,6687310025,c7,-,caller=T596;[drm][lcd_tpd_notifier_callback] [SPRD_LCD]lcd_tpd_notifier_callback:lcd suspend power off

6,33131,6687310069,c7,-,caller=T596;[drm][sprd_pwm_backlight_update] last_backlevel == level,no set 0 => 0

6,33140,6687464822,c0,-,caller=T596;[drm] sprd_panel_unprepare()

6,33141,6687464831,c0,-,caller=T596;[drm] sprd_panel_unprepare() set lcd reset_gpio to 1

6,33142,6687594919,c7,-,caller=T596;[drm] sprd_panel_unprepare() tpd: suspend don' need power on, lcd power off

6,33144,6687594983,c7,-,caller=T596;[drm] sprd_dpu_atomic_disable()

6,33145,6687605095,c7,-,caller=T350;[disp-pm-domain][drm][ sprd_disp_power_off] disp power domain off

6,33177,6688967754,c1,-,caller=T596;[drm][     dpms_mode_store] input dpms mode is 0

6,33178,6688967764,c1,-,caller=T596;[drm] dsi is not inited,just skip

6,33179,6688967882,c1,-,caller=T596;[drm] sprd_dsi_connector_best_encoder()

6,33180,6688967890,c1,-,caller=T596;[drm] sprd_dsi_connector_best_encoder()

6,33181,6688967899,c1,-,caller=T596;[drm] sprd_dsi_encoder_atomic_check()

6,33182,6688967924,c1,-,caller=T596;[drm] sprd_dpu_atomic_enable()

6,33183,6688977955,c1,-,caller=T596;[disp-pm-domain][drm][  sprd_disp_power_on] disp power domain on

6,33184,6688978014,c1,-,caller=T596;[drm][        dpu_clk_init] DPU_CORE_CLK = 384000000, DPI_CLK_SRC = 153600000

6,33185,6688978024,c1,-,caller=T596;[drm][        dpu_clk_init] dpi clock is 38400000

6,33186,6688978686,c1,-,caller=T596;[drm][  dpu_enhance_reload] enhance hsv reload

6,33187,6688978696,c1,-,caller=T596;[drm][  dpu_enhance_reload] enhance cm reload

6,33188,6688979081,c1,-,caller=T596;[drm][  dpu_enhance_reload] enhance gamma reload

6,33189,6688979117,c1,-,caller=T596;[drm] dpu resume OK

6,33190,6688979131,c1,-,caller=T596;[drm] sprd_dsi_encoder_enable(last_dpms=3, dpms=0)

6,33191,6688979162,c1,-,caller=T596;[drm][       sprd_dsi_init] escape clock divider = 4

6,33192,6688979199,c1,-,caller=T596;[drm][      sprd_dphy_init] lanes : 2

6,33193,6688979204,c1,-,caller=T596;[drm][      sprd_dphy_init] freq : 512000

6,33194,6688979667,c1,-,caller=T596;[drm] sprd_panel_prepare()

6,33195,6688979673,c1,-,caller=T596;[drm] sprd_panel_prepare() tpd:lcd power on

6,33213,6689035659,c1,-,caller=T596;[drm] sprd_panel_enable() lcd_name=lcd_easyquick_aixiesheng_boe_mipi_hd

6,33214,6689035662,c1,-,caller=T596;[drm] sprd_panel_enable() step 1

6,33223,6689216478,c1,-,caller=T596;[drm] sprd_panel_enable() step 2

6,33228,6689216590,c1,-,caller=T596;[drm][sprd_pwm_backlight_update] last_backlevel == level,no set 0 => 0

6,33229,6689216717,c1,-,caller=T596;[drm][             dpu_run] dpu run

6,33241,6689222565,c2,-,caller=T662;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:38 => 152 min_level:11

6,33242,6689222576,c2,-,caller=T662;[drm][sprd_pwm_backlight_update] [SPRD_LCD]sprd_pwm_backlight_update delay 60ms

6,33244,6689228887,c3,-,caller=T701;[drm] sprd_dpu_enable_vblank()

6,33252,6689290526,c3,-,caller=T937;[drm][           ssc_store] ssc is disabled by zte

P963F10  做esd   recovery  的打印:    相比于esd  dpu  有 reset

6,35162,6853203192,c5,-,caller=T15342;[drm][lcd_tpd_notifier_callback] [SPRD_LCD]lcd_tpd_notifier_callback:tp esd check error, notiry lcd esd

6,35163,6853532592,c2,-,caller=T701;[drm] sprd_dpu_enable_vblank()

6,35164,6853980438,c0,-,caller=T234;[drm] ====== esd recovery start ========

6,35165,6853980452,c0,-,caller=T234;[drm] sprd_dsi_encoder_disable(last_dpms=0, dpms=0)

6,35166,6853987960,c0,-,caller=T234;[drm][            dpu_stop] dpu stop

6,35167,6853987980,c0,-,caller=T234;[drm] sprd_dpu_disable_vblank()

6,35168,6853987994,c0,-,caller=T234;[drm] sprd_panel_disable() cmds_len=10

6,35170,6853988139,c0,-,caller=T234;[drm][lcd_tpd_notifier_callback] [SPRD_LCD]lcd_tpd_notifier_callback:lcd suspend power off

6,35172,6853988196,c0,-,caller=T234;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:38 => 0 min_level:11

6,35181,6854144561,c0,-,caller=T234;[drm] sprd_panel_unprepare()

6,35182,6854144568,c0,-,caller=T234;[drm] sprd_panel_unprepare() set lcd reset_gpio to 1

6,35183,6854274613,c0,-,caller=T234;[drm] sprd_panel_unprepare() tpd: suspend don' need power on, lcd power off

6,35185,6854274660,c0,-,caller=T234;[drm] sprd_dsi_encoder_enable(last_dpms=0, dpms=0)

6,35186,6854274686,c0,-,caller=T234;[drm][       sprd_dsi_init] escape clock divider = 4

6,35187,6854274722,c0,-,caller=T234;[drm][      sprd_dphy_init] lanes : 2

6,35188,6854274726,c0,-,caller=T234;[drm][      sprd_dphy_init] freq : 512000

6,35189,6854275209,c0,-,caller=T234;[drm] sprd_panel_prepare()

6,35190,6854275213,c0,-,caller=T234;[drm] sprd_panel_prepare() tpd:lcd power on

6,35198,6854331236,c0,-,caller=T234;[drm] sprd_panel_enable() lcd_name=lcd_easyquick_aixiesheng_boe_mipi_hd

6,35199,6854331239,c0,-,caller=T234;[drm] sprd_panel_enable() step 1

6,35200,6854508109,c0,-,caller=T234;[drm] sprd_panel_enable() step 2

6,35205,6854508233,c0,-,caller=T234;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:38 => 152 min_level:11

6,35206,6854508240,c0,-,caller=T234;[drm][sprd_pwm_backlight_update] [SPRD_LCD]sprd_pwm_backlight_update delay 60ms

6,35226,6854580386,c0,-,caller=T234;[drm][             dpu_run] dpu run

6,35227,6854580413,c0,-,caller=T234;[drm] ======= esd recovery end =========

6,35228,6854580418,c0,-,caller=T234;[drm] esd_count is 1

SPCSS01271783         S20 项目 90  hz   

SPCSS01268544         SPCSS01274652         如何改 lk  阶段平台 pwm  的频率 , 目前在 logo 界面频率  101 khz  ,超过了 100 khz  的最大频率

P963F10_T  有一个长时间待机,突然唤醒花屏问题,休眠唤醒不恢复,最后是没电才恢复的。射频干扰问题

94 三供屏回来了,做checklist

T_o=T_clk×(P_prescale+1)×(M_ +1)

T_o是输出的pwm频率,T_clk是外部时钟源26m,P_prescale是预分频系数,M_即mod。

int pwm_config(int pwm_id,int duty,int period)的三个参数分别对应PWM通道、占空比参数、周期。

占空比=duty / (period +1);

检查有无删除  faceid

adb shell  ls  /proc/device-tree/reserved-memory         或者   adb shell  ls   /sys/firmware/devicetree/base/reserved-memory

ai@ff410000        faceid-mem        ise_med         dptx_hdcp@fff10000

2023,12,12

1、P963F10   和  P720S20  陆续发现在  boot   logo 亮起来的几秒钟内,pwm   频率达到了 101  khz  超过了背光芯片支持的最大频率 100khz,我打算再看一下 720S11  ,找一个符合要求的,把代码比对过去

2、P963F10  花屏问题

在 P720S11_T  项目中,/SPRD_T_5G_V1-P720S11_T/bsp/bootloader/lk/project/zte_staple.mk  中关掉了展锐平台中自带的两个屏:

LCD_G40396_TRULY_MIPI_FHD = 0

21 LCD_NT36672E_TRULY_MIPI_FHD = 0

因为这两个屏幕在平台.mk  中被打开了      /SPRD_T_5G_V1-P720S11_T/bsp/bootloader/lk/project/ums9620_2h10.mk

# attach lcd

99 LCD_G40396_TRULY_MIPI_FHD := 1

100 LCD_NT36672E_TRULY_MIPI_FHD := 1

image.png

P720S20  在上电时, vsp   先  5.5V (默认电压),再通过写  14  ,改成 6V

sprd_gpio_direction_output(CONFIG_LCM_GPIO_RSTN, 1);    打开 vsp  输出 ,tps65132  先输出默认电压  5V

zte_set_vsp_vsn_power    设为偏压  6V

mipi 上电的打印:

在  /SPRD_T_5G_V2-P720F02_T/bsp/modules/kernel5.4/display/dispc/sprd_dsi.c  中:

176   sprd_dsi_enable(dsi);177   sprd_dphy_enable(dsi->phy);178  179   sprd_dsi_lp_cmd_enable(dsi, true);

 后

  drm_panel_prepare(dsi->panel);

具有wakeup   属性的设备有无打上selinxu   标签

单独编译 :  ./build.sh P720S20T -S -I -m SuspendSepolicyTests

生成产物:

./out/target/product/ums9620_2h10/testcases/SuspendSepolicyTests/arm64/SuspendSepolicyTests

lk  里的 6  分频 ,要打开同时打开,要关闭同时关闭 :

        .dpi_clk_div = 6,

        .video_lp_cmd_enable = true,

         .hporch_lp_disable = true,      单独打开了此选项,导致了 S20  lk  阶段显示问题

kernel  里的 6  分频 ,要打开同时打开,要关闭同时关闭:

   sprd,dpi-clk-div = <6>;

   sprd,video-lp-cmd-enable = <1>;

   sprd,hporch-lp-disable = <1>;

展锐下载工具快速加载  pac  包方法:

改 BinPack.ini 里的    LoadPolicy = 2

从lk  无法进入开机向导log

drm|surfaceflinger|zygote|hwcomposer

pd  是协议, 依赖 type c  接口 ; dp  是协议,显示的 ;

上下电情况:

lk   阶段上电  :  io  电  , avdd  ,  avee    reset  

 mipi  上电平台提供不方便控; mipi  电在代码里体现在   dsi  init  ;  vsp   上电后  mipi  上电, vsp  下电后  mipi  下电 ,通过 vsp  vsn  间接控制  mipi   电 ; 如果想让  mipi   晚下电可增加休眠  10  寄存器的延时

kernel    阶段  上下电 :

唤醒 : avdd   ,     avee   ,   reset

休眠:   reset   ,    avee   ,  avdd  

image.png

在cmdline   和kernel  log 中可查看log等级  loglevel=4   ,log 等级开到 7 再看 log

在sleep  in  是关机和休眠用  里面的28   是关闭显示   display  off  , 延时  20  ms    ,   10   是   sleep   in     ,延时  120  ms

在  sleep   out    和  initial     command     里的11    出休眠 sleep  out ,  延时  120ms  ,    29   亮背光  display   on  延时 20 ms

 34  下   00   是关闭  te , 35  是打开  te    不写  35  也是关  te

2023年11月9日

1、找到了一个测vts  wakeup的shell  脚本,翻译成Python就可以做成aio,目前在看逻辑

2、606f08   963f94验证common  patch完成

2023年11月8日

1、更新解析亮屏时间分析脚本,增加set  power  莫mode2   到  finish  set  ,finish  set  到  lights write 以及   set  mode  2  到  lights     write   的时间统计,详情见https://i.zte/#/space/0f02556f60fa4c52bbdb92824de53df3/wiki/page/c0c4b9fda9b7463e96f4863e433930d8/view  

2、vts 检查具有  wake   up属性的,有无  selinux   标签,目前在手动寻找规律中

2023年11月6日

1、p720f03 反复下版本50次,未复现  lk  阶段花屏

2、p963f10  开机不休眠  esd  恢复不了,目前看来可能与  lk   阶段 porch 配错了有关,待验证

2023年11月3日

1、P963F10_T   tp  esd  check  error  通知  lcd   做  esd   代码添加

2、 P963F10_T   在  launcher  界面字体偏小问题分析,改了物理尺寸和  density   验证

2023年11月2日

1、 P720F03  common  patch  验证,看起来的确是  T820  了,无问题,但是同时,我用  游戏版 P720F03  (后盖金黄色)的手机,发现在下完版本开机   boot  logo 阶段花屏  2到  3 秒,刚开始是竖条纹花, 后来  ZTE  上一条横线的花 ,看起来此版本有问题 。 有照片(一次性)

2、P731F21   和 P963F10  check list  

2023年11月1日

验证合入common Patch的P720f05,压测650次+。暂未发现LCD相关问题。

P 963f10做check list,发现桌面界面字体偏小。怀疑可能是物理尺寸或者density配置不对。明天继续核实一下

2023年10月31日

1、 更改了产生  boot  logo 的脚本, create_splash.sh  ,解决改前找不到  boot_logo  放一张低电  logo 问题

2、P731F21  兼容点亮  lcdtron  屏

3、P720S16  华映屏在进 deep  standby  延时  100 ms

禁用 tp      : cd vendor_dlkm/lib/modules      再     rmmod zte_tpd.ko

adb push    D:\MYFILE\zte_tpd.ko  ./vendor_dlkm/lib/modules/zte_tpd.ko   替换 tp   的ko

vendor/firmware  改模组  mv   axs_firmware_easyquick.bin    axs_firmware_easyquick2.bin  让找不到固件即可除去  tp

[Neptuneyt]$ echo $net

www.baidu

# 删除匹配字符串的左边,留下剩余部分

[Neptuneyt]$ echo ${net#*.} #这里用*.表示匹配到www.,用一个#表示删除匹配到的字符串,留下剩余的部分

baidu

# 用2个#号表示尽可能多的删除匹配到的字符串

[Neptuneyt]$ echo ${net##*.}

com

电流源的使用

按voltage   按enter   number    按  4  按  Res(小数点)   按000000(多按几个0)  按  output(输出)  

开关电源:

按  output  

log 等级开到1  ,在打印完  lk  后进入kernel  会出现  console $:  就停下来,建议  log   等级开到 7

i2c transfer fail  可能是  i2c   的lane  数配置的不对,不影响亮屏,正负  6v  偏压没设成功不影响亮屏,因为背光芯片默认输出  5v 能点亮屏幕,如果需要用到 正负  6v  偏压芯片,需要在  /SPRD_T-P606F05_T/device/sprd/mpool/module/others/bsp/mfeature/kernel/kernel5.4/msoc/sharkl3/ko/zte_okra.mk

  中加入  zte_lcdbl_vsp_vsn.ko

image.pngimage.png

s11是4  lane  ,可通过的lcd座子原理图看出来,共用一组  clk 时钟信号,  data  信号有4组,d0到d3

image.png

确认延时多少打背光,需要量  lcda  (这是背光的正极,通常 20V  左右,一颗钉就是一个二极管,二极管差不多需要 3.3  v  ,6 颗等差不多  20 V)与 d0p  和  d0n  (d0p  ,d0n 是mipi  的 data  信号,送图像的,上电前两帧画面不稳定,提前亮背光的话会看到闪屏或花屏) 的相位关系

设置 VSP  vsn  6 v 时,i2c  lane   num   在 原理图里看

image.png

如果 git   status   中出现modify  想回退修改可使用    git   checkout   xx.c   即可回退

grep -rn "pwm_backlight_update" ./bsp/kernel/kernel5.4/drivers/gpu/drm/sprd/  可以过滤打印语句被打包在哪个  image   里了

cq  号   SPCSS01243276

S16  易快来屏  闪屏  ,同时 log  打印  dpu_isr  

05354 < 3> [91482.905973] [10-09 16:17:52.905] [drm][             dpu_isr] int value check : reg int sts value is 0x2, gap value is 9

05355 < 3> [91482.905985] [10-09 16:17:52.905] [drm][             dpu_isr] int value check : clr value is 0x0, mmu0 int value is 0x0, mmu1 int value is 0x0

05384 < 3> [91483.989345] [10-09 16:17:53.989] [drm][             dpu_isr] int value check : reg int sts value is 0x2, gap value is 9

05385 < 3> [91483.989355] [10-09 16:17:53.989] [drm][             dpu_isr] int value check : clr value is 0x0, mmu0 int value is 0x0, mmu1 int value is 0x0

053D0 < 3> [91485.485984] [10-09 16:17:54.485] [drm][             dpu_isr] int value check : reg int sts value is 0x2, gap value is 9

另外一个确定版本是否生效的方法:

在  dtsi  里加上   zte,lcd-version-v000;

然后在手机上     adb   shell  "find   -name  zte,lcd-version-v000"

可见:

./sys/firmware/devicetree/base/lcds/lcd_huaying_sitronix_st7123_mipi_hdplus/zte,lcd-version-v000

./sys/firmware/devicetree/base/lcds/lcd_sitronix_st7123_qm065hs03_ykl_mipi_hdplus/zte,lcd-version-v000

./sys/firmware/devicetree/base/lcds/lcd_gc7202_skyworth_galaxycore_mipi_hdplus/zte,lcd-version-v000

./sys/firmware/devicetree/base/lcds/lcd_chipone_icnl9911c2_tongxingda_mipi_hdplus/zte,lcd-version-v000

./sys/firmware/devicetree/base/lcds/lcd_chipone_icnl9911c2_easyquick_mipi_hdplus/zte,lcd-version-v000

两套背光方案:

P963F94   IC  侧背光,   在overlay.dts 里不会配置平台侧背光:

452 &panel {

453 sprd,backlight = <&pwm_backlight>;

454 reset-gpio = <&ap_gpio 11 GPIO_ACTIVE_HIGH>;

455 };

所以  sprd_panel_probe  里平台背光节点就会找不到:

1730   bl_node = of_parse_phandle(slave->dev.of_node,1731   "sprd,backlight", 0);

1754   } else1755   DRM_WARN("backlight node not found\n");

1779         DRM_ERROR("222, backlight node not found\n");

0106C < 4> [    3.964906] [09-21 04:16:01.964] [drm] backlight node not found

0106D < 3> [    3.965162] [09-21 04:16:01.965] [drm:sprd_panel_probe [sprd_drm]] *ERROR* 222, backlight node not found  自己加的打印

与之对应的,  IC  侧背光会走到:

在   sprd_oled_backlight_init  函数中

1331   p = of_get_property(oled_node, "sprd,reg-lock", &bytes);

1332   if (p) {1333   info->cmds[CMD_OLED_REG_LOCK] = p;

1334   info->cmds_len[CMD_OLED_REG_LOCK] = bytes;

1335   } else

1336   DRM_INFO("can't find sprd,reg-lock property\n");

1337  

1338   p = of_get_property(oled_node, "sprd,reg-unlock", &bytes);

1339   if (p) {

1340   info->cmds[CMD_OLED_REG_UNLOCK] = p;

1341   info->cmds_len[CMD_OLED_REG_UNLOCK] = bytes;

1342   } else1343   DRM_INFO("can't find sprd,reg-unlock property\n");

1371   DRM_INFO("%s() ok\n", __func__);

0107C < 6> [    4.029786] [09-21 09:36:27.029] [drm] sprd_oled_backlight_init() ok

0107A < 6> [    4.029778] [09-21 09:36:27.029] [drm] can't find sprd,reg-lock property

0107B < 6> [    4.029781] [09-21 09:36:27.029] [drm] can't find sprd,reg-unlock property

0107C < 6> [    4.029786] [09-21 09:36:27.029] [drm] sprd_oled_backlight_init() ok

如果两个背光都加上,则会死机:

[   19.535857]c0 [  T349] [<c01129d4>] (unwind_backtrace) from [<c010e18c>] (show_stack+0x20/0x24)

[   19.535891]c0 [  T349] [<c010e18c>] (show_stack) from [<c0d5c624>] (dump_stack+0x88/0xb4)

[   19.535928]c0 [  T349] [<c0d5c624>] (dump_stack) from [<c03d6dac>] (sysfs_warn_dup+0x68/0x74)

[   19.535966]c0 [  T349] [<c03d6dac>] (sysfs_warn_dup) from [<c03d713c>] (sysfs_do_create_link_sd+0xa0/0xdc)

[   19.536003]c0 [  T349] [<c03d713c>] (sysfs_do_create_link_sd) from [<c074f358>] (device_add+0x2a0/0x7c0)

[   19.536024]c0 [  T349] [<c074f358>] (device_add) from [<c06637cc>] (backlight_device_register+0x11c/0x204)

[   19.536064]c0 [  T349] [<c06637cc>] (backlight_device_register) from [<c0663a94>] (devm_backlight_device_register+0x64/0xa0)

[   19.536649]c0 [  T349] [<c0663a94>] (devm_backlight_device_register) from [<bf102ee8>] (sprd_panel_probe+0x4c8/0x914 [sprd_drm])

[   19.537130]c0 [  T349] [<bf102ee8>] (sprd_panel_probe [sprd_drm]) from [<c07546e4>] (really_probe+0x130/0x498)

[   19.537166]c0 [  T349] [<c07546e4>] (really_probe) from [<c07544d0>] (driver_probe_device+0xc8/0x1ac)

[   19.537199]c0 [  T349] [<c07544d0>] (driver_probe_device) from [<c0754cec>] (device_driver_attach+0x60/0x68)

[   19.537233]c0 [  T349] [<c0754cec>] (device_driver_attach) from [<c0754de8>] (__driver_attach+0x44/0x13c)

[   19.537271]c0 [  T349] [<c0754de8>] (__driver_attach) from [<c075244c>] (bus_for_each_dev+0x98/0xc8)

[   19.537310]c0 [  T349] [<c075244c>] (bus_for_each_dev) from [<c0752b80>] (bus_add_driver+0x11c/0x230)

[   19.537346]c0 [  T349] [<c0752b80>] (bus_add_driver) from [<c07568f8>] (driver_register+0x78/0x10c)

[   19.537771]c0 [  T349] [<c07568f8>] (driver_register) from [<bf177068>] (init_module+0x68/0x1000 [sprd_drm])

[   19.538193]c0 [  T349] [<bf177068>] (init_module [sprd_drm]) from [<c0102ea0>] (do_one_initcall+0x68/0x2b4)

[   19.538236]c0 [  T349] [<c0102ea0>] (do_one_initcall) from [<c01ef7cc>] (do_init_module+0x58/0x1f0)

[   19.538275]c0 [  T349] [<c01ef7cc>] (do_init_module) from [<c01eed74>] (load_module+0x1b10/0x2078)

[   19.538312]c0 [  T349] [<c01eed74>] (load_module) from [<c01ebbec>] (sys_finit_module+0xf4/0x11c)

[   19.538348]c0 [  T349] [<c01ebbec>] (sys_finit_module) from [<c0101000>] (ret_fast_syscall+0x0/0x54)

[   19.538364]c0 [  T349] Exception stack(0xe8a0bfa8 to 0xe8a0bff0)

[   19.538395]c0 [  T349] bfa0:                   ffffffff 00000000 00000004 becf8589 00000000 00000000

[   19.538431]c0 [  T349] bfc0: ffffffff 00000000 00000000 0000017b becf8768 becf8748 00000000 becf8589

[   19.538455]c0 [  T349] bfe0: becf8580 becf8570 0041a87d b69e84ac

[   19.539126]c0 [  T349] [drm:sprd_panel_probe [sprd_drm]] *ERROR* failed to register oled backlight ops

[   19.539172]c0 [  T349] ------------[ cut here ]------------

2023,1,18

focal      敦泰

ilitek      奕力

lcetron   联创

easyquick  易快来

#ifdefine   和 #else在vscode中可以用- 来折叠

帧率不够   ->  硬件刷新率是否  58? 测mipi波形,TE信号    ,systrace 上层帧率

查看当前应用名       adb  shell   "dumpsys window | grep -i  mCurrent"

通过应用名来找  pid  在systrace  上确认看哪个的  UI  Thread  和  Render       adb  shell  "ps -ef | grep -i baidu"

将图片  push   到手机里

DCIM\camera

python -m ensurepip --default-pip   python  安装 pip

kernel.log  里休眠唤醒关键字

zte powerkey pressed|sprd_panel_prepare|sprd_panel_enable|dpu_run|sprd_pwm_backlight_update|dpu_stop|sprd_panel_disable|sprd_panel_unprepare

cat /dev/kmsg  |grep  -iE  'zte powerkey pressed|sprd_panel_prepare|sprd_panel_enable|dpu_run|sprd_pwm_backlight_update|dpu_stop|sprd_panel_disable|sprd_panel_unprepare'

adb shell  "cat /dev/kmsg  |grep  -iE  'zte powerkey pressed|sprd_panel_prepare|sprd_panel_enable|dpu_run|sprd_pwm_backlight_update|dpu_stop|sprd_panel_disable|sprd_panel_unprepare'"

S11   kernel   唤醒流程

6,23423832,258168913650,c0,-,caller=T21153;gpio_keys_gpio_report_event:zte powerkey pressed!

6,23423837,258168945442,c3,-,caller=T1220;[drm] sprd_dsi_connector_best_encoder()

6,23423838,258168945452,c3,-,caller=T1220;[drm] sprd_dsi_connector_best_encoder()

6,23423848,258168947417,c3,-,caller=T1220;[drm] sprd_panel_prepare()      avdd置1   avee置1    reset  按照dtsi   sprd,reset-on-sequence  中 高低高

6,23423849,258168947421,c3,-,caller=T1220;[drm] sprd_panel_prepare() tpd:lcd power on

6,32652,1055991469,c7,-,caller=T640;[drm] sprd_panel_enable() lcd_name=lcd_huaying_st7123_boe_6p517_mipi_hd_4lane    发 initial  code

6,32653,1055991470,c7,-,caller=T640;[drm] This panel ic is not icnl9911c

6,23423901,258169104751,c0,-,caller=T21153;gpio_keys_gpio_report_event:zte powerkey released!

6,23423961,258169190383,c1,-,caller=T1220;[drm][             dpu_run] dpu run

6,23423965,258169195653,c1,-,caller=T1220;[drm] sprd_dsi_connector_best_encoder()

6,23423966,258169195662,c1,-,caller=T1220;[drm] sprd_dsi_connector_best_encoder()

6,23423979,258169201346,c1,-,caller=T664;[drm][sprd_pwm_backlight_update] [SPRD_LCD]sprd_pwm_backlight_update delay 34ms

6,23423991,258169223960,c3,-,caller=T388;[drm][zte_panel_fps_send_uevent] [SPRD_LCD]FPS: send fps 90

S11   cat  /dev/kmsg    切帧率流程

6,65066356,241339120521,c2,-,caller=T835;[drm] sprd_dpu_enable_vblank()

6,65066358,241339154596,c0,-,caller=T633;[drm] vrr going, flush current esd work and cancel ongoing work

6,65066359,241339154624,c0,-,caller=T633;[drm] sprd_dsi_connector_best_encoder()

6,65066360,241339154629,c0,-,caller=T633;[drm] sprd_dsi_connector_best_encoder()

6,65066361,241339154642,c0,-,caller=T633;[drm] sprd_dpu_mode_valid() mode: "720x1600": 90 128000 720 756 760 796 1600 1760 1764 1796 0x40 0x0

6,65066362,241339154646,c0,-,caller=T633;[drm] sprd_dsi_encoder_atomic_check()

6,65066363,241339154664,c0,-,caller=T633;[drm] sprd_dsi_encoder_disable(last_dpms=0, dpms=0)

6,65066364,241339154673,c0,-,caller=T633;[drm] sprd_dpu_disable_vblank()

6,65066365,241339154704,c0,-,caller=T633;[drm] sprd_dpu_mode_set_nofb() mode: "720x1600": 90 128000 720 756 760 796 1600 1760 1764 1796 0x40 0x0

6,65066366,241339154710,c0,-,caller=T633;[drm][         dpu_modeset] begin switch to 720 x 1600

6,65066367,241339154716,c0,-,caller=T633;[drm] sprd_dsi_encoder_mode_set() mode: "720x1600": 90 128000 720 756 760 796 1600 1760 1764 1796 0x40 0x0

6,65066368,241339154722,c0,-,caller=T633;[drm] sprd_dsi_encoder_enable(last_dpms=0, dpms=0)

6,65066369,241339154723,c0,-,caller=T633;[drm] skip dsi resume

6,65066370,241339154795,c2,-,caller=T835;[drm] sprd_dpu_enable_vblank()

6,65066371,241339177230,c2,-,caller=T362;[drm][  dpu_wait_stop_done] dpu is idle now

6,65066372,241339177236,c2,-,caller=T362;[drm][            dpu_stop] dpu stop

6,65066373,241339177686,c2,-,caller=T362;[drm][zte_panel_fps_send_uevent] [SPRD_LCD]FPS: send fps 90

6,65066374,241339177693,c2,-,caller=T362;[drm] vrr finished, schedule esd work

6,65066382,241339754298,c0,-,caller=T633;[drm] vrr going, flush current esd work and cancel ongoing work

6,65066383,241339754333,c0,-,caller=T633;[drm] sprd_dsi_connector_best_encoder()

6,65066384,241339754346,c0,-,caller=T633;[drm] sprd_dsi_connector_best_encoder()

6,65066385,241339754368,c0,-,caller=T633;[drm] sprd_dpu_mode_valid() mode: "720x1600": 60 128000 720 756 760 796 1600 2622 2626 2658 0x48 0x0

6,65066386,241339754377,c0,-,caller=T633;[drm] sprd_dsi_encoder_atomic_check()

6,65066387,241339754405,c0,-,caller=T633;[drm] sprd_dsi_encoder_disable(last_dpms=0, dpms=0)

6,65066388,241339754418,c0,-,caller=T633;[drm] sprd_dpu_disable_vblank()

6,65066389,241339754489,c0,-,caller=T633;[drm] sprd_dpu_mode_set_nofb() mode: "720x1600": 60 128000 720 756 760 796 1600 2622 2626 2658 0x48 0x0

6,65066390,241339754500,c0,-,caller=T633;[drm][         dpu_modeset] begin switch to 720 x 1600

6,65066391,241339754515,c0,-,caller=T633;[drm] sprd_dsi_encoder_mode_set() mode: "720x1600": 60 128000 720 756 760 796 1600 2622 2626 2658 0x48 0x0

6,65066392,241339754527,c0,-,caller=T633;[drm] sprd_dsi_encoder_enable(last_dpms=0, dpms=0)

6,65066393,241339754531,c0,-,caller=T633;[drm] skip dsi resume

6,65066394,241339754657,c1,-,caller=T835;[drm] sprd_dpu_enable_vblank()

6,65066396,241339780439,c1,-,caller=T362;[drm][  dpu_wait_stop_done] dpu is idle now

6,65066397,241339780447,c1,-,caller=T362;[drm][            dpu_stop] dpu stop

6,65066398,241339781186,c1,-,caller=T362;[drm][zte_panel_fps_send_uevent] [SPRD_LCD]FPS: send fps 60

6,65066399,241339781197,c1,-,caller=T362;[drm] vrr finished, schedule esd work

S11   cat  /dev/kmsg    休眠打印

6,113727,1113232372,c1,-,caller=T204;gpio_keys_gpio_report_event:zte powerkey pressed!

6,113729,1113416207,c1,-,caller=T204;gpio_keys_gpio_report_event:zte powerkey released!

6,430206,8568900393,c3,-,caller=T9897;[drm] sprd_dsi_connector_best_encoder()

6,430207,8568900397,c3,-,caller=T9897;[drm] sprd_dsi_connector_best_encoder()

6,430208,8568900403,c3,-,caller=T9897;[drm] sprd_dsi_encoder_atomic_check()

6,430210,8568902470,c2,-,caller=T9897;[drm] sprd_dsi_encoder_disable(last_dpms=0, dpms=0)

6,430211,8568918937,c2,-,caller=T9897;[drm][  dpu_wait_stop_done] dpu is idle now

6,430212,8568918944,c2,-,caller=T9897;[drm][            dpu_stop] dpu stop

6,430213,8568918958,c2,-,caller=T9897;[drm] sprd_dpu_disable_vblank()

6,430214,8568919385,c2,-,caller=T9897;[drm] sprd_panel_disable() cmds_len=68          发  sleep  in   command

6,430217,8568919405,c2,-,caller=T9897;[drm][lcd_tpd_notifier_callback] [SPRD_LCD]lcd_tpd_notifier_callback:lcd suspend powe off

6,430219,8568919458,c2,-,caller=T9897;[drm][sprd_pwm_backlight_update] last_backlevel == level,no set 0 => 0

6,430227,8569084170,c0,-,caller=T9897;[drm] sprd_panel_unprepare()

6,30169,845388106,c2,-,caller=T840;[drm] sprd_panel_unprepare() set lcd reset_gpio to 1   avee  置0     avdd   置0    reset  按照dtsi   sprd,reset-off-sequence  中置 1

6,430228,8569124483,c4,-,caller=T9897;[drm] sprd_panel_unprepare() tpd: suspend don' need power on, lcd power off

6,430230,8569124571,c4,-,caller=T9897;[drm] sprd_dpu_atomic_disable()

6,430280,8569344941,c0,-,caller=T761;[drm][  dpu_enhance_backup] enhance module disable backup: 0x1c0

插拔  usb  打印关键词   usb_ch   500  是插线,0 是拔线

android.log  里与休眠唤醒关键字

Powerkey down|Powerkey up|setting power mode|Waking up from Asleep|sprd_backlight|Going to sleep due to

Powerkey down|Powerkey up|setting power mode|Waking up from Asleep|sprd_backlight|Going to sleep due to|WindowManager

logcat |grep  -iE  'Powerkey down|Powerkey up|setting power mode|Waking up from Asleep|sprd_backlight|Going to sleep due to'

adb shell  "logcat |grep  -Ei  'Powerkey down|Powerkey up|setting power mode|Waking up from Asleep|sprd_backlight|Going to sleep due to'"

P720F03    android log  的屏幕唤醒流程:

Line 351656: S0528FD  07-11 19:05:39.584  1594  1795 D WindowManager: Receive Input KeyEvent of Powerkey down   windows  manager  收到按键按下

Line 351683: S052918  07-11 19:05:39.587  1594  1795 I PowerManagerService: Waking up from Asleep (uid=1000, reason=WAKE_REASON_POWER_BUTTON, details=android.policy:POWER)...                  唤醒

Line 351823: M05296D  07-11 19:05:39.602   700   700 D SurfaceFlinger: Setting power mode 2 on display 0       设置亮屏

Line 353435: S052FA6  07-11 19:05:39.770  1594  1795 D WindowManager: Receive Input KeyEvent of Powerkey up      windows  manager  收到按键松开

Line 353691: M0530A6  07-11 19:05:39.899   700   700 D SurfaceFlinger: Finished setting power mode 2 on display 0               设置亮屏完成 ; 对应 kernel  里的上电和初始化

Line 353714: M0530BD  07-11 19:05:39.905   668   668 D LIGHTS  : func:write_int, path=/sys/class/backlight/sprd_backlight/brightness, value=73     写亮度节点,亮屏

P720S11    android log  的屏幕唤醒流程:

03-03 09:03:28.044    13    13 I gpio_keys_gpio_report_event: zte powerkey pressed!

03-03 09:03:28.054  1553  1729 I PowerManagerService: Waking up from Asleep (uid=1000, reason=WAKE_REASON_POWER_BUTTON, details=android.policy:POWER)...           因电源键唤醒

03-03 09:46:10.104  1554  5773 I PowerManagerService: Waking up from Asleep (uid=1000, reason=WAKE_REASON_GESTURE, details=com.zte.zgesture:RaiseWake)...         因抬手亮屏唤醒

03-03 09:03:28.071   696   696 D SurfaceFlinger: Setting power mode 2 on displ

03-03 09:03:28.246    13    13 I gpio_keys_gpio_report_event: zte powerkey released!

03-03 09:03:28.306   696   696 D SurfaceFlinger: Finished setting power mode 2 on display 0

03-03 09:03:28.318   654   654 D LIGHTS  : func:write_int, path=/sys/class/backlight/sprd_backlight/brightness, value=150

P720F03    android log  的屏幕休眠流程:

Line 353965: S05318D  07-11 19:05:49.583  1594  1703 I PowerManagerService: Going to sleep due to timeout (uid 1000)...

Line 354094: M05320E  07-11 19:05:49.701   668   668 D LIGHTS  : func:write_int, path=/sys/class/backlight/sprd_backlight/brightness, value=0

Line 354180: M05323D  07-11 19:05:49.710   700   700 D SurfaceFlinger: Setting power mode 0 on display 0

Line 354653: M053416  07-11 19:05:50.023   700   700 D SurfaceFlinger: Finished setting power mode 0 on display 0

P720S11      android log  的屏幕休眠流程:

03-03 09:07:52.669    13    13 I gpio_keys_gpio_report_event: zte powerkey pressed!

03-03 09:07:52.872    13    13 I gpio_keys_gpio_report_event: zte powerkey released!

03-03 09:48:14.008  1554  1554 I PowerManagerService: Going to sleep due to power_button (uid 1000)...   power键休眠

03-03 09:46:20.751  1554  1646 I PowerManagerService: Going to sleep due to timeout (uid 1000)...             超时导致休眠

03-03 09:46:20.756   659   659 D LIGHTS  : func:write_int, path=/sys/class/backlight/sprd_backlight/brightness, value=0          关背光

03-03 09:46:20.786   751   751 D SurfaceFlinger: Setting power mode 0 on display 0        设置灭屏

03-03 09:46:20.995   751   751 D SurfaceFlinger: Finished setting power mode 0 on display 0       设置灭屏完成

几个项目的亮度条最中间的背光亮度

   项目                                           logcat                                          dev

P720S11_T                               73/255=0.286                         70->280/255->1023 =0.274

P963F94_T                               22/255=0.086                        369/4095=0.09

Z5302O_T                                23/255=0.09                          22/255=0.086

P963F80_R                              129/255=0.50                        88/255=0.34

P963F23_S GO                         22/255=0.098                       22/255=0.098

S11  转换亮度的  log

中间亮度,在把  overlay  中数组改成线性背光之前:

pr_info("%s: brightness min:%u old: %u => zte:%u => level:%u\n",  __func__, bl->min_level, bl_preset, bl_convert, level);

6,39079,1049625133,c1,-,caller=T657;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:67 => 125 min_level:11   

下发   67 ,在   overlay  中数组第  67 个数字是   125   ,67/255=0.262      125/1024=0.122

中间亮度,在把  overlay  中数组改成线性背光之后:

pr_info("%s: brightness min:%u old: %u => zte:%u => level:%u\n",  __func__, bl->min_level, bl_preset, bl_convert, level);

6,39079,1049625133,c1,-,caller=T657;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:67 => 268 min_level:11   

下发   67 ,在   overlay  中数组第  67 个数字是   268 ,  67/255=0.262       268/1024=0.261

(在logcat  中打印 :

08-22 00:58:22.693   657   657 D LIGHTS  : func:write_int, path=/sys/class/backlight/sprd_backlight/brightness, value=67

08-22 02:01:32.014   657   657 I [drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:67 => 268 min_level:11

如果打开  CONFIG_ZTE_LCD_BACKLIGHT_LEVEL_CURVE   宏控,则中间还会再转换一次亮度:   level   ->   convert   ->   level  ,不过此宏控删掉很久了

pr_info("%s: brightness min:%u old: %u => zte:%u => level:%u\n", __func__, bl->min_level, bl_preset, bl_convert, level);

6,134755,1223094972,c3,-,caller=T671;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: 222,brightness min:11 old: 67 => zte:31 => level:124

67 是下发的亮度,   在    comm.c  里的数组第   67 个数字找到    convert  = 31  ,在 overlay   里的数组第  31  个数字找到  level = 124       ,67/255=0.262      31/255=0.121      124/1024=0.121

(在  logcat   中打印:

08-28 14:19:34.079   671   671 D LIGHTS  : func:write_int, path=/sys/class/backlight/sprd_backlight/brightness, value=67

08-28 14:21:23.215   671   671 I [drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: 222,brightness min:11 old: 67 => zte:31 => level:124

提  cq  的联系人:   yang.chaofeng@zte,yang.yanpeng@zte,wang.jianping3@zte,dong.yuanjie@zte,qu.tao5@zte,

P720S16  华映屏闪屏,且log  出现  "Warning: (vsync + vbp) < 32,   underflow risk!\n"   和  dpu  underflow  打印 ,  cq    SPCSS01196644

adb shell "cat /sys/class/devfreq/scene-frequency/sprd-governor/ddrinfo_freq_table"        查看可用  lcdon   频率

http://10.67.16.29:8080/c/device/sprd/mpool/+/1085969   去掉  tp  驱动

notepad++   搜索框不见了,  F7  后按  ALT +  space     或者双击下边栏

在  0-android_system.log

07-14 14:28:24.055  1605  2907 D RefreshRate: setDesiredConfig fps : 90, who : touch, isUnlockCompleted : true, testing : false   // 框架设置刷新率成功

07-14 14:28:24.100  1605  1771 D RefreshRate: onUEvent status : 90   // 驱动上报切换后的刷新率值

adb  shell  "dumpsys SurfaceFlinger |grep refresh"     查看有哪些刷新率可选

esd  恢复流程

6,97320,525878530,c3,-,caller=T878;[drm] sprd_dpu_enable_vblank()

6,97367,531164654,c0,-,caller=C0;[drm] sprd_dpu_disable_vblank()

6,97387,531958399,c7,-,caller=T6806;[drm][        dwrite_store] [SPRD_LCD]dtype = 0x05,write cmd = 0x10,length = 0x02

3,97390,533148955,c0,-,caller=T486;[drm:sprd_panel_te_check [sprd_drm]] *ERROR* TE esd timeout.

6,97391,533148982,c0,-,caller=T486;[drm] ====== esd recovery start ========

6,97392,533148989,c0,-,caller=T486;[drm] sprd_dsi_encoder_disable(last_dpms=0, dpms=0)

6,97393,533153579,c0,-,caller=T486;[drm][  dpu_wait_stop_done] dpu is idle now

6,97394,533153581,c0,-,caller=T486;[drm][            dpu_stop] dpu stop

6,97395,533153944,c0,-,caller=T486;[drm] sprd_panel_disable() cmds_len=68

6,97398,533153956,c0,-,caller=T486;[drm][lcd_tpd_notifier_callback] [SPRD_LCD]lcd_tpd_notifier_callback:lcd suspend powe off

6,97400,533153966,c0,-,caller=T486;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:96 => 0 min_level:11

6,97408,533320661,c0,-,caller=T486;[drm] sprd_panel_unprepare()

6,97409,533320677,c0,-,caller=T486;[drm] sprd_panel_unprepare() set lcd reset_gpio to 1

6,97422,533360743,c0,-,caller=T486;[drm] sprd_panel_unprepare() tpd: suspend don' need power on, lcd power off

6,97424,533360789,c0,-,caller=T486;[drm] sprd_dsi_encoder_enable(last_dpms=0, dpms=0)

6,97425,533360824,c0,-,caller=T486;[drm][       sprd_dsi_init] escape clock divider = 5

6,97426,533360959,c0,-,caller=T486;[drm][      sprd_dphy_init] lanes : 4

6,97427,533360961,c0,-,caller=T486;[drm][      sprd_dphy_init] freq : 768000

6,97428,533361934,c0,-,caller=T486;[drm] sprd_panel_prepare()

6,97429,533361936,c0,-,caller=T486;[drm] sprd_panel_prepare() tpd:lcd power on

6,97437,533437929,c0,-,caller=T486;[drm] sprd_panel_enable() lcd_name=lcd_icnl9911c2_easyquick_hkc_6p517_mipi_hd_chipone_4lane

6,97438,533437933,c0,-,caller=T486;[drm] icnl9911c_f6=0x2e

6,97447,533608508,c0,-,caller=T486;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:96 => 385 min_level:11

6,97448,533608514,c0,-,caller=T486;[drm][sprd_pwm_backlight_update] [SPRD_LCD]sprd_pwm_backlight_update delay 34ms

6,97453,533652796,c0,-,caller=T486;[drm][             dpu_run] dpu run

6,97454,533652838,c0,-,caller=T486;[drm] ======= esd recovery end =========

6,97455,533652840,c0,-,caller=T486;[drm] esd_count is 1

6,450081,10126834475,c1,-,caller=T891;[drm] vrr going, flush current esd work and cancel ongoing work

6,450082,10126834506,c1,-,caller=T891;[drm] sprd_dsi_connector_best_encoder()

6,450083,10126834511,c1,-,caller=T891;[drm] sprd_dsi_connector_best_encoder()

6,450084,10126834526,c1,-,caller=T891;[drm] sprd_dpu_mode_valid() mode: "720x1600": 60 128000 720 756 760 796 1600 2622 2626 2658 0x48 0x0

6,450085,10126834531,c1,-,caller=T891;[drm] sprd_dsi_encoder_atomic_check()

6,450086,10126834553,c1,-,caller=T891;[drm] sprd_dsi_encoder_disable(last_dpms=0, dpms=0)

6,450087,10126834561,c1,-,caller=T891;[drm] sprd_dpu_disable_vblank()

6,450088,10126834608,c1,-,caller=T891;[drm] sprd_dpu_mode_set_nofb() mode: "720x1600": 60 128000 720 756 760 796 1600 2622 2626 2658 0x48 0x0

6,450089,10126834616,c1,-,caller=T891;[drm][         dpu_modeset] begin switch to 720 x 1600

6,450090,10126834629,c1,-,caller=T891;[drm] sprd_dsi_encoder_mode_set() mode: "720x1600": 60 128000 720 756 760 796 1600 2622 2626 2658 0x48 0x0

6,450091,10126834637,c1,-,caller=T891;[drm] sprd_dsi_encoder_enable(last_dpms=0, dpms=0)

6,450092,10126834640,c1,-,caller=T891;[drm] skip dsi resume

6,450093,10126835544,c1,-,caller=T878;[drm] sprd_dpu_enable_vblank()

6,450095,10126874776,c3,-,caller=T388;[drm][  dpu_wait_stop_done] dpu is idle now

6,450096,10126874786,c3,-,caller=T388;[drm][            dpu_stop] dpu stop

6,450097,10126875872,c3,-,caller=T388;[drm][zte_panel_fps_send_uevent] [SPRD_LCD]FPS: send fps 60

6,450098,10126875880,c3,-,caller=T388;[drm] vrr finished, schedule esd work

S11  格科屏检测  id   的流程:

[00002872] [c1] cpu num 1

[00002873] [c0] creating secondary task

[00002876] [c1] entering scheduler on cpu 1

[00002879] [c0] arch_context_switch: cpu 0, old 0xb5722018 (bootstrap2, pri 16, flags 0x27), new 0xb5729318 (sprd_preload, pri 24, flags 0x27)

[00002890] [c1] arch_context_switch: cpu 1, old 0xb5197790 (idle 1, pri 0, flags 0x11), new 0xb5726418 (secondarybootstrap2, pri 16, flags 0x27)

[00002902] [c0] [lk core0] enter sprd_preload

[00002905] [c1] arch_context_switch: cpu 1, old 0xb5726418 (secondarybootstrap2, pri 16, flags 0x27), new 0xb572b718 (sprd_lcd, pri 24, flags 0x27)

[00002917] [c1] [lk core1] enter sprd_lcd

[00002920] [c1] lcd start init time:2920ms

[00002923] [c1] [sprdfb][sprd_panel_probe] zte sprd_panel_probe begin zte_lcd_detect_id = 0xfffe OPT_ID=0x9f name=lcd_chipone_icnl9911c2_tongxingda_mipi_hdplus

[00002936] [c1] [sprdfb][sprd_panel_probe] zte_lcd_detect sprd_t v1.0.0 ,there has no read panel id

[00002959] [c1] [sprdfb][mipi_dsi_init] escape clk div = 5

[00002964] [c1] [sprdfb][sprd_dsi_resume] dsi init OK

[00002967] [c1] [sprdfb][mipi_dphy_configure] lanes : 4

[00002971] [c1] [sprdfb][mipi_dphy_configure] freq : 768000

[00002977] [c1] [sprdfb][sprd_dphy_resume] dphy init OK

[00002981] [c1] [sprdfb][icnl9911c2_power] icnl9911c2_power on

[00003160] [c1] [sprdfb][icnl9911c2_readid] icnl9911c2 V2 read id:0x4a,0x0,0x0,0x0

[00003166] [c1] [sprdfb][icnl9911c2_power] icnl9911c2_power off V2

[00003201] [c1] [sprdfb][sprd_dphy_suspend] dphy uninit OK

[00003206] [c1] [sprdfb][sprd_dsi_suspend] dsi uninit OK

[00003211] [c1] [sprdfb][sprd_panel_probe] attach panel 0x9f failed, try next...

[00003217] [c1] [sprdfb][sprd_panel_probe] zte sprd_panel_probe begin zte_lcd_detect_id = 0x4a OPT_ID=0xa3 name=lcd_chipone_icnl9911c2_easyquick_mipi_hdplus

[00003229] [c1] [sprdfb][sprd_panel_probe] zte sprd_panel_probe begin zte_lcd_detect_id = 0x4a OPT_ID=0x4a name=lcd_gc7202_skyworth_galaxycore_mipi_hdplus

[00003258] [c1] [sprdfb][mipi_dsi_init] escape clk div = 7

[00003262] [c1] [sprdfb][sprd_dsi_resume] dsi init OK

[00003266] [c1] [sprdfb][mipi_dphy_configure] lanes : 4

[00003270] [c1] [sprdfb][mipi_dphy_configure] freq : 1012480

[00003275] [c1] [sprdfb][sprd_dphy_resume] dphy init OK

[00003279] [c0] load boot.img succeed!!

[00003282] [c1] [sprdfb][gc7202_power] gc7202_power on

[00003461] [c1] [sprdfb][sprd_panel_probe] attach panel 0x4a success twice

[00003466] [c1] i2c6, freq=100000

[00003469] [c1] i2c6, freq=100000

[00003472] [c1] i2c6, freq=100000

[00003475] [c1] [sprdfb][zte_set_vsp_vsn_power] zte_set_vsp_vsn_power to 6V sucess

[00003481] [c1] [sprdfb][gc7202_init] gc7202_init start

[00003627] [c1] [sprdfb][sprd_panel_probe] panel_init info->is_icnl9911c=0 ,supported_panel[i].lcd_id=74

[00003635] [c1] [sprdfb][calc_dpi_clk_src] calc DPI_CLK_SRC failed, use default

[00003641] [c1] [sprdfb][dispc_clk_init] DPU_CORE_CLK = 614000000

[00003646] [c1] [sprdfb][dispc_clk_init] DPI_CLK_SRC = 256000000

[00003651] [c1] [sprdfb][dispc_clk_init] DPU_CORE_CLK = 614000000, DPI_CLK_DIV = 8

[00003657] [c1] [sprdfb][dpu_run] dpu run

[00003660] [c1] [sprdfb][sprd_dispc_resume] dispc init OK

[00003664] [c1] [sprdfb][logo_mem_init] splashimage addr is 0x0x9d000000, fb size is 0x9e4000

[00003672] [c1] logo memory init success.

[00003674] [c1] splash_get_bpix:  ZTE_LCD_DISPLAY_SPLASH defined bpix = 8

[00003680] [c1] [sprdlk][lcd_init] [LCD] Using LCD frambuffer at 0xb0000000

[00003686] [c1] [sprdlk][lcd_clear] [LCD] setting up console...

[00003690] [c1] lcd_console: have 90/100 col/rws on scr 720x1600 (0 deg rotated)

[00003861] [c0] load vendor_boot.img succeed!!

[00003864] [c1] Found Data: name=zte_variantflag; head=this-is-cfg-head; str=UNI_CN; signature=cfg-signature-is-here

[00003873] [c0] sprd_preload consume 974ms

[00003876] [c1] getcfgbyname cfgname=zte_variantflag, c=this-is-cfg-head

unlock   的方法 (解  bl  锁)为了push  东西到手机

1、adb reboot bootloader

2、fastboot flashing unlock_bootloader  C:\Users\10335101\Downloads\adb1039_fastboot_unlock_newkey\signature_file    此时无adb 口,直接用此命令即可

3、按音量下键,显示成功后

4、fastboot reboot

5、adb push D:\MYFILE\OLD\apk\fps_mode_test.sh       system/bin/    

6、nohup fps_mode_test.sh &

7、adb   push   失败可以  adb  root  再  adb   remount  重启后需要重新  adb   root  和  adb   remount

如果要看  TA   分支的代码,可以拉下来。  先  repo   init  (不加 --depth=1)  ,随后  repo   sync   (不加-c)  ,再 git   branch   查看有哪些分支名,再  git    checkout   分支名  

切换分支

跳过开机向导命令

adb shell settings put secure user_setup_complete 1

adb shell settings put global device_provisioned 1

adb reboot

打开刷新率

adb  shell service call SurfaceFlinger 1034 i32 1

aio   自测用例 取代码命令:

拉代码命令:

git clone "http://10335101@10.67.16.29:8080/a/platform/tools/testcase"   -b tradefed   && (cd "testcase" && mkdir -p .git/hooks && curl -Lo `git rev-parse --git-dir`/hooks/commit-msg http://10335101@10.67.16.29:8080/tools/hooks/commit-msg; chmod +x `git rev-parse --git-dir`/hooks/commit-msg)

(从网页里找        http://10.67.16.29:8080/admin/repos/platform/tools/testcase    windows  系统建议从网页带  http  的命令拉)

推送

git push origin HEAD:refs/for/tradefed

参考资料:

1、这是其他同事写的 py的测试用例,可以先参考下。py的用例编写比较简单。

http://10.67.16.29:8080/plugins/gitiles/platform/tools/testcase/+/refs/heads/tradefed/P_testcase/testcases/

2、这里是配置文件,用例编写完如果需要上线测试,需要加上配置文件。

http://10.67.16.29:8080/plugins/gitiles/platform/tools/testcase/+/refs/heads/tradefed/P_testcase/config

3、代码库修改记录查询

http://10.67.16.29:8080/q/project:platform%252Ftools%252Ftestcase

4、每日构建 AIO 项目

https://ct.zd.zte/view=Dailybuild&view_type=all

5、云真机

http://ct.zd.zte/pandora

取 CQ 中的patch 文档   主机名  ftp.unisoc    用户名  zte_sh    密码  3hTzs3tk  再  通用设置里  改为  HTTP/1.1  代理主机  proxysh.zte  代理端口 80  

time ./build.sh P720S11_T  -S  -I -v userdebug  -m vendor_dlkmimage  -j 40  可编译sprd-drm.ko

生成的ko在目录      Z:\sprd\P720S11_T1\out\target\product\ums9620_2h10\vendor_dlkm\lib\modules\sprd-drm.ko   大小1.13M

adb push   D:\MYFILE\sprd-drm.ko       ./vendor_dlkm/lib/modules/sprd-drm.ko  

push到手机

adb shell "cat /dev/kmsg | grep   -Ei 'esd|fps'"           查看帧率和esd的打印

adb shell "cat   /sys/class/display/panel0/esd_check_enable"     查看  esd   打开与否

P720S11是平台侧输出pwm波控制背光,生效的是 xref: /SPRD_T_5G_V1-P720S11_T/bsp/modules/kernel5.4/display/dispc/sprd_bl.c    log关键字

last_backlevel == level,     no set200 => 657       189      .update_status = sprd_pwm_backlight_update,    

6,274710,934998704,c2,-,caller=T670;[drm][sprd_pwm_backlight_update] sprd_pwm_backlight_update: brightness level:88 => 353 min_level:11

P932F22是IC侧输出pwm波控制背光,生效的是   xref: /SPRD_S_GO-P932F22_S/bsp/kernel/kernel5.4/drivers/gpu/drm/sprd/sprd_dsi_panel.c   log关键字 last_backlevel == level, so no set     

     1284   .update_status = sprd_oled_set_brightness,

6,65234,182203472,c1,-,caller=T756;[drm] sprd_oled_set_brightness level:979 --> convert_level:979 oled->cmds_total:1 bl_register_len:12

&panel {

sprd,backlight = <&pwm_backlight>;

reset-gpio = <&ap_gpio 11 GPIO_ACTIVE_HIGH>;

};

&dpu {

sprd,logo-memory = <&logo_reserved>;

sprd,backlight = <&pwm_backlight>;

/* if we need use fastcall for widevine, open the following config */

// sprd,widevine-use-fastcall;

};

F22 IC侧背光

&dpu {

  sprd,logo-memory = <&logo_reserved>;

   };

背光控制:

平台侧提供PWM:

   |  7731E  CPU   | __________输出pwm波_________|上贴电阻,表示CPU和BL芯片连通了| _________ |BL芯片,(背光芯片)| ______________A=20V ,K=0V ,电压加在二极管两端,产生背光   ---|>-|>---(二极管)                                                                                                                                    。

                                                                                                                                                     |  

                                                                                                                                                   屏,此处屏与BL芯片断开,没有连背光芯片                                                                                                                                 

IC侧提供PWM:

   |  7731E  CPU   | __________通过mipi信号,mipi协议,将控制亮度的51寄存器写值,比如写入FF,调到最亮 _________|屏的IC,比如7701s,连接BL芯片| _________ |BL芯片,(背光芯片)| __________| 输出pwm波  | ___________A=20V ,K=0V ,电压加在二极管两端,产生背光   ---|>-|>---(二极管)                                                                                                     。

                                                                                                                                                                                                                                                                                                                                                         |

                                                                                                                                                                                                                                                                                                                                                     CPU,此处CPU与BL芯片断开,没有连背光芯片                     

 image.png

 ap写  IC  的 51  (IC 的亮度寄存器)和53  (开关)

当51  寄存器存  FF  表示调到最亮,00  表示调到最暗  ,能控制占空比

当53 寄存器存 24 表示打开pwm     一下子亮,直接亮    ;   当53 寄存器存  2C 表示打开  dimming  功能

ENP    对应dtsi中的 CONFIG_LCM_GPIO_AVDDEN

ENN    对应dtsi中的 CONFIG_LCM_GPIO_AVEEEN

                                        ___________          通过mipi_dsi给51寄存器写值来调节占空比,占空比影响电压电流,从而影响功率,亮度跟着变    

                                   ___|___           |               表明AP侧提供背光

                                   |_____|--二极管                        /

                                        |                                       /

         ____ 贴上电阻____PWM______N/A(表示断开)____________

         |                                                                                       |

         |                                                                              ______|________

 |AP芯片|(CPU,UMS9620是CPU型号) ----------->|显示IC()        |

   |                                                                                  |         LCD     |            电压1.8V,默认正负5V,在dtsi中bias_config里写入14就是在调节电压到6V

   |                                                                                  |______________|

   |                  _______                     ______                                 |

   |____________|PMIC|______1.8v___|LDO|______________________|

                                                                                       ______________

 |AP芯片|(CPU,UMS9620是CPU型号) ----------->|显示IC()        |

   |                                                                              /   |         LCD     |            1.8V,正负5V

   |                                                                            /     |______________|

   |                  _______                     ______    发送PWM波         |

   |____________|PMIC|______1.8v___|LDO|______________________|

  

PMIC是power manager  IC,电源管理

LDO相当于开关,打开关闭                                                                           

4路mipi的话,差分电路,4*2=8,再加上2路时钟信号,总共10条线路

软件dtsi文件中的lcd_id和硬件lcd  id是不一样的,dtsi中的lcd_id是通过烧录寄存器,软件通过排线读取lcd上的ic里的寄存器来确认

硬件lcd  id是靠硬件搭出来的电路状态来确认

LCM BIAS DRIVER 是lcd的供电驱动

LCM BACKLITHT DRIVER  是lcd的背光驱动

亮屏时序 : 先ui显示,再打开背光   防止异常显示

灭屏时序: 先关背光,再停图  防止异常显示

                                                                                       _____________

 AP芯片(quantum,mtk,sprd)刷图       ------------>|显示IC()         |

                                                                                 /   |          LCD     |

                                                                               /     |______________|

                                                                  发送PWM波  

                                                                                 

reset时序:

在kernel里     sprd,reset-on-sequence = <1 50>, <0 50>, <1 120>;

在lk里   在    .c   的     power函数里      sprd_gpio_request(CONFIG_LCM_GPIO_RSTN);

sprd_gpio_direction_output(CONFIG_LCM_GPIO_RSTN, 1);

没下成功初始化,打印异常log

dsi_wait_tx_cmd_fifo_empty|dsi_wait_tx_payload_fifo_empty   

单个的dtsi   编译成dtb  编进 bootimage

dtbo是dtb的overlay ,改了overlay    编进dtboimage  

拉最新的代码

git   status    

git   log

git   diff   > patch.patch

git   reset  --hard   节点

repo   sync   -c    bsp/kernel/kernel5.4    或者  git   pull   

S11 为了看版本号,进工程模式的方法:

进工程模式     *#*#983#*#*

一级解锁     *983*673636#

进真正工程模式      *987*0#     可以看到版本号

*983*#1024#   变形金刚标志位

*983*0#   各项测试界面

手机开root方法   为了cat   /dev/kmsg   ,user  版本无法cat   问题

adb shell getprop |findstr signature  查看下载软件的密钥,下载对应的apk

在  *#*983#*#*  再   *983*1024#   找到右上角扫码鉴权

*#*#983#*#*

同时手机安装软件    adb   install   "C:\Users\10335101\Downloads\SecureEmode-S-signed.apk"    用网站对应的apk

*#983*1024#      安装完apk 后才会显示扫码界面

安装成功后在网站上扫码         https://zd.zte/secureemode/

P720S09开log方法:*#*#83781#*#* ,DEBUG&LOG里的YLOG如果是灰色的YLog表示没开

vysor  连接错误和用adb  install装软件失败,可用   adb shell vendorcfg -s -nzte.anti_usb_install -r0  ,解决不能安装软件问题,之后再重启生效

查看S11   创维屏  initial  code  是否生效     亮屏下执行,灭屏执行会死机

adb shell "echo FF55AA66 > /sys/lcd_sys/reg_debug/dwrite"

adb shell "echo FE55AA66 > /sys/lcd_sys/reg_debug/dwrite"            前两行是解锁,用的initial  code最前两行

adb shell "echo FF22 > /sys/lcd_sys/reg_debug/dwrite"                     切page

adb shell "echo F403 > /sys/lcd_sys/reg_debug/dread"                      F4寄存器,读取  3个寄存器

adb shell "cat /sys/lcd_sys/reg_debug/dread"                                      查看读取结果

pause

C:\Users\10335101\Desktop>adb shell "echo FF55AA66 > /sys/lcd_sys/reg_debug/dwrite"

C:\Users\10335101\Desktop>adb shell "echo FE55AA66 > /sys/lcd_sys/reg_debug/dwrite"

C:\Users\10335101\Desktop>adb shell "echo FF22 > /sys/lcd_sys/reg_debug/dwrite"

C:\Users\10335101\Desktop>adb shell "echo F403 > /sys/lcd_sys/reg_debug/dread"       F4寄存器,读取  3个寄存器

C:\Users\10335101\Desktop>adb shell "cat /sys/lcd_sys/reg_debug/dread"

read back:

rbuf[00]=01 rbuf[01]=00 rbuf[02]=00

如果更改了   sleep  in   code

可通过   cat  /dev/kmsg   |  grep  drm   查看   cmds_len   的长度,有几个数据

6,59868,114303704,c2,-,caller=T881;[drm] sprd_panel_disable() cmds_len=151

也可通过   cat   /proc/driver/lcd_id   查看时间戳

932F22_NEEA_S    查看变形标记      *#*#983#*#*   再  *983*1024#    就可见到   Transform  Variants    里面变型标记   DGT_SS

因为在   staple/ums9620-2h10-overlay.dts    里  include   dtsi   所以单编 dtbo

1 #include "zte_lcd_skyworth_gc7202_6p517_mipi_hdplus.dtsi"

 image.png

上面是mipi,下面是reset,应该reset需要比mipi晚下电70ms,上图同时下电,有问题,旁边箭头图例是自己设置的变量

正确的:

image.png

上面是mipi,下面是reset,reset需要比mipi晚下电70ms,符合要求

time ./build.sh P720S11_T  -S  -I -v userdebug  -m vendor_dlkmimage  -j 40  可编译sprd-drm.ko     大小1.13M

生成的ko在目录      Z:\sprd\P720S11_T1\out\target\product\ums9620_2h10\vendor_dlkm\lib\modules

adb push   D:\MYFILE\sprd-drm.ko       ./vendor_dlkm/lib/modules/sprd-drm.ko  push到手机

 lk consume time:3655ms, lcd init consume:1508ms, backlight on time:4636ms

 sprd_lcd consume  在uboot里可查看lcd耗时

lcd耗时  从enter sprd_lcd  到  logo memory init success.

新串口线,如果手机连电脑,不需要串口线的接地线连接手机。如果手机没连电脑,只需串口线的RX接手机TX

通过板级查询哪些项目在用此板级     可在/SPRD_S-P618F08_S/vendor/zte/feature/projects/  搜索  lettuce

lettuce (full), "/SPRD_S-P618F08_S/vendor/zte/feature/projects/" (path) in projects: SPRD_S-P618F08_S - OpenGrok search results

 getprop | grep brightness     查看prop

如果有故障,是否必现?还是一次性

1、在0-android.log中搜索   Going to sleep due  关键字可查看   休眠原因

Waking up from Asleep    唤醒原因   ,   相关的可搜索的关键字  SurfaceFlinger  ,也 可通过命令    logcat |grep SurfaceFlinger  查看

SurfaceFlinger: Setting power mode 2   表示亮屏       

SurfaceFlinger: Setting power mode 0   表示灭屏

 logcat |grep  -Ei  "SurfaceFlinger: Setting power mode|Going to sleep due|Waking up from Asleep"

可通过命令    logcat |grep "SurfaceFlinger: Setting power mode"     查看打印

比如    01-05 06:00:45.620   693   693 D SurfaceFlinger: Setting power mode 0 on display 0

P720S11_T中找brightness  节点   cat   ./sys/devices/platform/backlight/backlight/sprd_backlight/brightness  通过find  -name   "brightness"找到的路径

 关背光和写亮度节点,推荐:    adb   shell   "echo   0  >   sys/class/backlight/sprd_backlight/brightness"

因为andorid.log  里就是再写此节点:

P963F94:/ # cat sys/class/backlight/     sprd_backlight                 /brightness

0

其中  sprd_backlight  是软链接

P963F94:/sys/class/backlight # ls -l sprd_backlight

lrwxrwxrwx 1 root root 0 2023-09-16 12:13 sprd_backlight -> ../../devices/platform/soc/soc:mm/63100000.dsi/63100000.dsi.0/display/panel0/sprd_backlight

实际上操作的    ./sys/devices/platform/soc/soc:mm/63100000.dsi/63100000.dsi.0/display/panel0/sprd_backlight/      brightness  节点

P963F94 机器  find   -name  brightness  结果:

./sys/devices/platform/soc/soc:ap-ahb/20300000.sdio/leds/mmc1::/brightness

./sys/devices/platform/soc/soc:ap-ahb/20600000.sdio/leds/mmc0::/brightness

./sys/devices/platform/soc/soc:aon/41800000.spi/spi_master/spi4/spi4.0/41800000.spi:pmic@0:led-controller@180/leds/sc27xx:green/brightness

./sys/devices/platform/soc/soc:aon/41800000.spi/spi_master/spi4/spi4.0/41800000.spi:pmic@0:led-controller@180/leds/sc27xx:red/brightness

./sys/devices/platform/soc/soc:aon/41800000.spi/spi_master/spi4/spi4.0/41800000.spi:pmic@0:led-controller@180/leds/sc27xx:blue/brightness

./sys/devices/platform/soc/soc:mm/63100000.dsi/63100000.dsi.0/display/panel0/sprd_backlight/brightness     实际操作的节点

P963F94 关背光方法二:

2|P963F94:/ # cat sys/class/display/     panel0      /sprd_backlight/brightness

0

此时  panel0  是软链接

ls -l panel0

lrwxrwxrwx 1 root root 0 2023-09-16 11:39          panel0 -> ../../devices/platform/soc/soc:mm/63100000.dsi/63100000.dsi.0/display/panel0

实际上也是操作的    ./sys/devices/platform/soc/soc:mm/63100000.dsi/63100000.dsi.0/display/panel0/       sprd_backlight/brightness

P720S11关背光方法二:

 adb   shell     "echo    0  >   ./sys/devices/platform/backlight/backlight/sprd_backlight/brightness"

因为 P720S11机器  find   -name  brightness  结果:

./sys/devices/platform/backlight/backlight/sprd_backlight/brightness    这是实际操作的节点

./sys/devices/platform/soc/soc:ap-ahb/22200000.sdio/leds/mmc0::/brightness

./sys/devices/platform/soc/soc:ap-ahb/22220000.sdio/leds/mmc1::/brightness

./sys/devices/platform/soc/soc:aon/64400000.spi/spi_master/spi4/spi4.0/sc27xx-bltc/leds/sc27xx:blue/brightness

./sys/devices/platform/soc/soc:aon/64400000.spi/spi_master/spi4/spi4.0/sc27xx-bltc/leds/sc27xx:red/brightness

./sys/devices/platform/soc/soc:aon/64400000.spi/spi_master/spi4/spi4.0/sc27xx-bltc/leds/sc27xx:green/brightness

此时推荐的方法:   adb   shell   "echo   0  >   sys/class/backlight/sprd_backlight/brightness"   中的    sys/class/backlight/sprd_backlight  是软链接

P720S11:/ # ls -l  sys/class/backlight/sprd_backlight

lrwxrwxrwx 1 root root 0 2023-08-31 09:22 sys/class/backlight/sprd_backlight -> ../../devices/platform/backlight/backlight/sprd_backlight

S11  设置光感亮度命令

adb shell dumpsys sensorservice set_lux N

adb shell dumpsys sensorservice set_lux 5000

adb shell "echo 255 > /sys/class/backlight/sprd_backlight/brightness"

查看亮度  cat  /sys/class/display/panel0/sprd_backlight/brightness

adb shell "cat   /sys/class/backlight/sprd_backlight/brightness"

在bsp/out/androids/s9863a1h10_go_32_2g/obj/kernel/drivers/gpu/drm/sprd里有sprd-drm.ko,把这个ko可以push到手机分区

2022.11.14

今日笔记:

kernel中的ums9620-2h10-overlay.dts  里的 sprd,max-brightness-level = <1023>; 是因为有10比特,2^10

下面的brightness-levels  也相应地乘以对应系数转换

关pq:

 enhance_test   enable  read  查看pq

如何找一个项目对应 json  ,在rdc里补充信息里找

P932F22-Tigo-危地马拉-项目差异-GUI-0010 Bootup logo   在rdc  补充信息     

json:P932F22_AR_RV_S.json

变形标志位:TIGO_GT

存放正式版本的地址  \\10.95.242.18\version\version_blade\P932F22\GEN_MX_P932F22V1.0.0B08

存放构建地址             \\10.95.242.28\version_jarvis\S\SPRD\SC9832E\P932F22\dailybuild

查看kernel宏是否生效    vim bsp/out/androidt/ums9620_2h10_native/obj/kernel/.config    在此文件里找找

在S11 等T  基线上的kernel代码不在  bsp/kernel/kernel5.4/drivers/gpu/drm/sprd/sprd_dsi_panel.c  等文件里,因为

通过ls  bsp/out/androidt/ums9620_2h10_native/obj/kernel/drivers/gpu/drm/sp   都tab自动补全不出来文件所在目录表明都没有编译到。而在bsp/modules/kernel5.4/display/dispc/sprd_dsi_panel.c     里

image.png

pinmap

image.png

想把RST拉高拉低,先在电路原理图上查看RST是哪个GPIO,例如GPIO11,再通过GPIO11在硬件配置表(excel表)里查看实际名称,例如   LCM0_RSTN   ,最后在pinmap.c ,例如 bsp/bootloader/lk/target/ums9620_2h10/zte_staple_pinmap.c    中搜索  LCM0_RSTN 找到该改的位置,如下图。注意,两行记录才表示一个pin

{REG_PIN_LCM0_RSTN,                     BITS_PIN_AF(3)},

{REG_MISC_PIN_LCM0_RSTN,                BITS_PIN_DS(1)|BIT_PIN_NULL|BIT_PIN_WPD|BIT_PIN_SLP_AP|BIT_PIN_SLP_NUL|BIT_PIN_SLP_OE},//LCM_RSTN

lcd 解析dtsi的函数调用过程

sprd_panel_probe  --> sprd_panel_parse_dt  --> sprd_panel_parse_lcddtb  (解析  sprd,dsi-color-format  和 sprd,initial-command  等) -->

 of_get_property  -->  of_find_property(查找结点)  --> __of_find_property  --> of_prop_cmp(比较,一旦名字对应则找到返回)

hbp/hfp/hsync vbp/vfp/vsync Video 屏的 Hporch/Vporch 参数。如果是 CMD 屏,这些参数必须是 0。

LCD 屏幕需要支持通过只修改 vfront-porch 参数来进行 60 Hz/90 Hz 刷新率动态切换,保证平台停止 送数 50 ms 内无显示异常。

sprd,sleep-in-command LCD 休眠指令。 sprd,sleep-out-command LCD 唤醒指令。

sprd,reset-on-sequence LCD 上电时,reset 引脚的操作时序。 <1 5>, <0 5>, <1 20>:表示先保持高电平 5 ms,再保持低电平 5 ms,然后 保持高电平 20 ms。

sprd,phy-bit-clock High-Speed 模式下数据传输时,clock lane 的传输速率,即 PHY frequency,单位为 kbit/s。

mipi_clock=pixel_clock *div  ,几分频

P720S11_T   同兴达  icnl9911c2   设置的   mipi   频率          sprd,phy-bit-clock = <768000>;     /* kHz */     768000   kHz   即   768 MHz

P720S11_T   同兴达  icnl9911c2   设置的   pixel  clk  频率   clock-frequency = <128000000>;   /* Hz */     128000000   Hz   即   128  MHz

P720S11_T   同兴达  icnl9911c2   设置的    分频                  sprd,dpi-clk-div = <6>;          设置的  6  分频    刚好对应    128  x    6  = 768

mipi  频率是sprd,phy-bit-clock = <552000>;        单位  kbps

pixel  clock是clock-frequency = <38400000>      单位  Hz

.dtsi中的     sprd,phy-bit-clock = <453000>; /* kbps */    对应   cat /sys/class/display/dphy0/freq   出现的453000  ,叫做mipi频率,mipi clock   453  Mbps

.dtsi中的      clock-frequency = <34000000>;                    对应   cat /sys/class/display/panel0/pixel_clock   出现的32000000  ,叫做  pixel_clock      Hz

cat   /sys/class/display/dphy0/freq   显示453000    查看mipi频率

echo  xxx  >  /sys/class/display/dphy0/freq  设置mipi频率

mipi clk (M)   =   (SPRDFB_DPI_CLOCK_SRC * dividor   )  * 3 * 8/0.9/    .lan_number     /1000000

其中的  dividor  =  if (need_clock/2    >  SPRDFB_DPI_CLOCK_SRC - dividor*need_clock    ,  int(

SPRDFB_DPI_CLOCK_SRC/    Dpi_need_clk   )    ,    int( SPRDFB_DPI_CLOCK_SRC/    Dpi_need_clk   )  +1 )

[SPRD_9620]dpiclk_dsiclk_calc   根据porch信息计算mipi频率和clock_frequency

P720S11_T  里的频率   计算方法(h+hfp+hbp+hsync)*(w+vfp+vbp+vsync)*60=.pixel_clk    

.pixel_clk X 6  =.phy_freq  .dtsi实际填的  .phy_freq  单位是KHZ,所以.dtsi填入的值等于 .pixel_clk X 6/1000     6是6分频,1000是因为  kbps

win+shift +print Screen 暗色主题

win + ctrl +c  颜色滤镜

下版本命令:

qcom平台使用 adb reboot edl

sprd平台使用 adb reboot autodloader

mtk平台开着下载工具,adb reboot即可

(1、打开PC功能,配置好下载选项后,选择 文件导出download.xml

2、在cmd窗口运行flash_tool -i download.xml

3、在另外一个窗口让手机重启)

注意终端软件部和终端软件工程部两个空间页面的区别

2023,2,9

正式版本在18服务器,每日构建在28服务器   \\10.95.242.18\version\version_blade\P932F22\GEN_MX_P932F22V1.0.0B08

如果merge   conflict  网页上rebase再修改,可以先修改patch  1

S11 的initcode开关在        /SPRD_T-P720S07_T/bsp/modules/kernel5.4/display/dispc/zte_lcd_reg_debug.c   中

单独编译pic_ref下boot logo的内容命令     ./build.sh  P932F22_S  -m splashimg -S -I  2>&1 | tee -a test3.log   -I是跳过一些内容,加速编译   

注意是哪个项目   P932F22_NEEA_GEN_S  就    ./build.sh  P932F22_NEEA_GEN_S  

开机logo生成的img文件在Boot Logo分区里面。具体名称比如,P963F22里的Boot Logo:

在GAIA 网站里的LOGO配的是   LOGO_BIN_NAME  :unisoc_HD_720_1280_24bit.bmp

在S11中lk里的函数宏定义           位置:bsp/bootloader/lk/project/zte_staple.mk

GLOBAL_DEFINES += ZTE_LCD_DISPLAY_SPLASH     <---宏定义

ZTE_LCD_DISPLAY_DEFAULT_BPP=8

ZTE_LCD_PANEL_DETECT

ZTE_LCD_SUPPORT_PANEL_OFF

 ZTE_LCD_SUPPORT_TE_PRECHECK

 ZTE_LCD_SUPPORT_TE_PIN_DSI0

 ZTE_LCD_TE_GPIO=12

CONFIG_LCM_GPIO_AVDDEN=189

 CONFIG_LCM_GPIO_AVEEEN=190 \

2023,1,17

排查lcd不亮的流程:

1、背光亮么?P720F03是平台背光

2、屏幕和lcd_name匹配么,若不匹配,是否是lcd_id有问题,可写死,提前return  0试试

3、看lk 的log有明显异常么,找硬件量电,1.8V, 正负5V是否正常,电有异常具体是哪个电有异常

pinmap是设GPIO的,查硬件原理图和硬件配置表可看到

2023,1,16

chage    -l     dongyuanjie   查看用户上回改密码时间  ;     dmesg    -Tx    查看内核信息         

2023,1,11

1、查看一个项目最小亮度  可找到kernel下的overlay  例如

bsp/kernel5.4/kernel5.4/arch/arm64/boot/dts/sprd/coconut/ums9620-2h10-overlay.dts

有时候uart send  error可能是版本和手机型号不符合

vysor  连接错误和用adb  install装软件失败,可用   adb shell vendorcfg -s -nzte.anti_usb_install -r0  ,解决不能安装软件问题,之后再重启生效

2023,1,9

1、P720S09 Sensor FOTA升级压力测试      D:\MYFILE\update-OTA>python fota_test.py 324225940012

展锐平台     userdebug   打开ylog     *#*#83781#*#*   

2、忘记拉的是不是TINY分支,可通过在项目目录下   cat   .repo/mainfest.xml   查看

3、vendor/zte/feature/projects/   里面显示哪些项目同一个库

2023,1,3

1. enhance_test enable read  命令可查看enhance打开关闭情况

 logcat |grep enhance    查看enhance相关日志

编译机配置环境变量命令     source    ./build.sh      P720S11_T      再    mninja    模块名    2>&1 | tee mninja.log  

生成后的动态库位置在     out/target/product/ums9620_2h10/vendor/lib64/hw/enhance.unisoc.so

另一个编译命令    ./build.sh   P720S11_T       -S    -I     -m     enhance.unisoc

手机端先   adb   root    再   adb   remount    若提示先     adb disable-verity    (关闭分区检测功能)       则照做,

remount   成功后用    adb push D:\MYFILE\enhance.unisoc.so /vendor/lib64/hw/enhance.unisoc.so

在手机端查看  enhance   相关动态库的位置   先  cd    vendor    再   find -name *enhance*    出现    ./lib64/hw/enhance.unisoc.so

关闭enhance   的函数位置在  vendor/sprd/modules/enhance/2.0/Core/DpuEnhanceCore.cpp   

2022,12,16

1.grep "lcd_g40396_truly_mipi_fhd" * -nR    查找与屏幕名相关的文档,定位可能涉及的需同时修改的文档  

2、在  bsp/kernel/kernel5.4/drivers/video/backlight/backlight.c  中使用宏控

在    bsp/kernel/kernel5.4/drivers/gpu/drm/sprd/Kconfig    中配置宏

        config ZTE_LCD_WRITE_MAX_BRIGHTNESS

bool "zte add for support ZTE_LCD_WRITE_MAX_BRIGHTNESS"

default n

在    vendor/zte/kernelconfig/sprd/configs/pitaya_diff_config    中   ADD宏控

ADD:CONFIG_ZTE_LCD_WRITE_MAX_BRIGHTNESS

lcd 解析dtsi的函数调用过程

sprd_panel_probe  --> sprd_panel_parse_dt  --> sprd_panel_parse_lcddtb  (解析  sprd,dsi-color-format  和 sprd,initial-command  等) -->

 of_get_property  -->  of_find_property(查找结点)  --> __of_find_property  --> of_prop_cmp(比较,一旦名字对应则找到返回)

mtk串口波特率选   921600

mtk下版本的Download-Agent      C:\Users\10335101\Downloads\SP_Flash_Tool_exe_Windows_v5.2044.00.000\DA_PL_2044.bin

Scatter-loading File  选   什么scatter.txt

2022,12,14

1、学硬件原理图,整理连接情况

GPIO 189 / LCM_BIAS_ENP(P5) -->  GPIO 189 / LCM_BIAS_ENP(P43)  --> 输出 OUTP  LCM_AVDD (p43)

-->  LCM_AVDD(p42)

LCD_TP_VIO (P42) --> LCD_TP_VIO (P43) 1.8V  -->  LCD_TP_VIO (P55)  芯板板连接器

GPIO9  LCM_ID  (P4)  --> GPIIO 9 /LCM_ID (P42)

2022.12.8

git   diff   drivers/video/backlight/backlight.c     >   modify.patch

git   checkout    drivers/video/backlight/backlight.c   

git   diff   drivers/video/backlight/backlight.c   

vi     modify.patch

patch  -p1  <  modify.patch

查看backlight.c  是否生效ls    out/androids/s9863a1h10_go_32b_2g/obj/kernel/drivers/video/backlight/backlight.o

查看日志等级   cat     proc/sys/kernel/printk

cat    /sys/class/display/dispc0/actual_fps  查看刷新率

2022.12.5

在P932F22_S中  

sudo    kill   -STOP      进程号1     进程号2      暂停进程

sudo    kill   -CONT      进程号1     进程号2    恢复执行

sudo    renice    -n   -20    -u    用户名     设置优先级

hdparm -Tt /dev/sda4     测磁盘速度

taskset -c 1 ./dgram_servr&     指定的进程运行在指定的cpu上,程序运行在1号核上

2022.12,3

P932F22:/sys/lcd_sys/reg_debug # echo 3400 > dwrite     给34寄存器写入00,把显示弄坏,看是否有esd重启

P932F22:/sys/lcd_sys/reg_debug # echo 1000 > dwrite     给10寄存器写入00

P932F22:/sys/lcd_sys/reg_debug # echo 51ff > dwrite       51寄存器是调亮度的,设置最大亮度ff

esd_check_en    1是打开,0是关闭

esd_check_mode   0是reg寄存器检查,1是te信号检查

P720S11_T  icnl9911c  关 TE  的方法: 注释  35  和  C2  寄存器  ;  华映屏,是在    35  后下 34

29   0A   00   02   35   00

29   0A   00   01   34   多下一个 34

2022,11,20

非第一次全编译可加上  -S   -I  如   ./build.sh P720S11_T  -S  -I

保存时间戳的编译命令     ./build.sh P720S11_T  -m  bootloader  -S  -I  2>&1 | tee >(awk '{print "["strftime("%Y%m%d %T",systime())"]"$0}' > build_log.txt)

提CQ版本号可从路径  https://souing.zx.zte/xref/SPRD_S_GO-P932F22_S/vendor/sprd/release/IDH/Doc/Version_T.txt  查看

2022.11.29

查看pixel_clock   cat /sys/class/display/panel0/pixel_clock

查看porch      cat    /sys/class/display/panel0/hporch

查看mipi  频率     cat   /sys/class/display/dphy0/freq

2022.11.28

董远杰-11月总结汇报.pptx

2022.11.18

1、  解决P932F22 PV版本插USB无法进五色界面

今日笔记:

pv版本无法五色界面问题:

源码地址:https://souing.zx.zte/xref/SPRD_S_GO-P932F22_S/bsp/bootloader/u-boot15/common/lcd.c?r=241e9f9c&mo=21931&fi=889#889

函数名:   void zte_lcd_precheck_mode(void)

注释的位置:https://souing.zx.zte/xref/SPRD_S_GO-P932F22_S/bsp/bootloader/u-boot15/include/configs/zte_rosemary_diff.h?r=dff49a17#24

当时串口log反复打印:

ztelcd _ precheck _ mode : This is PV lcd check mode

 zte _1cd_ detect _ te V2.0.0 start _ time =278873 end _ time =283896 te _ count =0

 zte _ lcd _ precheck _ mode : This is PV lcd check mode

 zte _ lcd _ detect _ te V2.0.0 start _ time =283909 end _ time =288932 te _ count =0

分析源码:  

while (1) {

    printf("zte_lcd_precheck_mode: This is PV lcd check mode\n");

   #ifdef ZTE_LCD_SUPPORT_TE_PRECHECK     当时这个宏定义定义了,没注释

  set_rgb_color(0xffff);/*white*/                         显示白色界面

    if (zte_lcd_delay_get_te(5000) > 0)                 zte_lcd_delay_get_te(5000)根据日志,返回值为-1

     printf("zte_lcd_precheck_mode:will display red\n");

    else

    continue;                     执行这里,陷入循环中

}

int zte_lcd_delay_get_te(int delayms)  {

 printf("zte_lcd_detect_te V2.0.0 start_time=%d end_time=%d te_count= %d\n", start_time, end_time, te_count);      根据日志打印得知   te_count=0   

   if (te_count > (delayms / 1000) * TE_MIN_COUNT_PER_SECOND)

  return 1;

 else

return -1;    所以结果返回-1

  #else                       最后我们取消了宏控,执行下面这段代码

    set_rgb_color(0xffff);/*white*/                                显示白色

    #ifdef ZTE_LCD_CMD_TYPE_MODE  

   lcd_enable();

   #endif926   mdelay(5000);

   set_rgb_color(0xf800);/*red*/                        显示红色

}

修改后正常,log循环打印:

zte_lcd_precheck_mode: This is PV lcd check mode

zte_lcd_precheck_mode: This is PV lcd check mode

zte_lcd_precheck_mode: This is PV lcd check mode

2022.11.7

董远杰中期答辩_2022年.pptx

2022.11.5

今日笔记:

 vim bsp/kernel5.4/kernel5.4/drivers/gpu/drm/sprd/Kconfig

module里面加的宏在git diff  bsp/modules/kernel5.4/display/dispc/Kbuild

+#zte add for disable enhance func by board_name

+$(info zte lcd display ZTE_BOARD_NAME = ${ZTE_BOARD_NAME})

+ifeq ($(ZTE_BOARD_NAME),unicorn)

+$(info CONFIG_SPRD_DSI_SWITCH = ${CONFIG_SPRD_DSI_SWITCH})

+CONFIG_SPRD_DSI_SWITCH :=y

+$(info CONFIG_SPRD_DSI_SWITCH = ${CONFIG_SPRD_DSI_SWITCH})

+endif

 查看kernel宏是否生效    vim bsp/out/androidt/ums9620_2h10_native/obj/kernel/.config    在此文件里找找

lk里的屏幕.c生成后的位置在      ./bsp/out/androidt/ums9620_2h10_native/obj/lk/build-ums9620_2h10/platform/sprd_shared/driver/video/sprd/lcd/zte_lcd_tongxingda_icnl9911c2_6p517_mipi_hdplus.o

2022.11.3

今日笔记:

1、验证kernel里面dtsi是否生效的方法

在里面加一行   zte,lcd-version-v000

再cmd里adb   里   adb shell    "ls    /sys/firmware/devicetree/base/lcds"    可以看见兼容了几家屏幕

再cmd里adb   里   adb shell    "ls    /sys/firmware/devicetree/base/lcds/lcd_chipone_icnl9911c2_tongxingda_mipi_hdplus"    可以看见  zte,lcd-version-v000

2.  sprd定义的宏位置  bsp/out/androidr/umns9620_2h10_native/obj/kernel

2022.11.2

今日笔记:

1、不重复上传单据   git   --amend  再git  commit

git   commit   -m  "xx"

防止冲突方法,  git   pull  --rebase 后,如果冲突了,本地一解,再上传

防止修改文件属性命令  git   config  --replace  core.filemode   false

允许修改文件属性命令  git   config  --replace  core.filemode   true

切换分支,拉取最新代码,再比对上传:

 cd vendor/zte/kernelconfig/

 git branch -a |grep release

 git checkout -t zte/t-default-tiny-ccs

2022.11.1

今日笔记:

 P720S07_T查看是否编译,是否生成.o节点  

 ls bsp/out/androidt/ums9620_2h10_native/obj/lk/build-ums9620_2h10/platform/sprd_shared/driver/video/sprd/lcd/

2022.10.31

董远杰-10月总结汇报.pptx

今日笔记:

高通下载版本:三键齐按    或  adb reboot edl

判断是否编译执行了修改?   #error "cuole"如果运行到,停下报错   #warning "cuole"如果运行到,会打印出来

查看log定位问题可以搜索显示架构drm等关键字

2022.10.28

p720s07_t的lcd 驱动调试

参观产线

2022.10.27

1、  P720S07_T  的lcd驱动调试(进行中)

今日笔记:

T基线因为有overlay,所以可以单独编译dtbo,还可以单独编译bootloader   ./build.sh   P720S09_R  -m  dtboimage   -S

P720S07_T的lcd驱动,回顾具体做了什么:

1.    . c位置在\\10.95.240.190\dongyuanjie\sprd\P720S07_T\bsp\bootloader\lk\platform\sprd_shared\driver\video\sprd\lcd下

除了对着类似的.c改动以外还修改了

2.   git diff    project/zte_unicorn.mk        位置:bsp/bootloader/lk/project/zte_unicorn.mk

+#lcd

+LCD_UNICORN_TONGXINGDA_ICNL9911C2 := 1            加宏控,宏打开

+CONFIG_SPRD_DSI_SWITCH := 1

+

+CONFIG_LCM_GPIO_AVDDEN :=62

+CONFIG_LCM_GPIO_AVEEEN :=61

+GLOBAL_DEFINES += \

+CONFIG_LCM_GPIO_AVDDEN=62 \

+CONFIG_LCM_GPIO_AVEEEN=61 \

+CONFIG_SPRD_DSI_SWITCH=1

+

+#iovdd-gpio = <&ap_gpio 148 GPIO_ACTIVE_HIGH>;

+

GLOBAL_DEFINES +=  CONFIG_LCM_GPIO_AVDDEN=62

 CONFIG_LCM_GPIO_AVEEEN=61

 CONFIG_SPRD_DSI_SWITCH=1

在S11中lk里的函数宏定义

GLOBAL_DEFINES += ZTE_LCD_DISPLAY_SPLASH     <---宏定义

ZTE_LCD_DISPLAY_DEFAULT_BPP=8

ZTE_LCD_PANEL_DETECT

ZTE_LCD_SUPPORT_PANEL_OFF

 ZTE_LCD_SUPPORT_TE_PRECHECK

 ZTE_LCD_SUPPORT_TE_PIN_DSI0

 ZTE_LCD_TE_GPIO=12

CONFIG_LCM_GPIO_AVDDEN=189

 CONFIG_LCM_GPIO_AVEEEN=190 \

3.    git diff  platform/sprd_shared/driver/video/sprd/rules.mk          加config_xxx宏

+ifeq ($(LCD_UNICORN_TONGXINGDA_ICNL9911C2),1)

+GLOBAL_DEFINES += CONFIG_LCD_UNICORN_TONGXINGDA_ICNL9911C2

+MODULE_SRCS += \

+    $(LOCAL_DIR)/lcd/zte_lcd_tongxingda_icnl9911c2_6p517_mipi_hdplus.c

+endif

+

.c在\\10.95.240.190\dongyuanjie\sprd\P720S07_T\bsp\bootloader\lk\platform\sprd_shared\driver\video\sprd\lcd下

4.   git diff   platform/sprd_shared/driver/video/sprd/lcd/panel_cfg.h             用config_xxx,加 panel  driver

 extern struct panel_driver g40396_truly_driver;

+extern struct panel_driver icnl9911c2_tongxingda_driver;

#ifdef CONFIG_LCD_UNICORN_TONGXINGDA_ICNL9911C2

+       {

+               .lcd_id = 0xc3,

+               .drv = &icnl9911c2_tongxingda_driver,

+       },

+#endif

5   .c里包含了一个结构体

struct panel_driver icnl9911c2_tongxingda_driver = {

.info = &icnl9911c2_info,

.ops = &icnl9911c2_ops,

};

6.   git  diff    arch/arm64/boot/dts/sprd/unicorn/ums9620-2h10-overlay.dts              include 一下  kernel的dtsi

+#include "zte_lcd_tongxingda_icnl9911c2_6p517_mipi_hdplus.dtsi"

-                               sprd,max-brightness-level = <880>;

+                               sprd,max-brightness-level = <1023>;

brightness-levels = <  //亮度等级被修改了

-                                                         0   3   4   5   6   7

+                               /*                        0   3   4   5   6   7

                                          8   9  10  11  12  13  14  15  16  17

                                        766 772 778 784 790 796 802 808 814 820

-                                       826 832 838 844 850 856 862 868 874 880

+                                       826 832 838 844 850 856 862 868 874 880  */

+  0   5   5   5   6   8

+  9  10  11  12  13  15  16  17  18  19

+ 20  22  23  24  25  26  27  29  30  31

-       avdd-gpio = <&ap_gpio 192 GPIO_ACTIVE_HIGH>;

-       avee-gpio = <&ap_gpio 191 GPIO_ACTIVE_HIGH>;

+       avdd-gpio = <&ap_gpio 62 GPIO_ACTIVE_HIGH>;

+       avee-gpio = <&ap_gpio 61 GPIO_ACTIVE_HIGH>;

-&lcd_g40396_truly_mipi_fhd {

-       sprd,sr-width = <720>;

-       sprd,sr-height = <1600>;

-};

7.  在  vendor/zte/kernelconfig/sprd/configs/unicorn_diff_config    中

+#lcd

+ADD:CONFIG_SPRD_DSI_SWITCH

这里unicorn是板级名,新项目注意查看确认板级

8. 检查pinmap  avdd  avee  的GPIO  是否配置正确

9.检查   sprd/configs/okra_diff_config  是否配置正确

10. 检查 projects/P963F10_T.json  logo是否配置正确

11、检查 module/others/bsp/mfeature/kernel/kernel5.4/msoc/sharkl3/ko/zte_okra.mk  是否加载  ±6v  的ko

可以参考  http://10.67.16.29:8080/q/topic:%22P963F10_T+add+easyquick+aixiesheng+lcd+driver%22  节点

2022.10.26

1、  P720S07_T  的lcd驱动调试(进行中)

今日笔记:

 ls bsp/out/androidt/ums9620_2h10_native/obj/kernel/arch/arm64/boot/dts/sprd/unicorn/    

不看网站查板级驱动名

 回到项目目录,比如 P932F22_S     再repo sync -c bsp/kernel/kernel4.14/   拉取一小段最新代码

如果本地改过遇到报错,则  git log .   查看修改的序列号

 git reset --hard b76885ad6180f64eca49e73e661ddb5cc127d580   同步到最新的序列号

 git rm  platform/sprd    删去git里不需要再显示的已删去文件的命令    

 grep "lcd_g40396_truly_mipi_fhd" * -nR    查找与屏幕名相关的文档,定位可能涉及的需同时修改的文档                                                  

2022.10.25

1.  观摩学习师傅定位产线拿来的4台闪屏黑屏手机问题

2.跟师傅讨论交流lcd函数调用流程,准备月总结

查看闪频分析故障命令      cat /dev/kmsg |grep drm   看看有没有什么error

单独编译dtbo      ./build.sh P720S09_R -m dtboimage -S

想生成initcode节点       在  bsp/kernel/kernel5.4/drivers/gpu/drm/sprd 的    zte_lcd_reg_debug.c  上面加定义 LCD_INITCODE_DEBUG  的宏控

查看  initcode     cat sys/lcd_sys/reg_debug/initcode      最稳妥的找    zte_lcd_reg_debug.c  的方法是在 souing 上找

 adb shell   ls    /sys/lcd_sys/reg_debug   后会出现 如下节点

dread

dwrite

mipiclk

reserved

或者         dread  dwrite  esdcode  gread  gwrite  initcode  mipiclk  reserved

可通过 :

adb shell "echo FF55AA66 > /sys/lcd_sys/reg_debug/dwrite"

adb shell "echo FE55AA66 > /sys/lcd_sys/reg_debug/dwrite"           

adb shell "echo FF22 > /sys/lcd_sys/reg_debug/dwrite"      

adb shell "echo F403 > /sys/lcd_sys/reg_debug/dread"      F4寄存器,读取  3个寄存器

adb shell "cat /sys/lcd_sys/reg_debug/dread"   

来读取操作寄存器

查看lcd节点命令,查看lcd信息 ,查看lcd的使用的驱动程序  cat /proc/driver/lcd_id

cd /sys/class/display/    再ls   屏幕输出:   dispc0  dispc1  dphy0  dsi0  panel0    分别是2个展示控制和dphy

adb shell "ls    /sys/class/display/panel0/"   下有很多节点 :

device

esd_check_enable

esd_check_mode

esd_check_period

esd_check_register

esd_check_value

hporch

lane_num

name

of_node

panel_fps

pixel_clock

power

resolution

resume

screen_size

sprd_backlight

subsystem

suspend

uevent

vporch

waiting_for_supplier

adb shell   ls   /sys/class/display/    屏幕输出:  dispc0  dphy0  dsi  panel0

adb shell  cat      /sys/class/display/panel0/esd_check_enable    屏幕输出:1     表明esd检测已打开

adb shell   cat  /sys/class/display/panel0/esd_check_mode     屏幕输出: 0      0对应dtsi中的esd检测从寄存器里读取,1 为检测  TE  信号

adb shell  "echo  0 >     /sys/class/display/panel0/esd_check_enable"      关闭  esd  check

adb shell   "echo   1000 >  /sys/lcd_sys/reg_debug/dwrite"        可以通过这个模拟静电黑屏,看屏幕是否恢复。向10写入00数据,观察到屏幕熄灭后又亮了,因为这是在故意搞乱,esd检测到后使得芯片重启,恢复显示

adb shell  cat      /sys/class/display/panel0/esd_check_mode      屏幕输出: 0      0对应dtsi中的esd检测从寄存器里读取

adb shell  cat /sys/class/display/panel0/esd_check_register     屏幕输出:0x0a       代表esd检测的寄存器是10号

adb shell  cat /sys/class/display/panel0/esd_check_value         屏幕输出: 0x9c    

adb  shell  "echo    3400  >  /sys/lcd_sys/reg_debug/dwrite"

2022.10.24

1.  查看刷新率  cat    /sys/class/display/dispc0/actual_fps      显示60.4

2.  给手机安装软件.apk     adb  install  拖拉电脑的apk到窗口

对加载开机logo函数的学习.docx

2022.10.20

1、云CI验证K98_R AP侧代码修改

今日笔记:

对加载开机logo函数的学习,我通过函数找出了调用流程 zte_display_splash_screen_prepare  调用-> zte_read_logo-from_splash ->

common_raw_read(char* path_name ,4096,logo_info_offset,logo_info_arr)   在common_raw_read(part_name,size ,offset,buf)中通过

memcpy(buf,offset,size),将数据写入buf,即就是logo_info_arr里面,而logo_info_arr[4096]刚好对应之前的前4096字节里存放的是

boot logo 和charge logo的分辨率大小等信息,后面的字节存放实际图片内容

2022.10.19

观摩学习师傅解决k98的背光比屏幕后关闭故障

发现git能拉代码,但无法上传单据,找同事改git配置解决

今日笔记:

如果电脑连接的有两个手机可以adb选择一个进入   adb devices

显示  

324226320141    device

327325630084    device

选择一个进入   adb -s 327325630084 shell

高通平台进入下载模式adb reboot edl,ports 口才会出来,或者高通的三键齐按

单独编译高通的bootimg命令    ./build.sh K98_R -m out/target/product/bengal/boot.img -S

编辑宏控文件   vim vendor/zte/kernelconfig/qcom/configs/boards/chestnut_diff_config

里面加入一个宏  ADD:CONFIG_ZTE_LCD_CLOSE_DIMMING

编辑kconfig文件   vim kernel/msm-4.19/drivers/gpu/drm/Kconfig

设置配置  

 config ZTE_LCD_CLOSE_DIMMING

     bool "add for close lcd ic dimming function"

     default n

如果光有上面的的kconfig,而没有上面的ADD宏,那么在编译后.config里CONFIG_ZTE_LCD_CLOSE_DIMMING会显示not set

编译后查看宏配置是否生效  vim out/target/product/bengal/obj/KERNEL_OBJ/.config

CONFIG_ZTE_LCD_CLOSE_DIMMING=y  已生效

运用宏来改.c逻辑,修改.c  vim kernel/msm-4.19/techpack/display/msm/dsi/dsi_panel.c

#ifdef CONFIG_ZTE_LCD_CLOSE_DIMMING

    if (bl_lvl == 0) {

        int error_ret;

        const char CMD53 = 0x24;

        error_ret = mipi_dsi_dcs_write(dsi, MIPI_DCS_WRITE_CONTROL_DISPLAY, &CMD53, 1);

        /*if (error_ret < 0)

        return error;*/

        pr_info("MSM_LCD Sends 53 cmds,error_ret=%d\n", error_ret);

    }

#endif

2022.10.18

1、K98项目拉代码,编译版本、借机器,和装高通的下载工具

2、学lcd图片加载相关的函数和内容

2022.10.17

改sh脚本,修复bootlogo重复载入boot_logo.bmp问题,并上传单据

写bat脚本,实现比较两个cat结点值是否相等(进行中)

单独编译pic_ref下的内容命令     ./build.sh  P932F22_S  -m splashimg -S -I  2>&1 | tee -a test3.log   -I是跳过一些内容,加速编译

进入校准模式   高通 adb reboot ftmmode

展锐 adb reboot cftreboot     (AT+ZREBOOTCALI)    会出现一个  com   口

MTK adb reboot meta

image.png

2022.12.12

查看有哪些可用的    dpu_core_clk   ,需要先确认在哪一个   global_dispc.c .c   里找

 ls   bsp/out/androidr/sp7731e_1h10_native/obj/u-boot15/drivers/video/sprd/    查看是哪一个?  例如 pike2/global_dispc.c

SPRD_DIAG  (COM 16)   是校准模式的com口

P732F21_R和P963F60_R是一个souing代码库

DPI_CLK_SRC   数组里

2022.10.13

1、P963F91的二供屏st7701点亮

2、P932F22的开机logo有白点,我认为是用画图打开另存为256色位图时不小心点上的,下回多检查避免这类低级问题,logo重新改过后上传了

今日笔记:

开机logo生成的img文件在Boot Logo分区里面。具体名称比如,P963F22里的Boot Logo:

在GAIA 网站里的LOGO配的是   LOGO_BIN_NAME  :unisoc_HD_720_1280_24bit.bmp

最后在下载工具里的Boot Logo是   D:\MYFILE\ResearchDownload_R25.21.0802\Bin\ImageFiles\_DownloadFiles1995C_19B8E805_0\unisoc_HD_720_1280_24bit.bmp

刚好对应,如果更换logo后想单独编译一下,用命令   ./build.sh P932F22_S  -m splashimg -S  

lcd学习指南总结:

lcd有两种工作模式,video mode和command mode,video mode模式需要持续刷新显示器,不需要帧缓冲器;command mode有帧缓冲器不需要定期刷新,定时器会从帧缓冲器取数据显示在屏幕上。video mode虽节省了帧缓冲器,但是定期高速发送DSI视频报文消耗了大量能量,command mode在显示器中集成全帧长帧缓冲器需要成本

中间具体改dtsi的我总结过;后面波形图的内容不大看得懂

2022.10.12

1、p932f22验证二供屏正常,上传单据

2 p963f91二供屏st7701驱动加好了,但是现在只是uboot生效了,kernel似乎没编进去还没有生效

今日笔记:

快速在项目目录里找到板级驱动   ls bsp/out/androids/s9863a1h10_go_32b_2g/obj/kernel/arch/arm/boot/dts/pitaya/   (多次tab补齐)

以P932F22_S为例,含义是   ls bsp/out/androids/sp9832e_1h10_go2g/obj/kernel/arch/arm/boot/dts/rosemary/   sp9832刚好对应P932F22_S,

后面就是kernel里面修改dtsi的路径

刚下载编译好,下载版本到手机,改动代码前看看初始的代码有没有问题

如果屏幕不亮,在有口的条件下,cat  /proc/driver/lcd_id  看是否加载了正确的驱动程序    也可   cat   /proc/cmdline   查看lcd_name是否符合预期

如果怀疑uboot没有编译进来,可以先单独编译uboot,刚好也花不了太多时间

2022.10.11

1、P932F22二供屏点亮

2、遇到一些initial-comand不符合展锐格式的改成了展锐格式,和屏幕不亮的一些解决方法

3.接下来的计划:具体的学习一下开机logo图片是怎么样,转化成bin文件加载到内存和最后输出到屏幕的  ,我在程序里面找一下相应的函数

下面是今天的笔记:

开机logo流程:boot logo会先转换成boot.bin,boot.bin里前4096字节里存放的是boot logo 和charge logo的分辨率大小等信息,后面的字节存放实际图片内容

不要用\\注释,不要用printk函数,用print_info函数

屏幕还是没亮采取的策略:  不是平台侧控制背光,是IC控制输出pw信号控制背光,找创维lcd ic 厂的FAE要输出30k的pw波的指令,厂商发来如下指令:

39 01 00 00 00 00 06 FF 77 01 00 00 10

39 01 00 00 00 00 02 BB 00

39 01 00 00 00 00 02 CD 00

39 01 00 00 00 00 02 CA 11

39 01 00 00 00 00 02 BC 01

39 01 00 00 00 00 02 51 00

39 01 00 00 00 00 02 53 0C

39 01 00 00 00 00 02 55 00

39 01 00 00 00 00 02 5E 03

这些指令,不符合展锐的风格,我把它们转换成符合展锐风格的格式,如下:

39 01 00 06 FF 77 01 00 00 10

39 01 00 02 BB 00

39 01 00 02 CD 00

39 01 00 02 CA 11

39 01 00 02 BC 01

39 00 00 06 FF 77 01 00 00 00

39 00 00 02 51 ff/*zuiliang,yuanlaishi 00*/       51后面的数据原来是00,为了让它以最大的亮度显示,我将这里改成了ff

39 00 00 02 53 0C

39 00 00 02 55 00

39 00 00 02 5e 03/*yishang 4 hang*/               我把它们放在最后一个指令29的前面

05 20 00 01 29   这是initial-command最后一条指令29

还是没亮   --->  找硬件测PW波形,发现没PW波信号  ---->  找厂商要自测模式,发来自测模式如下:

WriteComm (0xFF);

WriteData (0x77);

WriteData (0x01);

WriteData (0x00);

WriteData (0x00);

WriteData (0x12);//bank2

WriteComm (0xD1);

WriteData (0x81);

WriteComm (0xD2);

//WriteData (0x05);//黑色白边框

//WriteData (0x06);//棋盘格

WriteData (0x08);//彩条

WriteComm (0x29);//display on   最后29对应initial-command的最后一条指令   05 20 00 01 29  打开显示

我把它们按照展锐的格式加在initial-command的倒数第二个指令:

39 00 00 06 FF 77 01 00 00 12

39 00 00 02 D1 81

39 00 00 02 D2 08

屏还没亮,找硬件部把背光强制拉高,看看结果  --->   强制拉高后屏亮了,接下来用电池也能亮屏,只是注意主板拆下来后,

要按电源开机或下版本,一定要把主板往中壳按下去,这样电源按钮才能短接,电源键才能用

最后为了速度快一些,我把 sleep-in-command 中的 05 78 00 01 28 中的延时120ms改成了32ms ,修改后的指令是   05 20 00 01 28

直接通过adb指令改porch :

 cd /sys/class/display/panel0/

ls     在ls后可以看到hporch   和  vporch

cat hporch     屏幕显示: hfp=20 hbp=20 hsync=8

echo 42 42 8 > hporch

echo 48 48 8 > vporch

input keyevent 26  相当于按下power键

2022.10.10

9月总结

月总结.docx

内核启动时u-boot传入参数:       cat /proc/cmdline    

在修改dtsi文件的initial-command中,一般含有文件名比如  zte_lcd_lcetron_st7701_hsd_4p95_480p.dtsi   中的initial-command  里有   39 00 00 06 FF 77 01 00 00 00

这样含有文件名7701的指令,意义是切换7701的page寄存器,通常在initial-command最后一个切换page寄存器指令是切换到寄存器编号为0的指令,比如

在前面可能是     39 00 00 06 FF 77 01 00 00 13    在initial-command快要结束的时候切成  39 00 00 06 FF 77 01 00 00 00 ,以便后面的其它诸如sleep-in-command执行

2022.10.9

39                        00                         00 03                         7A 13 1A    是展锐平台initial-command格式

1     1           2

MIPI_CMD_TYPE         delay_time         register_count           register_value(把值13,1A写给寄存器7A)

在初始化参数的39,15,05等是MIPI命令,随后一个字节是延时时间,其后两个字节 00 03表示后面有三个寄存器值

例如  05 78 00 01 11 //delay 120ms   第二个字节是十六进制78表示延时120ms

在mtk平台写法变成     39 00 00 08 69 14 22 14 22 44 22 08  = 0x69, 07, 14 22 14 22 44 22 08  把69寄存器写在前面,后面还剩7个寄存器和值

在兼容第二家屏前,先通过下载版本到手机来看看之前程序有没有问题,无误后再下一步,有误则重新拉取程序编译和修改

在有口的情况下展讯平台下版本可以直接通过   reboot autodloader (adb shell下)    adb reboot autodloader   (cmd下)

2022.10.8:

一个驱动测试,包括驱动代码、dts修改、编译控制修改等

在\\10.95.240.190\dongyuanjie\sprd\P720S09\bsp\kernel\kernel4.14\arch\arm64\boot\dts\sprd\snail\     touchscreen_snail.dtsi  改写   test.dtsi    

/ {

zte_test:zte_test {

compatible = "zte_test";

  };

};

在\\10.95.240.190\dongyuanjie\sprd\P720S09\vendor\zte\kernelconfig\sprd\configs\snail_diff_config   (因为板级驱动 ZTE_BOARD_NAME 就是snail)    中加入

ADD:CONFIG_A

最后按照之前的方式把它上传之后,很快在网页里点击三个点把它设置为work in progress,这样其它人就不会加1

今天发现展锐平台的log用一个批处理文件抓完后打开看乱码,需要运行一个.py的python脚本双击解析出新文档才能看,安装python脚本的时候要注意勾选加入环境变量,这样之后双击.py的analyzer.py脚本才有新的解析后的不乱码的文档生成

2022.9.30

1 修改P932F22的bootlogo和重新拉取代码,修改bootlogo地址: \\10.95.240.190\dongyuanjie\sprd\P932F22\vendor\zte\resourceimg\pic_res\boot_logo\V11_2021new\1014_480

2  单独重新拉取一个小manifest的代码: 回到项目目录,比如 P932F22_S     再repo sync -c vendor/zte/resourceimg

3 commit代码的另一个方法,git commit

输入文字

(空行)

@type RQ

F3

回车

CTRL+X  退出

apush   (提交)

2022.9.13

1、参加二轮培训,学习了《认识终端启航第一课》和《终端战略及产品知识》、《职业发展规划》学到了要善于觉察

和对制定的目标要有行动力,要有独立的思考和行动,成就自我,再成就公司。

2022.9.9

1、单独编辑bootimage,得到的文件路径是P720S07/out/target/product/ums9620_2h10

2、在bsp/kernel/kernel14.14/drivers/gpu/drm/sprd/zte_lcd_common.c中加入proc节点的代码

2022.9.8

1、单独编译的命令        ./build.sh P720S07_R  -m bootimage -S

2、查看手机日志     cat /dev/kmsg

3、编译了我的Proc节点,ls能查看到,但是read和write有问题导致cat和echo节点后手机死机,接下来我要仿照着源码改程序。

2022.9..7  

一、在师傅指导下,在\\10.95.240.190\dongyuanjie\sprd\P720S07.1\bsp\kernel\kernel4.14\drivers\gpu\drm\sprd\zte_lcd_common.c    中加了一个很简单的proc节点,源码是

#define FILE_NAME              "my_test_procfs"

 static ssize_t test_proc_read(struct file *file, char __user *buffer, size_t count, loff_t *ppos)

{

printk(KERN_INFO  "hello");

 return 0;

}  

static const struct file_operations test_ops =

 { .owner = THIS_MODULE,

 .read = test_proc_read,

};

在一定会执行的代码下加入

 proc_create(FILE_NAME, 0664, NULL, &test_ops);

image.png

image.png

image.png

二、同事指导的在proc下产生一个节点需要执行的步骤:

1、在\\10.95.240.190\dongyuanjie\sprd\P720S07.1\vendor\zte\kernelconfig\sprd\configs下的unicorn_diff_config下输入

ADD:CONFIG_A

2、在\\10.95.240.190\dongyuanjie\sprd\P720S07.1\bsp\kernel\kernel4.14\drivers\vendor\common\下创建自己文件夹c,c里再存放makefile和kconfig以及自己的a.c

2.1、makefile内容如下:

#drivers/test/Makefile

#

#Makefile for the test

#

#ccflags-y += -I$(srctree)/drivers/vendor/common/touchscreen_v2/test/

ccflags-y += -I$(srctree)/drivers/vendor/common/c

obj-$(CONFIG_A) += a.o

2.2、kconfig内容如下:

config A

bool "A support"

default n

help

  Say Y here to enable debug test.

  If unsure, say N.

3、父目录\\10.95.240.190\dongyuanjie\sprd\P720S07.1\bsp\kernel\kernel4.14\drivers\vendor\common\下

makefile内容:

#

obj-$(CONFIG_A)  += c/

kconfig内容:

#

source "drivers/vendor/common/c/Konfig"

最后单独编译命令 ./build.sh P720S07_R -S -m bootimage    得到的image路径为 P720S07/out/target/product/ums9620_2h10

存在的问题:

再看源码时函数调用比较复杂,像是上回的dtsi文件里的reset-on-sequence都没有一路追踪到®ister

2022.9.5

在同事指导下修改P720S07的γ参数,再编译版本,下载版本到手机,成功上传一次代码

用到的命令是:

git status .

git add xxx.dtsi

git commit   然后CTRL+X先退出,在是否保存输入Y确认保存,再回车,即可本地提交成功

git  log  查看本地提交情况

cat .git/refs/remotes/m/release-zte  查看上传分支

屏幕显示:ref: refs/remotes/zte/r-sprd-5g-v1

git push zte HEAD:refs/for/r-sprd-5g-v1

接着网页设置boot和kernel下的文件同一topic关联起来,再点击reply给自己加1

2022.9.1

使用P720S07的熊猫屏修改后的配置文件重新编译程序,下载了版本,配置文件在uboot和kernel中都有,所以一次改两处,路径是P720S07/bsp/bootloader/boot/soic

学了linux中的信号,通过signal函数来注册信号处理函数,signal函数中的两个参数分别为信号的宏和发生此信号的回调函数signal_handler,回调函数是由内核调用,不是由程序员调用,程序员只注册信号处理函数,以下是以前写的利用信号实现父进程回收子进程。sigaction函数注册信号SIGCHLD的信号处理函数(此处用sigaction,因为sigaction无论UNIX还是 Linux都可以用,更通用。虽然signal函数更简单些。)

2022.8.31

1.  学了poll轮询函数和select函数,联系到之前的Linux网络编程里写高并发服务器的时候用到过,当时是说poll函数监控发生变化的文件描述符,可以取代多进程和多线程版本的服务器,相比少了进程切换的开销,以下是之前使用poll函数写高并发服务器server.c的程序:

2022.8.30

P932F22开机logo已经好了,是把sprd.main.c中的文件里一个字符串后面_a取消了就好了,今天熟悉了当出现屏幕相关问题,可以抓log看看哪里出了问题,再结合一个搜索代码的网站,定位代码出错位置再修改

P932F22的开机logo位置是  \\10.95.240.190\dongyuanjie\sprd\P932F22\vendor\zte\resourceimg\pic_res\boot_logo\V11_2021new\1014_480  ,了解了sprd平台开机logo要设置成8bit,画图工具打开,另存为256位即可

修改两个dtsi里的内容,在uboot里改lcd_id 烧录id,一次改两个位置,然后改porch,在kernel只需改porch

需要修改两个dtsi位置为  

\\10.95.240.190\dongyuanjie\sprd\P932F22\bsp\bootloader\u-boot15\arch\arm\dts\rosemary          

         \\10.95.240.190\dongyuanjie\sprd\P932F22\bsp\kernel\kernel5.4\arch\arm\boot\dts\rosemary

在分别include一下:在kernel里的arch/arm/boot/dts/rosemary/zte_lcd.dtsi和uboot里的arch/arm/dts/rosemary/sp9832e_1h10_32b.dts里面分别include一下就好

 单独编译   ./build.sh P720S07_R -S -m bootimage   单独编译uboot    ./build.sh P720S07_R -S -m bootloader   编译后的结果是u-boot-sign.bin

2022.8.29

今天学习了加载开机启动logo的内容,首先根据物料信息更改JSON上面的分辨率等相关配置,然后git上传

阅读了.sh和.py两个脚本,Python脚本里面有个读取bmp文本的函数,boot logo的bmp图片会先转换成boot.bin存在内存中,

boot.bin里前4096字节里存放的是boot logo 和charge logo的分辨率大小等信息,后面的字节存放实际图片内容,最后再由其它地方的程序加载显示在屏幕上。

2022.8.26

参与了P932F22项目,现在屏幕亮了,在这个过程中,学习了改程序的套路和提交命令,熟练了下载版本等操作

看完了mtk关于LCD的源码,觉得和之前的设备驱动结构有些类似,还需要再看看书本,了解LCD相关的内容,看看LCD驱动编程通常需要实现哪些函数

2022.8.25

学习了看与LCD相关的电路图,这样一旦程序出问题,我们还可以拿万用表来测量一些电压,锁定问题,了解了pwm调光,我们的pwm调光来源有两个,一是显示IC,而是CPU芯片,ap侧

学习了已经兼容了第一家屏的基础上,如何改代码兼容第二家屏,通常来说,如果能兼容第一家屏的话,说明了供电没有问题,这时候只需要复制第一家屏的uboot文件和kernel文件,换2个porch和ID就行了

第三就是找板级,方法是JSON系统——项目名——项目配置——board name。

修改好的新LCD驱动,单独编译后输出的内容在bsp/out/target目录下

2022.2.24

学习内容:

1. 下载了开源的mtk的源码,找到了LCD相关的程序在阅读

2. 最近这几天把Python基础看完了,因为之前见到同期入职的同事再拿Python写脚本,而且之前领导也问我会不会Python,问了两次,现在我把Python基础过完了,但是最后再做一个关于Python面向对象特性的项目飞机大战的时候,pygame一直装不上,可能是因为我为了运行流畅而装的Ubuntu14.04版本老的缘故,视频中老师一行安装代码能行,但是我用就会报错,下面是我看的mtk程序和写的Python代码

2022.8.18

学习内容:

看了书并发与同步控制的一章,发现很多函数原型和之前看的视频不一样,就拿之前看过的基于信号量实现的生产者消费者模型来说,下面以前的程序

视频教程都用的sem_wait和sem_post中间夹着临界区,而书本则是down和up

IMG_20220818_220641.jpg

而在man手册直接查不到down这个系统调用,不过感觉似乎表达的意思差不多

最后还是感觉以前看的视频更简单些,以前的视频介绍的是互斥锁,条件变量(条件变量不是锁,通常配合互斥锁一起使用),读写锁(读写锁是一把锁,读共享,写独占。写锁优先级更高。),信号量以及最后基于信号量实现的生产者消费者模型(允许一定程度的并发)。

2022.8.17

学习内容:

借到了展瑞的p720s09手机,拉取源码并编译

学会了adb 下cat  proc/driver/lcd_id看LCD的版本,再通过soud网站查询LCD的源码

看了一些竞态与并发相关的内容,了解了读写锁和自旋锁

明日计划:

学互斥锁与信号量

2022.8.16

学习内容:

1、《看懂原理图》一文看了一遍,起初这篇文章打不开,联系了作者还是打不开,即使作者开了权限也打不开,后来在it网站提交问题,十分钟后解决,说是原因是:服务器异常

2、完成三门线上考试

3、看了新加驱动后kconifg和makefile内容怎么改

明日计划:

学Linux设备驱动中的并发控制

存在问题:

不知道kconfig加在哪,以及写完kconfig后的后续操作和验证程序

2022.8.15

学习内容:

 下载 MTK 平台 版本工具,遇到无法下载问题。需要安装 MTK 平台的 Preloader 端口驱动 才能正常下载。联系一位同事发来驱动解决

明日计划:

学adb调试,打印分析log

2022.8.12

学习内容:

完成了字符驱动程序编写

明日计划:

找IT解决repo拉代码报错

等mtk手机申请处理完成,然后借手机

image.png

image.pngimage.png

image.pngimage.pngimage.pngimage.pngimage.png

2022.8.11

学习内容:

学习字符设备驱动开发内容

参考教材,已经写了一半的字符驱动程序了

明日计划:

写完整个字符驱动开发程序

存在问题:

repo命令报错,拉代码报错

文件位置     ./vendor/honor/chipset/qcom/sm8650/devicetree/honor_display/panel/dtsi/ROD2/dsi-panel-260-a20-12p3-cmd-dphy-ver-000.dtsi
gerrit位置honor/chipset/qcom/sm8650/devicetree/honor_display/dtsi/dtsi/dtsi/dsi-panel-260-a20-a20-12pp3-cmd-dphy-ver-000.dtsi.dtsi


260_A20.C

文件位置   ./vendor/honor/chipset/qcom/base/kernel/drivers/lcd/panel/rod2/260_a20.c
Gerrit位置荣誉/芯片组/QCOM/base/base/kernel/drivers/lcd/panel/rod2/260_a20.c

BZL MSM/lcdkit/panel/rod2/260_a20.c
文件位置   ./vendor/qcom/opensource/display-drivers/display_modules.bzl
gerrit位置平台/供应商/opensource/display-drivers/display_modules.bzl


kbuild lcdkit/panel/rod2/260_a20.o \
文件位置   ./vendor/qcom/opensource/display-drivers/msm/Kbuild
gerrit位置平台/供应商/opensource/display-drivers/msm/kbuild

DTSI中中

&sde_dp {
  状态=“禁用”;
};

QPST的::
C:\ programData \ Qualcomm \ qpst

代码在代码::
struct mipi_dsi_msg {
  U8频道;
  U8类型;
  U16标志;

  size_t tx_len;
  const void *tx_buf;

  size_t rx_len;
  void *rx_buf;
 };

 struct DSI_CMD_DESC {
  struct mipi_dsi_msg msg;
  bool last_command;
  U32 POST_WAIT_MS;
  U32 ctrl;
  U32 ctrl_flags;
  ktime_t ts;
 };

struct DSI_PANEL_CMD_SET {
  enum dsi_cmd_set_type类型;
  ENUM DSI_CMD_SET_STATE状态;
  U32计数;
  u32 ctrl_idx;
  struct dsi_cmd_desc *cmds;
 };


高通初始代码::

-QCOM,MDSS-DSI-Panel-status-command:由多个DCSPACKET形成的字节流
 QCOMDSI控制器协议,读取面板状态。
 此价值用于踢出ESD恢复。
 字节0:DCS数据类型
 字节1:设置指示这是一个单独的数据包
 (没有链)
 字节2:虚拟通道号
 BYTE3:期望客户端(DCS Read命令)的ACK
 BYTE4:DCS命令后指定的MS的等待次数
 传输
 字节5、6:16位的网络字节顺序长度
 BYTE7及以后:有效载荷的数字字节
 长度长度的数数,用于用于面板面板的
关于关于,请请\ drivers \ video \ msm \ mdss \ mdss_dsi.h中dsi_cmd_desc结构
Qcom dsi控制器控制器控制器协议协议协议数据数据包构成的字节流字节流字节流
字节0 -  DCS数据数据字节字节
1  - 设置字节表示是独立数据包()字节
2  - 虚拟虚拟编号
3  - 需要来自端确认确认确认确认读取读取读取)字节)
4  -  DCS命令命令等待指定的毫秒毫秒
5、6  - 按按字节顺序列出列出列出列出位位
7及 - 净荷净荷的数数


  05 01 00 00 ff 00 01 11

  cmd [i] .msg.type = data [0];
  cmd [i] .msg.channel = data [2];
  cmd [i] .msg.flags | = data [3];
  cmd [i] .ctrl = 0;
  cmd [i] .post_wait_ms = data [4];
  cmd [i] .msg.tx_len =((数据[5] << 8)|(data [6]));
  有效载荷[J] =数据[7 + j];

-QCOM,MDSS-DSI-ON-COMMAND:由多个DCS数据包形成的字节流
  QCOM DSI控制器协议。
  字节0:DCS数据类型
  字节1:未使用
  字节2:虚拟通道号
  字节3:消息标志
  字节4:DCS命令后指定的MS的等待次数
  传输
  字节5、6:16位的网络字节顺序长度
  字节7及以后:有效载荷的数字字节

打包打包条:40就就打包打包,要要打包打包打包打包是的是打包是是打包打包打包打包打包打包打包打包条条条条的话前四四条条条条条条条条条条条条四四四用用
  字节3 = 00(表明这是一个单独的数据包)
  字节3 = 40(表示这将附加到下一个
  数据包流中的单个数据包)


  7.3.8,通用读取请求,数据类型= 00 0100(0x04),01 0100(0x14),10 0100(0x24)
通用阅读请求有3种类型::

数据类型= 00 0100(0x04):0个参数;
数据类型= 01 0100(0x14):1个参数;
数据类型= 10 0100(0x24):2个参数;

  7.3.9.1,dcs短写命令,数据类型= 00 0101(0x05),010101(0x15)

  通用长写,数据类型= 10 1001(0x29)

  7.3.9.3,dcs long write / write_lut命令,数据类型= 11 1001(0x39)十六十六进制

  enum dcs_cmd_type {
 dcs_cmd_short_wr = 0x05,
 dcs_cmd_rd = 0x06,
 dcs_cmd_wr = 0x15,
 dcs_cmd_long_wr = 0x39,
 dcs_cmd_delay = 0xff
};

enum gen_cmd_type {
 gen_cmd_rd = 0x14,
 gen_cmd_long_wr = 0x29,
};


  若若改了honon_display/panel/xml/rod2/rod2_260_a20_123_cmd.xml产物
  -rw-rw-r-- 1 DJ0011744 DJ0011744 3158332 5月24日17:59 ./boot.mxf.2.1/boot_images/boot/qcompkg/socpkg/socpkg/palawan/palawan/palawan/bin/bin/bin/laa/laa/release/release/release/ueelease/uefi.elf

  第406行:FastBoot Flash Uefi D:\ MyFile \ Myfile \ Factory \ 2401_底\ factory \ Factory \ Factory_version \ bootloaderimage \ Qual_fac_download_tools_1.1 \ .. \ bootloaderloaderimage/uefi.elf/uefi.elf/uefi.elf


查看面板
adb shell cat sys/class/graphics/fb0/lcd_model


屏幕区::
C:\ USER \ DJ0011744> ADB SHELL CAT SYS/class/graphics/fb0/lcd_model
260_A20 12p3 3000 x 1920 Project_HD119 VER_001
C:\ Users \ DJ0011744>


Git Show头
查看头头和


HBM模式(高亮度模式)
aod模式(始终在显示),,

HDR:
高动力范围,hdr),相比相比的的的动态动态范围的,可以的,可以可以提供更多动态

的曝光时间的LDR(Low-Dynamic Range,低动态范围图像),并利用每个曝光时间相对应最佳细节的LDR图像来合成最终HDR图像。
它能够更好地反映出真实环境中的视觉效果。

git clone -b honor_u_factory_MagicOS8.0.1_rod2_20240229_chipset_qcom_sm8650 ssh://dj0011744@mgit-tm.ipd.hihonor:29418/platform/vendor/opensource/display-drivers
拉单仓,好上传 
honor_u_factory_MagicOS8.0.1_rod2_20240229_chipset_qcom_sm8650    是分支名
ssh://dj0011744@mgit-tm.ipd.hihonor:29418/platform/vendor/opensource/display-drivers    可以由 cherrypick   复制只要前面一点内容得到,
也可点  Project --  List   -- Filter 里搜 display-drivers   (Project  后几位) ,然后复制   git clone ssh://dj0011744@mgit-tm.ipd.hihonor:29418/platform/vendor/opensource/display-drivers


串口管控方案

为了提高性能串口默认是关闭的状态,不打印kernel和lk日志,串口log管控方案合入后,可以通过fastboot命令打开或者关闭串口log.

1)高通平台:

adb reboot bootloader

fastboot 解锁

fastboot oem uart enable/disable

fastboot reboot

注:波特率为115200

fastboot oem uart status可以查看当前串口开关状态

高通平台开启串口后,手机会比较卡顿,且容易发生dump,故测试完成后及时关闭串口。

2) Mtk平台

adb reboot bootloader

fastboot 解锁

fastboot oem p2u on/off

fastboot reboot

注:MTK平台的波特率为921600

可以通过cat proc/cmdline查看其中的参数来查看当前串口开关状态

mtk_printk_ctrl.disable_uart=1表示串口打印关闭

mtk_printk_ctrl.disable_uart=0表示串口打印开启

串口开启后,连接串口线,打开串口工具,根据平台不同设置对应的波特率,即可抓取串口log。


读 id  log  ,关键字 IdPin
    Line 399: (bootloader) eDisplayId: 0, GpioIdPin: Id0:54, Id1:54
    Line 400: (bootloader) eDisplayId: 0, GpioIdPinGroup: Id0:6, Id1:6
    Line 401: (bootloader) eDisplayId: 0, GpioIdPinBus: Id0:0, Id1:0
    Line 404: (bootloader) IDPIN gpio down
    Line 406: (bootloader) IDPIN gpio down
    Line 409: (bootloader) LcdkitDynamicGetPanelId: IdPin = 0x00 !
    Line 410: (bootloader) eDisplayId: 0, GpioIdPin: Id0:54, Id1:54


异常,默认屏,读id
    Line 401: eDisplayId: 0, GpioIdPin: Id0:54, Id1:54
    Line 402: eDisplayId: 0, GpioIdPinGroup: Id0:6, Id1:6
    Line 403: eDisplayId: 0, GpioIdPinBus: Id0:0, Id1:0
    Line 406: IDPIN gpio down
    Line 408: IDPIN gpio down
    Line 410: LcdkitDynamicGetPanelId: IdPin = 0x0A !
    Line 411: eDisplayId: 0, GpioIdPin: Id0:54, Id1:54
    Line 1116: eDisplayId: 0, GpioIdPin: Id0:54, Id1:54
    Line 1117: eDisplayId: 0, GpioIdPinGroup: Id0:6, Id1:6
    Line 1118: eDisplayId: 0, GpioIdPinBus: Id0:0, Id1:0
    Line 1121: IDPIN gpio down
    Line 1123: IDPIN gpio down
    Line 1125: LcdkitDynamicGetPanelId: IdPin = 0x0A !
    Line 1126: eDisplayId: 0, GpioIdPin: Id0:54, Id1:54
    Line 1677: Unable to get Panel IDPin, 14


uefi  log
fastboot oem log

花屏了,抓完   log  后 并标明花屏时故障机上的时间,后续可以做的几个动作:
1、基本排查一下是送图都是花的 ? 还是送图  ok  ,  是仅屏幕显示花 ?
方法: 出现花屏后截屏、录屏或投屏,得到的图片,录像、投屏看起来花么 ?如果花,那么就是送图都是花的, 得找上层解决,不关驱动的事  ;如果从屏幕看起来花,截图等却正常,那就是屏幕问题,可能得部件、驱动分析

1、显示图像有多个图层,  hwc  这个软件也能渲染图片, 验证    hwc   代码是否有问题 ?
方法: 关闭   HWC  ,强制使用  gpu  处理图像画面 ,如果  关闭   HWC  后,故障消失或不复现了,那就是  hwc  代码有问题,需要和客户商量方案
2、如果怀疑图层叠加问题,那么试着规避叠加
方法: 用  bist  code  (或 mtk  平台有 test  pattern) ,显示纯色界面  ,看一下屏幕是否显示正常 ? 如果显示异常,则模组端分析,

dump   界面了,9008  刷版本:
三键齐按退dump   -    只要一有显示马上按音量下,进 fastboot   -  fastboot oem edl   进 9008

adb  reboot   edl  直接进  edl

生产同学看  shared_pref   来确认有无报错,如  te  timeout
D:\MYFILE\Getlog老化\Logs_35.0_b7ea82a2_20240330162454\07_RunningTest_log\shared_pref\rt1_dmd_content.xml

te   timeout  报错搜索   sde_|lcd|drm   关键字
    Line 12534: 02-19 01:00:16.800 <3>[   30.964971][ T1141] [2024:02:19 01:00:15](3)[1141:crtc_commit:168][drm:_sde_encoder_phys_cmd_handle_wr_ptr_timeout:2208] [sde error]enc68 intf1 wr_ptr_irq wait failed, switch_te:0
    
log 打印:

    Line 4815: 02-20 03:19:25.859 <3>[   25.866571][ T1152] [2024:02:20 03:19:25](6)[1152:crtc_commit:169][drm:_sde_encoder_phys_cmd_handle_wr_ptr_timeout:2208] [sde error]enc68 intf1 wr_ptr_irq wait failed, switch_te:0

    Line 5958: 02-20 03:17:04.930 <3>[   78.958552][ T1669] [2024:02:20 03:17:03](0)[1669:vendor.honor.ha][drm:lcdkit_panel_cmd_rx [msm_drm]] *ERROR* [lcdkit /E]: recv_buf_len is less

    Line 6935: 02-20 03:17:26.856 <6>[  100.882822][ T1669] [2024:02:20 03:17:26](1)[1669:vendor.honor.ha][drm] [lcdkit /I]: lvd read reg error
    Line 6936: 02-20 03:17:26.856 <3>[  100.882843][ T1669] [2024:02:20 03:17:26](1)[1669:vendor.honor.ha][drm:lcdkit_ddic_lv_detect_show [msm_drm]] *ERROR* [lcdkit /E]: ddic lvd judge fail


新的查看 dmd  是否报错
D:\MYFILE\老化Getlog\龙锋_生产_0307Logs_35.0_31ff9bc3_20240308101826\07_RunningTest_log\shared_pref\rt1_dmd_content.xml


wmic bios get serialnumber 获取电脑SN号


lcd文档:
http://tplcd.rnd.hihonor/docs/%E7%9F%A5%E8%AF%86%E6%96%87%E6%A1%A3%E6%80%BB%E7%BB%93/2%E3%80%81%E7%9F%A5%E8%AF%86%E7%A7%AF%E7%B4%AF%E7%B1%BB/Honor-panel.html

刷版本:
https://elink.e.hihonor/docx/doxlrXVcK9LA6SIoCjZnibTuuqW


bring up  的代码:
http://

dtsi


zj0010898@siashcsitd03596:~/code/rod2_fac_20240129/.repo/manifests$ grep -nir "platform/vendor/opensource/display-drivers"


dtbomiage  位置:
/mnt/disk/zj0010898/code/rod2_fac_20240126/ap/out/target/product/pineapple/ROD2/

版本:
进fastboot
adb  reboot  bootloader

查看设备
fastboot devices

下小包
fastboot flash dtbo   C:\Users\wj0011466\Desktop\asd\dtbo.img

重启
fastboot reboot

下版本   无adb  也无  fastboot   :
短接强制下载点,和 1.8V  进9008   后双击  C:\Users\dj0011744\Downloads\QCOM_Download_Tools_V1.3\QCOM_Download_Tools_V1.3\Qcom_Format_Download_Tools_V1.3.bat  
根据提示操作,  版本路径输入  :  D:\MYFILE\version\factory\鲁宇读sn\factory    即可,(在bootloaderimage,fastbootimage和ROD2-W09-BD_1.0.0.5_Download.xml的上层路径)
如何寻找强制下载点?
可通过  adobe 打开原理图,再搜索位号图,例如  rod2  搜索  uart 找到  TP3821   (FORCE_USB_BOOT强制下载点)


下版本路径:
factory\factory_version\bootloaderimage\Qual_fac_download_tools_1.1    中的    fac_download_tools_fastboot_1.1.bat


下载了一个  ROD2-LGRP5-CHN_SM8635_Master_performance_no_log_20240207_04  版本
使用的刷机脚本 :  C:\Users\dj0011744\Downloads\ROD2-LGRP5-CHN_SM8635_Master_performance_no_log_20240207_04\no_log\ROD2-W09_all_cn\updateinadb_all.bat

启动单项MMI:
adb shell am start com.hihonor.mmitest/.MmiSingleItemMenu
白、红、绿、蓝、灰、深灰、黑、

    Line 3: 6,625023,56340322741,-,caller=T1873;[2024:03:17 04:42:58](2)[1873:binder:1664_2][drm] [lcdkit /I]: backlight level = 972            桌面亮度
    Line 51: 6,625463,56360925986,-,caller=T1873;[2024:03:17 04:43:18](5)[1873:binder:1664_2][drm] [lcdkit /I]: backlight level = 4466          apk  界面亮度
    Line 65: 6,625645,56363883396,-,caller=T1873;[2024:03:17 04:43:21](6)[1873:binder:1664_2][drm] [lcdkit /I]: backlight level = 3442          白 
    Line 125: 6,625757,56367180508,-,caller=T1873;[2024:03:17 04:43:24](6)[1873:binder:1664_2][drm] [lcdkit /I]: backlight level = 8176         红、绿、蓝
    Line 234: 6,625927,56372674390,-,caller=T1873;[2024:03:17 04:43:30](2)[1873:binder:1664_2][drm] [lcdkit /I]: backlight level = 8176
    Line 242: 6,625957,56374533902,-,caller=T1873;[2024:03:17 04:43:32](0)[1873:binder:1664_2][drm] [lcdkit /I]: backlight level = 38           灰、深灰
    Line 274: 6,626068,56380934702,-,caller=T1873;[2024:03:17 04:43:39](6)[1873:binder:1664_2][drm] [lcdkit /I]: backlight level = 4466         返回apk

    
查看boaddid  命令:
adb shell  getprop ro.board.boardid


老化命令
adb shell setprop persist.sys.rt.para true


打开屏幕显示刷新率命令 :
adb  shell service call SurfaceFlinger 1034 i32 1   

切帧率
adb shell service call SurfaceFlinger 1035 i32 1


.bashrc  配置
118 export no_proxy=mirror-gerrit.ipd.hihonor,iot-gerrit.ipd.hihonor,pd-gerrit.ipd.hihonor,gerrit-pub.ipd.hihonor,gitlab-y.ipd.hihonor,mgit-tm.ipd.hihonor,mgit-tm.rnd.hi    honor,gitlab-g.ipd.hihonor,
119 export PATH=~/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
120
121 export ONLINE_USERNAME="zj0010898"
122 export ONLINE_PASSWD="Zhang0608,"
123 export no_proxy=mgit-tm.ipd.hihonor
124
125 export https_proxy=proxysysx.hk.heds.hihonor:8080
126 export http_proxy=proxysysx.hk.heds.hihonor:8080
127 #export http_proxy='proxysysx.his.hihonor:8080'
128 #export https_proxy='proxysysx.his.hihonor:8080'
129
130 #export ftp_proxy='proxysysx.his.hihonor:8080'
131 #export no_proxy='localhost,127.0.0.1,w3.hihonor,mgit-tm.ipd.hihonor,mirrors.chinatelecom.hihonor.io'


读寄存器
adb remount
adb shell "mount -t debugfs none /sys/kernel/debug"
adb shell "echo set_debug_level:4 > /sys/kernel/debug/lcd-dbg/lcd_kit_dbg"
adb shell "echo read_reg:dsi:0 cmd:0x0A read_count:1 > /sys/kernel/debug/lcd-dbg/lcd_kit_dbg"
adb shell "echo read_reg:dsi:1 cmd:0x0A read_count:1 > /sys/kernel/debug/lcd-dbg/lcd_kit_dbg"
adb shell "cat /sys/kernel/debug/lcd-dbg/lcd_kit_dbg"

adb   shell   cat   /sys/class/graphics/fb0/panel_sncode

adb remount
adb shell "mount -t debugfs none /sys/kernel/debug"
adb shell "echo set_debug_level:4 > /sys/kernel/debug/lcd-dbg/lcd_kit_dbg"
adb shell "echo write_reg:dsi:0 lp_mode:1 cmd:0x90 payload:0x68 0x00 0x86 0xE6 >/sys/kernel/debug/lcd-dbg/lcd_kit_dbg"
adb shell "echo read_reg:dsi:0 cmd:0x91 read_count:4 > /sys/kernel/debug/lcd-dbg/lcd_kit_dbg"
adb shell "cat /sys/kernel/debug/lcd-dbg/lcd_kit_dbg"


echo c > /proc/sysrq-trigger
这个是触发dump的 可以看下dump显示OK着不'


串口log
tx  接 rx
rx  接  tx
共地

查看sn  码
adb   shell   cat   /sys/class/graphics/fb0/panel_sncode
adb   shell   cat   /sys/class/graphics/fb0/ddic_oem_info


cat /sys/class/graphics/fb0/panel_sncode,这里的信息是在开机是读取,然后存储在全局变量中,当

./temp/${save_dtbo_file}.$i -o ${save_dts_file}.$i


编译方法:
若改了
/vendor/qcom/opensource/display-drivers/msm/dsi/dsi_display.c
则编译  
./build_vendor.sh  variant=eng versionmode=factory export_para=RELEASE_SIGN:false export_para=NETWORK_TYPE:wifionly msm_drm.ko


/honor_android_trunk_magicos-vendor_qcom_sm8650/vendor/honor/chipset/qcom/base/kernel/drivers/lcd/lcdkit_factory.c    
生成物是   msm_drm.ko
-rw-rw-r-- 1 dj0011744 dj0011744 7678087 Mar  4 10:30 ./ap/out/target/product/pineapple/obj/DLKM/msm_drm.ko_intermediates/msm_drm.ko

两个都编译
time ./build_vendor.sh variant=user export_para=RELEASE_SIGN:false export_para=NETWORK_TYPE:wifi export_para=TRANSLATOR32:true   dtboimage    msm_drm.ko   

  
D:\MYFILE\version\factory\2401_底版本\factory\factory_version\fastbootimage    里的  vbmeta_vendor_dlkm.img 和  vendor_dlkm.img
若都有,则都刷,


Search "vendor_dlkm.img" (2 hits in 1 file of 1 searched)
  D:\MYFILE\完整的刷机log.txt (2 hits)
    Line 165: fastbootimage/vbmeta_vendor_dlkm.img
    Line 751: fastboot flash vbmeta_vendor_dlkm D:\MYFILE\version\factory\2401_底版本\factory\factory_version\bootloaderimage\Qual_fac_download_tools_1.1\..\..\\fastbootimage/vbmeta_vendor_dlkm.img
    
    

拉代码:
repo init -u http://mgit-tm.ipd.hihonor/platform/manifest.git -b honor_u_debug_MagicOS8.0_20240207_rod2 --no-repo-verify --repo-branch=stable -m vendor_qcom_sm8650.xml
&& repo sync -c -d --no-tags -j8 


编译命令
&& ./build_vendor.sh variant=user export_para=RELEASE_SIGN:false export_para=NETWORK_TYPE:wifi export_para=TRANSLATOR32:true

推送
git push origin HEAD:refs/for/honor_u_debug_20240207_rod2_chipset

git 创建分支并切换
git   checkout   -b   分支名

配置计算云:
https://w3.hihonor/weshare/community/#/blog-detail?blogId=1892fcac479f53c16e6c98a4ac0991d9
https://w3.hihonor/weshare/community/#/blog-detail?blogId=656211969720320000

TicketNo:AR102IKIT
Description::give product, ROD2 LCD vtc hor line
Team:OS_LCD
Feature or Bugfix:Feature
Binary Source:No
PrivateCode(Yes/No):No

成功绑定屏:
    Line 3051: 03-27 16:37:56.904 <6>[    8.557763][  T989] [2024:03:27 08:37:43](7)[989:modprobe][drm:dsi_display_bind [msm_drm]] [msm-dsi-info]: Successfully bind display panel 'e68b624fc2ce959f '

打开串口工具,连接 type  c 线,选择  BDAdapter  的 COM  口
diag 指令灭屏:
1、发送指令AT^DEVTEST=LCDCURR,close,null,null关闭LCD    勾选  加回车换行   波特率 : 115200

4B C9 D6 EE 00 00 00 00 0D 00 00 00 00 00 00 00 00 05 00 00 E9 92 7E ,快速灭屏,返回值(4B C9 D6 EE 00 00 00 00 0D 00 00 00 00 00 00 00 00 05 00 00 E9 92 7E )
勾选  HEX   显示,HEX 发送,加回车换行

安卓  log  休眠唤醒关键字 


adb shell  "logcat |grep  -Ei  'Waking up from Asleep|Going to sleep due to|setPowerMode to|setting power mode|InputReader: powerKeyCount'"

adb shell  "logcat |grep  -Ei  'Waking up from Asleep|Going to sleep due to|setPowerMode to|setting power mode|InputReader: powerKeyCount|surfaceflinger'"


设亮度关键字
setDisplayBrightness|set brightness

adb shell  "logcat |grep  -Ei  'Waking up from Asleep|Going to sleep due to|setPowerMode to|setting power mode|InputReader: powerKeyCount|setDisplayBrightness|set brightness'"


解析code:
    行  3739: 07-22 23:56:01.139 <6>[    5.576941][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:6, name:[qcom,mdss-dsi-panel-lcd-check-reg-commands], length:8, pkt-count=1
    行  3740: 07-22 23:56:01.139 <6>[    5.576966][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:19, name:[qcom,mdss-dsi-oeminfo-read-commands], length:115, pkt-count=10
    行  3741: 07-22 23:56:01.139 <6>[    5.576976][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:23, name:[qcom,mdss-dsi-mipi-error-check-command], length:23, pkt-count=2
    行  3742: 07-22 23:56:01.139 <6>[    5.576990][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:31, name:[qcom,mdss-dsi-dsi-bl-reg-commands], length:9, pkt-count=1
    行  3743: 07-22 23:56:01.139 <6>[    5.577033][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:65, name:[qcom,mdss-dsi-apl-bl-mode-on-command], length:16, pkt-count=1
    行  3744: 07-22 23:56:01.139 <6>[    5.577037][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:66, name:[qcom,mdss-dsi-apl-bl-mode-off-command], length:16, pkt-count=1
    行  3745: 07-22 23:56:01.139 <6>[    5.577041][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:67, name:[qcom,mdss-dsi-lcd-pcd-check-open-commands], length:0, pkt-count=0
    行  3746: 07-22 23:56:01.139 <6>[    5.577045][  T919] [2024:07:22 15:55:51](7)[9

749: 07-22 23:56:01.139 <6>[    5.577058][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:71, name:[qcom,mdss-dsi-hor-line-test-commands], length:352, pkt-count=22
    行  3750: 07-22 23:56:01.139 <6>[    5.577071][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:72, name:[qcom,mdss-dsi-lvd-enter-commands], length:0, pkt-count=0
    行  3751: 07-22 23:56:01.139 <6>[    5.577075][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:73, name:[qcom,mdss-dsi-lvd-read-commands], length:23, pkt-count=2
    行  3752: 07-22 23:56:01.139 <6>[    5.577081][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:74, name:[qcom,mdss-dsi-panel-checksum-enable-commands], length:0, pkt-count=0
    行  3753: 07-22 23:56:01.139 <6>[    5.577085][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:75, name:[qcom,mdss-dsi-panel-checksum-disable-commands], length:0, pkt-count=0
    行  3754: 07-22 23:56:01.139 <6>[    5.577089][  T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:76, name:[qcom,mdss-dsi-panel-checksum-commands], length:108, pkt-count=9

亮屏:

06-18 11:31:03.092  2625  3012 I InputReader: powerKeyCount == 1
06-18 11:31:03.118  2625  3012 I PowerManagerService: Waking up from Asleep (uid=1000, reason=WAKE_REASON_POWER_BUTTON, details=android.policy:POWER)...
06-18 11:31:03.198  1693  1852 I SurfaceFlinger: setPowerMode to 2 from pid=2625, uid=1000
06-18 11:31:03.746  1693  1693 I SurfaceFlinger: Finished setting power mode 2 on display 4630947251269534339


[64983.186211] [2024:06:18 11:31:02](1)[1085:crtc_commit:169][drm:dsi_display_set_mode [msm_drm]] [msm-dsi-info]: mdp_transfer_time=6388, hactive=3000, vactive=1920, fps=60, clk_rate=910000000
[64983.187283] [2024:06:18 11:31:02](1)[1085:crtc_commit:169][drm:dsi_ctrl_isr_configure [msm_drm]] [msm-dsi-info]: dsi-ctrl-0: IRQ 318 registered
[64983.188215] [2024:06:18 11:31:02](1)[1085:crtc_commit:169][drm:dsi_ctrl_isr_configure [msm_drm]] [msm-dsi-info]: dsi-ctrl-1: IRQ 319 registered
[64983.259684] [2024:06:18 11:31:02](1)[1085:crtc_commit:169][drm] [lcdkit /I]: panel power on step
[64983.259700] [2024:06:18 11:31:02](1)[1085:crtc_commit:169][drm] [lcdkit /I]: panel name: e68b624fc2ce959f
[64983.259822] [2024:06:18 11:31:02](6)[979:ts_thread:0][drm] [lcdkit /I]: pt_flag = 0
[64983.259883] [2024:06:18 11:31:02](1)[1085:crtc_commit:169][drm] [lcdkit /I]: single panel
[64983.264806] [2024:06:18 11:31:02](0)[1085:crtc_commit:169][drm] [lcdkit /I]: panel init mipi lp step
[64983.264836] [2024:06:18 11:31:02](0)[1085:crtc_commit:169][drm] [lcdkit /I]: single panel
[64983.264847] [2024:06:18 11:31:02](0)[1085:crtc_commit:169][drm] [lcdkit /I]: type = 1, count = 135, state = 0
[64983.268523] [2024:06:18 11:31:02](2)[979:ts_thread:0][drm] [lcdkit /I]: type:2
[64983.329715] [2024:06:18 11:31:02](2)[979:ts_thread:0][drm] [lcdkit /I]: type:3
[64983.707184] [2024:06:18 11:31:03](1)[1085:crtc_commit:169][drm:dsi_panel_enable [msm_drm]] [msm-dsi-info]: unsupport dbn feature
[64983.708759] [2024:06:18 11:31:03](1)[1085:crtc_commit:169][drm:lcdkit_tx_cmd_set [msm_drm]] *ERROR* [lcdkit /E]: error info:count == 0
[64983.710087] [2024:06:18 11:31:03](1)[1085:crtc_commit:169][drm] [lcdkit /I]: No commands to be sent for state:51
[64983.710134] [2024:06:18 11:31:03](1)[1085:crtc_commit:169][drm] [lcdkit /I]: elvdd_gpio get name failed
[64983.710153] [2024:06:18 11:31:03](1)[1085:crtc_commit:169][drm] [lcdkit /I]: type = 19, count = 1, state = 0
[64983.711002] [2024:06:18 11:31:03](0)[1085:crtc_commit:169][drm] [lcdkit /I]: panel init mipi hs step
[64983.722719] [2024:06:18 11:31:03](0)[1085:crtc_commit:169][drm] [lcdkit /I]: backlight level = 0
[64983.789400] [2024:06:18 11:31:03](5)[1873:binder:1655_2][drm] [lcdkit /I]: screen on, backlight level = 2194
[64983.789438] [2024:06:18 11:31:03](5)[1873:binder:1655_2][drm] [lcdkit /I]: backlight level = 2194
[64983.818574] [2024:06:18 11:31:03](2)[2682:JankManager][drm] [lcdkit /I]: current_fps:60;default_fps:60;support_fps_list:60,144,120;current_index:0;max_fps:144


切帧率:
[18470.932448] [2024:05:14 16:05:53](4)[1102:crtc_commit:169][drm:dsi_display_set_mode [msm_drm]] [msm-dsi-info]: mdp_transfer_time=6388, hactive=3000, vactive=1920, fps=60, clk_rate=910000000
[18470.932826] [2024:05:14 16:05:53](4)[1102:crtc_commit:169][drm] [lcdkit /I]: type = 21, count = 2, state = 0
[18470.935482] [2024:05:14 16:05:53](2)[1102:crtc_commit:169][drm] [lcdkit /I]: panel

tive=3000, vactive=1920, fps=144, clk_rate=910000000
[18479.611668] [2024:05:14 16:06:02](2)[1102:crtc_commit:169][drm] [lcdkit /I]: type = 21, count = 2, state = 0
[18479.624062] [2024:05:14 16:06:02](0)[1102:crtc_commit:169][drm] [lcdkit /I]: panel init mipi hs step
[18480.864752] [2024:05:14 16:06:03](0)[15934:kworker/u16:3](virq:irq_count)- GICv3:IPI(1):44730275 GICv3:arch_timer(11):21162799 GICv3:IPI(6):16628414 GICv3:IPI(2):3507668 GICv3:dwc3(309):2324495 GICv3:apps_rsc-drv-2(35):2016856 GICv3:msm_drm(317):1363548 GICv3:ipcc_0(19):661119 ipcc:glink-native-adsp(414):660394 GICv3:hfi(313):610373

灭屏:

06-18 11:31:07.035  2625  3012 I InputReader: powerKeyCount == 1
06-18 11:31:07.256  2625  2789 I PowerManagerService: Going to sleep due to power_button (uid 1000, screenOffTimeout=30000, activityTimeoutWM=10000, maxDimRatio=0.20000005, maxDimDur=7000)...
06-18 11:31:07.506  1693  1852 I SurfaceFlinger: setPowerMode to 0 from pid=2625, uid=1000
06-18 11:31:07.698  1693  1693 I SurfaceFlinger: Finished setting power mode 0 on display 4630947251269534339

[64984.959616] [2024:06:18 11:31:04](0)[2682:JankManager][drm] [lcdkit /I]: current_fps:60;default_fps:60;support_fps_list:60,144,120;current_index:0;max_fps:144
[64987.481448] [2024:06:18 11:31:06](2)[1873:binder:1655_2][drm] [lcdkit /I]: screen off, backlight level = 0
[64987.481490] [2024:06:18 11:31:06](2)[1873:binder:1655_2][drm] [lcdkit /I]: backlight level = 0
[64987.487761] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: backlight level = 0
[64987.487991] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: panel off mipi hs step
[64987.487998] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: type = 23
[64987.488304] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: h-bit read_val[0]:0x0, expect_val[0]:0x0.
[64987.488311] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: l-bit read_val[1]:0x0, expect_val[1]:0x0.
[64987.488316] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: h-bit read_val[2]:0x0, expect_val[2]:0x0.
[64987.488320] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: l-bit read_val[3]:0x0, expect_val[3]:0x0.
[64987.488324] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: [e68b624fc2ce959f] mipi error check is OK!
[64987.488358] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: single panel
[64987.488363] [2024:06:18 11:31:06](3)[1085:crtc_commit:169][drm] [lcdkit /I]: type = 6, count = 7, state = 0
[64987.642567] [2024:06:18 11:31:06](0)[979:ts_thread:0][drm] [lcdkit /I]: type:0
[64987.642693] [2024:06:18 11:31:06](0)[979:ts_thread:0][drm] [lcdkit /I]: pt_flag = 0
[64987.651118] [2024:06:18 11:31:06](1)[1085:crtc_commit:169][drm] [lcdkit /I]: panel off mipi lp step
[64987.672024] [2024:06:18 11:31:06](0)[1085:crtc_commit:169][drm] [lcdkit /I]: panel off power off step
[64987.672145] [2024:06:18 11:31:06](0)[1085:crtc_commit:169][drm] [lcdkit /I]: single panel
[64987.672197] [2024:06:18 11:31:06](0)[1085:crtc_commit:169][drm] [lcdkit /I]: single panel


刚开始启动读 sn:

D:\MYFILE>adb shell "dmesg -w | grep drm"
[    7.282132] [2024:06:14 00:10:29](7)[958:modprobe]msmdrm_smmu soc:qcom,smmu_sde_unsec_cb: Adding to iommu group 45
[    7.282530] [2024:06:14 00:10:29](5)[958:modprobe][drm] probing device qcom,smmu_sde_unsec
[    7.282536] [2024:06:14 00:10:29](5)[958:modprobe][drm] Created domain mdp_ns, secure=0
[    7.282754] [2024:06:14 00:10:29](5)[958:modprobe]msmdrm_smmu soc:qcom,smmu_sde_sec_cb: Adding to iommu group 46
[    7.283283] [2024:06:14 00:10:29](7)[958:modprobe][drm] probing device qcom,smmu_sde_sec
[    7.283287] [2024:06:14 00:10:29](7)[958:modprobe][drm] Created domain mdp_s, secure=1
[    7.286001] [2024:06:14 00:10:29](7)[958:modprobe][drm:sde_dbg_init:2681] evtlog_status: enable:11, panic:1, dump:2
[    7.288996] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_pll_init [msm_drm]] [msm-dsi-info]: DSI_PLL_0: DSI pll label = dsi_pll_4nm
[    7.289372] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_pll_init [msm_drm]] [msm-dsi-info]: DSI_PLL_0: PLL SSC enabled
[    7.290313] [2024:06:14 00:10:29](5)[958:modprobe][drm:dsi_pll_clock_register_4nm [msm_drm]] [msm-dsi-info]: DSI_PLL_0: Registered clocks successfully
[    7.290753] [2024:06:14 00:10:29](5)[958:modprobe][drm:dsi_phy_driver_probe [msm_drm]] [msm-dsi-info]: DSI_0: Probe successful
[    7.291698] [2024:06:14 00:10:29](5)[958:modprobe][drm

15] [2024:06:14 00:10:29](5)[958:modprobe][drm:dsi_ctrl_dev_probe [msm_drm]] [msm-dsi-info]: dsi-ctrl-0: Probe successful
[    7.296416] [2024:06:14 00:10:29](5)[958:modprobe][drm:dsi_ctrl_dev_probe [msm_drm]] [msm-dsi-info]: dsi-ctrl-1: Probe successful
[    7.299175] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_panel_parse_bl_config [msm_drm]] [msm-dsi-info]: [e68b624fc2ce959f] bl_max_real_level_enable is enable
[    7.310345] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_display_dev_probe [msm_drm]] [msm-dsi-info]: secondary default panel not found
[    7.311322] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: qcom,support-cmd-sequence-check-enabled : 0
[    7.311326] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_parse_lhbm_gray_setting [msm_drm]] *ERROR* [lcdkit /E]: qcom,mdss-dsi-lhbm-gray-settings node is not defined
[    7.311581] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_init [msm_drm]] *ERROR* [lcdkit /E]: parse lhbm gray settings failed
[    7.311834] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:6, name:[qcom,mdss-dsi-panel-lcd-check-reg-commands], length:8, pkt-count=1
[    7.311856] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:19, name:[qcom,mdss-dsi-oeminfo-read-commands], length:115, pkt-count=10
[    7.311867] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:23, name:[qcom,mdss-dsi-mipi-error-check-command], length:23, pkt-count=2
[    7.311882] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:31, name:[qcom,mdss-dsi-dsi-bl-reg-commands], length:9, pkt-count=1
[    7.311930] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:67, name:[qcom,mdss-dsi-lcd-pcd-check-open-commands], length:0, pkt-count=0
[    7.311933] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:68, name:[qcom,mdss-dsi-lcd-pcd-check-reg-commands], length:23, pkt-count=2
[    7.311937] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:69, name:[qcom,mdss-dsi-lcd-pcd-check-close-commands], length:0, pkt-count=0
[    7.311941] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:70, name:[qcom,mdss-dsi-vtc-line-test-commands], length:64, pkt-count=4
[    7.311953] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:71, name:[qcom,mdss-dsi-hor-line-test-commands], length:352, pkt-count=22
[    7.311958] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:72, name:[qcom,mdss-dsi-lvd-enter-commands], length:0, pkt-count=0
[    7.311962] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:73, name:[qcom,mdss-dsi-lvd-read-commands], length:23, pkt-count=2
[    7.311965] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:74, name:[qcom,mdss-dsi-panel-checksum-enable-commands], length:0, pkt-count=0
[    7.311969] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:75, name:[qcom,mdss-dsi-panel-checksum-disable-commands], length:0, pkt-count=0
[    7.311973] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: type:76, name:[qcom,mdss-dsi-panel-checksum-commands], length:108, pkt-count=9
[    7.311982] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_init [msm_drm]] *ERROR* [lcdkit /E]: failed to read: qcom,mdss-dsi-panel-oem-2d-barcode-offset
[    7.312229] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_init [msm_drm]] *ERROR* [lcdkit /E]: not support read panel batch info!
[    7.312470] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_init [msm_drm]] *ERROR* [lcdkit /E]: bl_offset: 0
[    7.312713] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_init [msm_drm]] *ERROR* [lcdkit /E]: not support dbn feature!
[    7.312955] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_parse_dynamic_demura_setting [msm_drm]] *ERROR* [lcdkit /E]: qcom,mdss-dsi-dynamic-demura-settings node is not defined
[    7.313186] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_init [msm_drm]] *ERROR* [lcdkit /E]: parse dynamic demura settings failed
[    7.313416] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_dsm_register [msm_drm]] *ERROR* [lcdkit /E]: lcd_module_name not exist
[    7.313647] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_dsm_register [msm_drm]] *ERROR* [lcdkit /E]: lcd_ic_name not exist
[    7.314071] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: create fb sysfs path!
[    7.314196] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: create fb0 sysfs success!
[    7.314198] [2024:06:14 00:10:29](7)[958:modprobe][drm:lcdkit_init [msm_drm]] *

dprobe][drm:dsi_display_bind [msm_drm]] [msm-dsi-info]: Successfully bind display panel 'e68b624fc2ce959f '
[    7.314933] [2024:06:14 00:10:29](7)[958:modprobe]msm_drm ae00000.qcom,mdss_mdp: bound soc:qcom,dsi-display-primary (ops dsi_display_comp_ops [msm_drm])
[    7.315159] [2024:06:14 00:10:29](7)[958:modprobe]msm_drm ae00000.qcom,mdss_mdp: bound soc:qcom,dsi-display-secondary (ops dsi_display_comp_ops [msm_drm])
[    7.315385] [2024:06:14 00:10:29](7)[958:modprobe]msm_drm ae00000.qcom,mdss_mdp: bound soc:qcom,smmu_sde_unsec_cb (ops msm_smmu_comp_ops [msm_drm])
[    7.315610] [2024:06:14 00:10:29](7)[958:modprobe]msm_drm ae00000.qcom,mdss_mdp: bound soc:qcom,wb-display@1 (ops sde_wb_comp_ops [msm_drm])
[    7.315835] [2024:06:14 00:10:29](7)[958:modprobe]msm_drm ae00000.qcom,mdss_mdp: bound soc:qcom,wb-display@2 (ops sde_wb_comp_ops [msm_drm])
[    7.316062] [2024:06:14 00:10:29](7)[958:modprobe]msm_drm ae00000.qcom,mdss_mdp: bound af20000.qcom,sde_rscc (ops sde_rsc_comp_ops [msm_drm])
[    7.316305] [2024:06:14 00:10:29](7)[958:modprobe][drm] mapped mdp address space @ffffffc019400000
[    7.317563] [2024:06:14 00:10:29](7)[958:modprobe][drm:_sde_kms_hw_init_blocks:5020] sde hardware revision:0xa0010000
[    7.328623] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_panel_get_mode [msm_drm]] *ERROR* [msm-dsi-error]: qcom,mdss-dsi-panel-real-framerate is not defined, rc=-22
[    7.328957] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: failed to parse wakeup speedy delay values, rc=-22
[    7.328972] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_panel_get_mode [msm_drm]] [msm-dsi-info]: default topology: lm: 2 comp_enc:2 intf: 2
[    7.329288] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_panel_get_mode [msm_drm]] *ERROR* [msm-dsi-error]: qcom,mdss-dsi-panel-real-framerate is not defined, rc=-22
[    7.329534] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: failed to parse wakeup speedy delay values, rc=-22
[    7.329544] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_panel_get_mode [msm_drm]] [msm-dsi-info]: default topology: lm: 2 comp_enc:2 intf: 2
[    7.329827] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_panel_get_mode [msm_drm]] *ERROR* [msm-dsi-error]: qcom,mdss-dsi-panel-real-framerate is not defined, rc=-22
[    7.330108] [2024:06:14 00:10:29](7)[958:modprobe][drm] [lcdkit /I]: failed to parse wakeup speedy delay values, rc=-22
[    7.330120] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_panel_get_mode [msm_drm]] [msm-dsi-info]: default topology: lm: 2 comp_enc:2 intf: 2
[    7.330387] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_connector_get_modes [msm_drm]] [msm-dsi-info]: panel-name:e68b624fc2ce959f.edid-name:e68b624fc2ce959f.
[    7.336511] [2024:06:14 00:10:29](7)[958:modprobe][drm] Initialized msm_drm 1.4.0 20130625 for ae00000.qcom,mdss_mdp on minor 0
[    7.336515] [2024:06:14 00:10:29](7)[958:modprobe][drm] cont_splash enabled in 1 of 1 display(s)
[    7.336687] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_ctrl_isr_configure [msm_drm]] [msm-dsi-info]: dsi-ctrl-0: IRQ 350 registered
[    7.336990] [2024:06:14 00:10:29](7)[958:modprobe][drm:dsi_ctrl_isr_configure [msm_drm]] [msm-dsi-info]: dsi-ctrl-1: IRQ 351 registered
[   12.517853] [2024:06:14 00:10:34](6)[1449:init.qcom.early][drm:dsi_connector_get_modes [msm_drm]] [msm-dsi-info]: panel-name:e68b624fc2ce959f.edid-name:e68b624fc2ce959f.
[   13.034711] [2024:06:14 00:10:34](4)[1:init]init 13: starting service 'vendor.drm-clearkey-service'...
[   13.038326] [2024:06:14 00:10:34](4)[1:init]init 13: ... started service 'vendor.drm-clearkey-service' has pid 1528
[   13.143625] [2024:06:14 00:10:34](6)[1121:servicemanager]servicemanager: Found android.hardware.drm.IDrmFactory/clearkey in device VINTF manifest.
[   13.809903] [2024:06:14 00:10:35](3)[1682:vendor.qti.hard][drm:dsi_connector_get_modes [msm_drm]] [msm-dsi-info]: panel-name:e68b624fc2ce959f.edid-name:e68b624fc2ce959f.
[   13.818163] [2024:06:14 00:10:35](3)[1682:vendor.qti.hard][drm:dsi_connector_get_modes [msm_drm]] [msm-dsi-info]: panel-name:e68b624fc2ce959f.edid-name:e68b624fc2ce959f.
[   13.820881] [2024:06:14 00:10:35](3)[1682:vendor.qti.hard][drm:dsi_connector_get_modes [msm_drm]] [msm-dsi-info]: panel-name:e68b624fc2ce959f.edid-name:e68b624fc2ce959f.
[   14.495043] [2024:06:14 00:10:36](7)[1:init]init 20: processing action (drm.service.enabled=true) from (/system/etc/init/drmserver.rc:8)
[   14.495194] [2024:06:14 00:10:36](7)[1:init]init 20: starting se

3)[1619:vendor.honor.ha][drm] [lcdkit /I]: current_fps:60;default_fps:60;support_fps_list:60,144,120;current_index:0;max_fps:144
[   17.349938] [2024:06:14 00:10:39](4)[1898:binder:1682_3][drm] crtc_commit[0]:1105, hwdisplay:0
[   17.353815] [2024:06:14 00:10:39](6)[1105:crtc_commit:169][drm:dsi_display_set_mode [msm_drm]] [msm-dsi-info]: mdp_transfer_time=6388, hactive=3000, vactive=1920, fps=60, clk_rate=910000000
[   17.354433] [2024:06:14 00:10:39](6)[1105:crtc_commit:169][drm] [lcdkit /I]: type = 19
[   17.355747] [2024:06:14 00:10:39](6)[1105:crtc_commit:169][drm] [lcdkit /I]: sn: 5099HXFA120H02141AV0
[   17.355751] [2024:06:14 00:10:39](6)[1105:crtc_commit:169][drm] [lcdkit /I]: type = 19
[   17.357080] [2024:06:14 00:10:39](6)[1105:crtc_commit:169][drm] [lcdkit /I]: barcode_data: 5099HXFA120H02141AV0
[   17.357370] [2024:06:14 00:10:39](6)[1105:crtc_commit:169][drm] [lcdkit /I]: panel init mipi hs step
[   22.133417] [2024:06:14 08:10:43](1)[1896:binder:1682_2][drm] [lcdkit /I]: screen on, backlight level = 4013
[   22.133481] [2024:06:14 08:10:43](1)[1896:binder:1682_2][drm] [lcdkit /I]: backlight level = 4013
[   31.593389] [2024:06:14 08:10:53](0)[2719:JankManager][drm] [lcdkit /I]: current_fps:60;default_fps:60;support_fps_list:60,144,120;current_index:0;max_fps:144


重启打印:

[ 7828.555390] [2024:06:14 20:01:39](7)[1:init]init 13: Sending signal 15 to service 'vendor.drm-clearkey-service' (pid 1549) process group...
[ 7828.735514] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: screen off, backlight level = 0
[ 7828.735561] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: backlight level = 0
[ 7828.735835] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: panel off mipi hs step
[ 7828.735846] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: type = 23
[ 7828.736175] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: h-bit read_val[0]:0x0, expect_val[0]:0x0.
[ 7828.736186] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: l-bit read_val[1]:0x0, expect_val[1]:0x0.
[ 7828.736193] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: h-bit read_val[2]:0x0, expect_val[2]:0x0.
[ 7828.736200] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: l-bit read_val[3]:0x0, expect_val[3]:0x0.
[ 7828.736207] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: [e68b624fc2ce959f] mipi error check is OK!
[ 7828.736256] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: single panel
[ 7828.736264] [2024:06:14 20:01:39](0)[1109:crtc_commit:169][drm] [lcdkit /I]: type = 6, count = 7, state = 0
[ 7828.890457] [2024:06:14 20:01:40](2)[1033:ts_thread:0][drm] [lcdkit /I]: type:0
[ 7828.890532] [2024:06:14 20:01:40](2)[1033:ts_thread:0][drm] [lcdkit /I]: pt_flag = 0
[ 7828.897909] [2024:06:14 20:01:40](2)[1109:crtc_commit:169][drm] [lcdkit /I]: panel off mipi lp step
[ 7828.918197] [2024:06:14 20:01:40](0)[1109:crtc_commit:169][drm] [lcdkit /I]: panel off power off step
[ 7828.918242] [2024:06:14 20:01:40](0)[1109:crtc_commit:169][drm] [lcdkit /I]: single panel
[ 7828.918262] [2024:06:14 20:01:40](0)[1109:crtc_commit:169][drm] [lcdkit /I]: single panel
[ 7828.961821] [2024:06:14 20:01:40](5)[1:init]init 13: Service 'vendor.drm-clearkey-service' (pid 1549) received signal 15
[ 7828.961833] [2024:06:14 20:01:40](5)[1:init]init 13: Sending signal 9 to service 'vendor.drm-clearkey-service' (pid 1549) process group...

识别不到屏:
C:\Users\dj0011744>adb  shell "cat /dev/kmsg | grep drm"
6,18939,58789036,-,caller=T1980;[2024:03:12 11:22:02](4)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 1364
3,19935,59999607,-,caller=T1980;[2024:03:12 11:22:04](4)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,19942,60004948,-,caller=T1980;[2024:03:12 11:22:04](4)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 1347
3,20878,61215604,-,caller=T1980;[2024:03:12 11:22:05](4)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,20885,61220991,-,caller=T1980;[2024:03:12 11:22:05](4)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 1330
3,21177,62431619,-,caller=T1980;[2024:03:12 11:22:06](4)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,21207,62436988,-,call

0;[2024:03:12 11:22:41](6)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 798
3,24665,97695784,-,caller=T1980;[2024:03:12 11:22:42](1)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24666,97701667,-,caller=T1980;[2024:03:12 11:22:42](3)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 781
3,24673,98915606,-,caller=T1980;[2024:03:12 11:22:43](3)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24674,98920921,-,caller=T1980;[2024:03:12 11:22:43](3)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 764
3,24676,100127642,-,caller=T1980;[2024:03:12 11:22:44](3)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24677,100133556,-,caller=T1980;[2024:03:12 11:22:44](3)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 747
3,24693,101343748,-,caller=T1980;[2024:03:12 11:22:45](1)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24694,101349853,-,caller=T1980;[2024:03:12 11:22:45](1)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 730
3,24713,102559672,-,caller=T1980;[2024:03:12 11:22:47](1)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24714,102565849,-,caller=T1980;[2024:03:12 11:22:47](1)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 712
3,24720,103779609,-,caller=T1980;[2024:03:12 11:22:48](1)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24721,103785715,-,caller=T1980;[2024:03:12 11:22:48](1)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 695
3,24722,104991703,-,caller=T1980;[2024:03:12 11:22:49](6)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24723,104997205,-,caller=T1980;[2024:03:12 11:22:49](6)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 678
3,24728,106208741,-,caller=T1980;[2024:03:12 11:22:50](0)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24729,106214886,-,caller=T1980;[2024:03:12 11:22:50](0)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 661
3,24737,107423748,-,caller=T1980;[2024:03:12 11:22:52](0)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24738,107429765,-,caller=T1980;[2024:03:12 11:22:52](0)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 644
3,24739,108639729,-,caller=T1980;[2024:03:12 11:22:53](0)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24740,108645948,-,caller=T1980;[2024:03:12 11:22:53](0)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 626
3,24744,109855701,-,caller=T1980;[2024:03:12 11:22:54](0)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24745,109861898,-,caller=T1980;[2024:03:12 11:22:54](0)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 609
3,24756,111071679,-,caller=T1980;[2024:03:12 11:22:55](2)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24758,111077756,-,caller=T1980;[2024:03:12 11:22:55](2)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 592
3,24761,112287802,-,caller=T1980;[2024:03:12 11:22:56](0)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24762,112293967,-,caller=T1980;[2024:03:12 11:22:56](0)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 575
3,24774,113503828,-,caller=T1980;[2024:03:12 11:22:58](0)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24775,113509880,-,caller=T1980;[2024:03:12 11:22:58](0)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 558
3,24783,114719681,-,caller=T1980;[2024:03:12 11:22:59](1)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transf

:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24886,140969982,-,caller=T1980;[2024:03:12 11:23:25](2)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 448
3,24887,142175746,-,caller=T1980;[2024:03:12 11:23:26](2)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24888,142181910,-,caller=T1980;[2024:03:12 11:23:26](2)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 407
3,24913,143391782,-,caller=T1980;[2024:03:12 11:23:27](0)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24914,143397928,-,caller=T1980;[2024:03:12 11:23:27](0)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 367
3,24922,144607721,-,caller=T1980;[2024:03:12 11:23:29](3)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,24932,144613056,-,caller=T1980;[2024:03:12 11:23:29](3)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 331
3,26024,145823800,-,caller=T1980;[2024:03:12 11:23:30](4)[1980:binder:1793_2][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,26028,145829885,-,caller=T1980;[2024:03:12 11:23:30](4)[1980:binder:1793_2][drm] [lcdkit /I]: backlight level = 298
3,26945,147043734,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm:dsi_ctrl_dma_cmd_wait_for_done [msm_drm]] *ERROR* [msm-dsi-error]: dsi-ctrl-0: Command transfer failed
6,26946,147049888,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: screen off, backlight level = 0
6,26947,147049930,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: backlight level = 0
6,26948,147055801,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: panel off mipi hs step
6,26949,147055811,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: not support mipi error check
6,26951,147055863,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: single panel
6,26957,147056600,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: panel off mipi lp step
6,26963,147071942,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: panel off power off step
6,26965,147072023,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: single panel
6,26967,147072043,-,caller=T1110;[2024:03:12 11:23:31](1)[1110:crtc_commit:167][drm] [lcdkit /I]: single panel
6,27006,147211742,-,caller=T1123;[2024:03:12 11:23:31](5)[1123:ts_thread:0][drm] [lcdkit /I]: type:0
6,27008,147211765,-,caller=T1123;[2024:03:12 11:23:31](5)[1123:ts_thread:0][drm] [lcdkit /I]: pt_flag = 0

6,27083,153984713,-,caller=T1110;[2024:03:12 11:23:37](5)[1110:crtc_commit:167][drm:dsi_display_set_mode [msm_drm]] [msm-dsi-info]: mdp_transfer_time=0, hactive=3000, vactive=1920, fps=60, clk_rate=0
6,27084,153985322,-,caller=T1110;[2024:03:12 11:23:37](5)[1110:crtc_commit:167][drm:dsi_ctrl_isr_configure [msm_drm]] [msm-dsi-info]: dsi-ctrl-0: IRQ 318 registered
6,27085,153985606,-,caller=T1110;[2024:03:12 11:23:37](5)[1110:crtc_commit:167][drm:dsi_ctrl_isr_configure [msm_drm]] [msm-dsi-info]: dsi-ctrl-1: IRQ 319 registered
6,27101,154056507,-,caller=T1110;[2024:03:12 11:23:37](3)[1110:crtc_commit:167][drm] [lcdkit /I]: panel power on step
6,27102,154056513,-,caller=T1110;[2024:03:12 11:23:37](3)[1110:crtc_commit:167][drm] [lcdkit /I]: panel name: default panel vid
6,27106,154056623,-,caller=T1123;[2024:03:12 11:23:37](7)[1123:ts_thread:0][drm] [lcdkit /I]: pt_flag = 0
6,27110,154056669,-,caller=T1110;[2024:03:12 11:23:37](3)[1110:crtc_commit:167][drm] [lcdkit /I]: single panel
6,27111,154062779,-,caller=T1110;[2024:03:12 11:23:37](3)[1110:crtc_commit:167][drm] [lcdkit /I]: panel init mipi lp step
6,27113,154062795,-,caller=T1110;[2024:03:12 11:23:37](3)[1110:crtc_commit:167][drm] [lcdkit /I]: single panel
6,27114,154062802,-,caller=T1110;[2024:03:12 11:23:37](3)[1110:crtc_commit:167][drm:dsi_panel_enable [msm_drm]] [msm-dsi-info]: unsupport dbn feature
3,27115,154063058,-,caller=T1110;[2024:03:12 11:23:37](3)[1110:crtc_commit:167][drm:lcdkit_tx_cmd_set [msm_drm]] *ERROR* [lcdkit /E]: error info:count == 0
6,27116,154063297,-,caller=T1110;[2024:03:12 11:23:37]

ller=T1123;[2024:03:12 11:23:48](5)[1123:ts_thread:0][drm] [lcdkit /I]: pt_flag = 0
6,27336,193946710,-,caller=T2895;[2024:03:12 11:24:18](2)[2895:JankManager][drm] [lcdkit /I]:
6,27341,194104184,-,caller=T2895;[2024:03:12 11:24:18](2)[2895:JankManager][drm] [lcdkit /I]:
6,27343,194283859,-,caller=T2895;[2024:03:12 11:24:18](2)[2895:JankManager][drm] [lcdkit /I]:
6,27352,194503054,-,caller=T2895;[2024:03:12 11:24:18](0)[2895:JankManager][drm] [lcdkit /I]:
6,27356,194981078,-,caller=T2895;[2024:03:12 11:24:19](2)[2895:JankManager][drm] [lcdkit /I]:
14,27604,196637026,-,caller=T1;[2024:03:12 11:24:20](6)[1:init]init 4: Sending signal 15 to service 'vendor.drm-clearkey-service' (pid 1609) process group...
14,27852,197386794,-,caller=T1;[2024:03:12 11:24:22](7)[1:init]init 4: Service 'vendor.drm-clearkey-service' (pid 1609) received signal 15
14,27853,197386798,-,caller=T1;[2024:03:12 11:24:22](7)[1:init]init 4: Sending signal 9 to service 'vendor.drm-clearkey-service' (pid 1609) process group...


qcom,mdss-dsi-oeminfo-read-commands = [
            29 01 00 40 00 00 05 90 68 00 86 E6
            29写指令           05是5个Byte   90 是写的指令    e6   86  00  68  是tcon寄存器 
            14 01 00 00 00 00 04 91 00 00 00
            14读指令          04是4Byte参数   91读指令
            

    for (i = 0; i < cnt; i++) {
        buf = (char *)(cmd_desc[i].msg.tx_buf);
        LCD_DEBUG("cmds[%d]->msg.type = 0x%x\n", i,
              cmd_desc[i].msg.type);
        LCD_DEBUG("cmds[%d]->post_wait_ms = 0x%x\n", i,
              cmd_desc[i].post_wait_ms);
        LCD_DEBUG("cmds[%d]->last_command = 0x%x\n", i,
              cmd_desc[i].last_command);
        LCD_DEBUG("cmds[%d]->msg.channel = 0x%x\n", i,
              cmd_desc[i].msg.channel);
        LCD_DEBUG("cmds[%d]->msg.flags = 0x%x\n", i,
              cmd_desc[i].msg.flags);
        LCD_DEBUG("cmds[%d]->msg.tx_len = 0x%x\n", i,
              cmd_desc[i].msg.tx_len);
        LCD_DEBUG("payload:\n");
        for (j = 0; j < cmd_desc[i].msg.tx_len; j++)
            LCD_DEBUG("0x%x", buf[j]);
        LCD_DEBUG("\n");
    }
}

    
    
解析        /* parse read bl reg */
     pinfo->bl_reg.read_reg_enabled = utils->read_bool(
         utils->data, "qcom,mdss-dsi-read-bl-reg-enabled");
     if (pinfo->bl_reg.read_reg_enabled)
         lcdkit_parse_bl_reg_info(pinfo, utils);
 }

在   lcdkit_init  中  调用  lcdkit_register_work_handler(panel);

lcdkit_register_work_handler 中      if (panel->pinfo->bl_reg.read_reg_enabled)
         lcdkit_panel_register_backlight_check_handler(panel);

lcdkit_panel_register_backlight_check_handler   延时工作队列: INIT_DELAYED_WORK(&panel->pinfo->backlight_check.work,
               lcdkit_panel_handle_backlight_check);

lcdkit_panel_handle_backlight_check  打印: LCD_INFO("cmd = 0x%x set backlight backlight = 0\n", bl_cmd);


常亮屏:
adb shell settings put system screen_off_timeout 60000000

adb shell svc power stayon true

adb shell su -c  'settings put system screen_off_timeout 2147483647'


进入   recovery
adb reboot recovery                     fastboot   reboot  recovery   

进入 fastboot
adb reboot bootloader

配置 cp 侧代码
https://w3.hihonor/weshare/community/#/blog-detail?blogId=18616f38c6c6a6458786a3c4279ba4a7


编译报错:
吕万杰(00017803
https://w3.hihonor/weshare/community/#/blog-detail?blogId=1810884f9f020bda8343401469a9d80d
https://w3.hihonor/weshare/community/#/blog-detail?blogId=1819010883db1377254b2304bb28f0c0

手机进入工程模式的命令
*#*#2846579#*#*

    "MMI 3
(LTE版本拨号盘输入暗码*#*#2847#*#*
WIFI版本计算器输入()()2847()())"    欢迎界面    NA

单项老化
adb shell setprop persist.sys.rt.para true
adb reboot
pause

停止取消单项老化:
adb remount

adb shell rm -fr data/data/com.hihonor.runningtestii/shared_prefs

adb reboot

pause


触发死机进dump:
echo c > /proc/sysrq-trigger


进入  dump  后,端口 900E ,打开  QPST  软件 , 然后会自动保存内容,查看保存位置 :
点  help -   Open Log File Directory 即可打开,保存的内容是一个跟端口相关的文件夹


寻找每日构建用的 xml   package_config   - chipset_component_config    -   ap_build  -   manifest.xml   到时候一替换就可以拉代码


在 dtsi  里面故意加一个节点  时间戳  ,写一段话描述此 dtsi 验证什么内容,然后   adb  shell  后 
ls     /sys/devices/platform/soc/ae00000.qcom,mdss_mdp/of_node/qcom,mdss_dsi_260_a20_12p3_dphy_cmd   即可查看下面的节点:
ls   ./sys/firmware/devicetree/base/soc/qcom,mdss_mdp@ae00000/qcom,mdss_dsi_260_a20_12p3_dphy_cmd  也可  (内容一样)

     ./sys/firmware/devicetree/base/soc/qcom,mdss_mdp@ae00000/qcom,mdss_dsi_260_a20_12p3_dphy_cmd

dtsi  里的内容:
&mdss_mdp {
    dsi_260_a20_12p3_dphy_cmd: qcom,mdss_dsi_260_a20_12p3_dphy_cmd {

HNROD2-Q:/sys/devices/platform/soc/ae00000.qcom,mdss_mdp/of_node/qcom,mdss_dsi_260_a20_12p3_dphy_cmd # ls
name                                    qcom,mdss-dsi-border-color                  qcom,mdss-dsi-lvd-read-commands                 qcom,mdss-dsi-panel-lcd-pcd_det_num

ss-dsi-display-timings               qcom,mdss-dsi-panel-blackness-level             qcom,mdss-dsi-panel-lvd-support                 qcom,mdss-dsi-te-dcs-command
qcom,dsi-fps-list                       qcom,mdss-dsi-dma-trigger                   qcom,mdss-dsi-panel-brightness-sync-te-enabled  qcom,mdss-dsi-panel-name                        qcom,mdss-dsi-te-pin-select
qcom,dsi-fps-mmi-test-list              qcom,mdss-dsi-dsi-bl-reg-commands           qcom,mdss-dsi-panel-checksum-commands           qcom,mdss-dsi-panel-oem-2d-barcode-enabled      qcom,mdss-dsi-te-using-te-pin
qcom,dsi-fps-rt-test-list               qcom,mdss-dsi-dsi-bl-reg-commands-state     qcom,mdss-dsi-panel-checksum-disable-commands   qcom,mdss-dsi-panel-oem-info-enabled            qcom,mdss-dsi-traffic-mode
qcom,dsi-fps-tplcd-test-list            qcom,mdss-dsi-hor-line-test-commands        qcom,mdss-dsi-panel-checksum-enable-commands    qcom,mdss-dsi-panel-oem-sn-enabled              qcom,mdss-dsi-underflow-color
qcom,dsi-phy-num                        qcom,mdss-dsi-lane-0-state                  qcom,mdss-dsi-panel-checksum-size               qcom,mdss-dsi-panel-peak-brightness             qcom,mdss-dsi-virtual-channel-id
qcom,dsi-select-clocks                  qcom,mdss-dsi-lane-1-state                  qcom,mdss-dsi-panel-checksum-support            qcom,mdss-dsi-panel-physical-type               qcom,mdss-dsi-vtc-line-test-commands
qcom,graphics-cpuset-enabled            qcom,mdss-dsi-lane-2-state                  qcom,mdss-dsi-panel-checksum-value              qcom,mdss-dsi-panel-pt-reset-enabled            qcom,mdss-dsi-wr-mem-continue
qcom,mdss-brightness-max-level          qcom,mdss-dsi-lane-3-state                  qcom,mdss-dsi-panel-force-power-off             qcom,mdss-dsi-panel-status-check-mode           qcom,mdss-dsi-wr-mem-start
qcom,mdss-dsi-bl-inverted-dbv           qcom,mdss-dsi-lane-map                      qcom,mdss-dsi-panel-force-power-time            qcom,mdss-dsi-panel-status-command              qcom,mdss-pan-physical-height-dimension
qcom,mdss-dsi-bl-max-level              qcom,mdss-dsi-lcd-model                     qcom,mdss-dsi-panel-hbm-enabled                 qcom,mdss-dsi-panel-status-command-state        qcom,mdss-pan-physical-width-dimension
qcom,mdss-dsi-bl-max-real-level         qcom,mdss-dsi-lcd-pcd-check-close-commands  qcom,mdss-dsi-panel-hdr-color-primaries         qcom,mdss-dsi-panel-status-read-length          qcom,panel-supply-entries
qcom,mdss-dsi-bl-max-real-level-enable  qcom,mdss-dsi-lcd-pcd-check-open-commands   qcom,mdss-dsi-panel-hdr-enabled                 qcom,mdss-dsi-panel-status-value                qcom,platform-reset-gpio
qcom,mdss-dsi-bl-min-level              qcom,mdss-dsi-lcd-pcd-check-reg-commands    qcom,mdss-dsi-panel-lcd-check-pcd-expect_vals   qcom,mdss-dsi-panel-type                        qcom,support-ltm-adjust-enabled
qcom,mdss-dsi-bl-pmic-control-type      qcom,mdss-dsi-lvd-cust-mask                 qcom,mdss-dsi-panel-lcd-check-pcd-support       qcom,mdss-dsi-pre-set-bl-commands               qcom,ulps-enabled
qcom,mdss-dsi-bl-reg-count              qcom,mdss-dsi-lvd-cust-mask-enabled         qcom,mdss-dsi-panel-lcd-check-reg-commands      qcom,mdss-dsi-pre-set-bl-commands-state
qcom,mdss-dsi-bllp-eof-power-mode       qcom,mdss-dsi-lvd-enter-commands            qcom,mdss-dsi-panel-lcd-check-reg-enabled       qcom,mdss-dsi-pre-set-bl-enabled
qcom,mdss-dsi-bllp-power-mode           qcom,mdss-dsi-lvd-expect-value              qcom,mdss-dsi-panel-lcd-check-reg-expect_vals   qcom,mdss-dsi-reset-pre-off-sleep
HNROD2-Q:/sys/devices/platform/soc/ae00000.qcom,mdss_mdp/of_node/qcom,mdss_dsi_260_a20_12p3_dphy_cmd # ls | grep pt
qcom,mdss-dsi-panel-pt-reset-enabled


查看节点的值,确认版本
HNROD2-Q:/sys/devices/platform/soc/ae00000.qcom,mdss_mdp/of_node/qcom,mdss_dsi_260_a20_12p3_dphy_cmd # od -t x1   qcom,mdss-dsi-bl-min-level
0000000 00 00 00 03
0000004


横竖线激发
40  - 47  行不需要


lcd_vtc  lcd_gener

checksum  最好重启做,显示·不要开
checksum 的 log  关键字
    LCD_INFO("checksum pic num:%d\n", pic_index);


  

    if (read_value[0] == 0 && read_value[1


http://mgit-tm.ipd.hihonor/#/c/5621904/

ct01:http://mgit-tm.ipd.hihonor/#/c/5455305/
主干:http://mgit-tm.ipd.hihonor/#/c/5634873/
 

图片  push   到     storage/emulated/0/Pictures/Screenshots     目录,再重启,即可显示

@所有人 烧片分支已经拉出
AP代码:repo init -u http://mgit-tm.ipd.hihonor/platform/manifest.git -b honor_u_factory_MagicOS8.0.1_rod2_20240229 --no-repo --repo-branch=stable -m vendor_qcom_sm8650.xml
 Modem代码:repo init -u http://mgit-tm.ipd.hihonor/platform/manifest.git -b honor_u_factory_MagicOS8.0.1_rod2_20240229 --no-repo --repo-branch=stable -m vendor_qcom_cp_sm8650.xml
 LE代码:repo init -u http://mgit-tm.ipd.hihonor/platform/manifest.git -b honor_u_factory_MagicOS8.0.1_rod2_20240229 --no-repo --repo-branch=stable -m vendor_qcom_le_sm8650.xml
 System代码:repo init -u http://mgit-tm.ipd.hihonor/platform/manifest.git -b honor_u_factory_MagicOS8.0.1_rod2_20240229 --no-repo --repo-branch=stable -m system_all.xml
tag版本
http://cloudartifact-sia.ipd.hihonor/artifactory/x-vmpplus-artifacts/vmp/Rolland2-W09B/BL253322584-ROD2-W09 8.0.1.5(SP99C00E1R98P2)/BiddingDoc

编译
ap:
./build_vendor.sh variant=eng versionmode=factory export_para=RELEASE_SIGN:false export_para=NETWORK_TYPE:wifi 2>&1 | tee build.log

modem:
./build.sh target=sm8635 versionmode=factory product=ROD2 parallel_module=mpss export_para=RELEASE_SIGN:true export_para=NETWORK_TYPE:wifi build all

repo start myjob .
  
  
  
  
  
C:\Users\dj0011744>adb shell cat sys/class/graphics/fb0/lcd_model
260_a20 12p3 3000 x 1920 project_HD119 ver_001
C:\Users\dj0011744>

    
    
    
    
    
    
    pcd   检测   在   warming    up   1   里打开       pcd   error  flag   check
    
    qcom,mdss-dsi-panel-real-framerate

lcdkit_parse_dynamic_demura_setting [msm_drm]] *ERROR* [lcdkit /E]: qcom,mdss-dsi-dynamic-demura-settings node is not defined

drm:lcdkit_init [msm_drm]] *ERROR* [lcdkit /E]: parse lhbm gray settings failed

not support mipi error check

完整启动log:

本文标签: LCDDebug