드라이버가 완료되면 마더보드에 화면 인터페이스를 추가하고 새 화면을 연결하기만 하면 됩니다.
저는 방금 Android용 드라이버 개발로 전환했습니다. 플랫폼 코드를 내려보니 이번에 드라이버 구조가 많이 변경된 것을 발견했습니다. 지금 직면한 문제는 새 칩 화면(드라이버 IC: 0TM9605A)?
드라이버 파일 코드의 일부는 다음과 같습니다:
Objective C 코드?
1
2
3
4
5
6
7
8
< p>910
p>11
12
13
14
< p>1516
17
18
19
20
21
22
23
24
25
26
27< /p>
28
29
30
31
32
33
34
35
p>36
37
38
39
40
41
42
43
44
45
< p>4647
48
49
50
51
52
53
54
55
56
57
58< /p>
59
60
p>61
62
63
64< /p>
65
&mdss_mdp {
dsi_truly_wvga_vid: qcom,mdss_dsi_truly_wvga_video {
qcom,mdss-dsi-panel-name = "진정한 WVGA 비디오 모드 dsi 패널";
qcom,mdss-dsi-panel -controller = <&mdss_dsi0>;
qcom,mdss-dsi-panel-type = "dsi_video_mode";
qcom,mdss-dsi-panel-destination = "display_1";< /p>
qcom,mdss-dsi-panel-mode-gpio-state = "높음";
qcom,mdss-dsi-panel-framerate = <60>;
< p> qcom,mdss-dsi-virtual-channel-id = <0>;qcom,mdss-dsi- 스트림 = <0>;
qcom,mdss-dsi- 패널 너비 = <540>;
qcom,mdss-dsi-panel-heigh
t = <960>;
qcom,mdss-dsi-h-front-porch = <32>;
qcom,mdss-dsi-h-back-porch = <32 >;
qcom,mdss-dsi-h-pulse-width = <8>;
qcom,mdss-dsi-h-sync-skew = <4>; p> p>
qcom,mdss-dsi-v-back-porch = <16>;
qcom,mdss-dsi-v-front-porch = <15>;
qcom,mdss-dsi-v-pulse-width = <1>;
qcom,mdss-dsi-h-left-border = <0>;
qcom ,mdss -dsi-h-right-border = <0>;
qcom,mdss-dsi-v-top-border = <0>;
qcom,mdss-dsi -v -bottom-border = <0>;
qcom,mdss-dsi-bpp = <24>;
qcom,mdss-dsi-underflow-color = �;< /p>
qcom,mdss-dsi-border-color = <0>;
qcom,mdss-dsi-on-command = [
05 01 00 00 01 00 02
00 00
39 01 00 00 01 00 04
ff 96 05 01
05 01 00 00 01 00 02
00 80
05 01 00 00 01 00 03
ff 96 05
05 01 00 00 01 00 02
00 92
05 01 00 00 01 00 03
10 02
05 01 00 00 00 00 02
00 B4
05 01 00 00 00 00 02
C0 50
....]
qcom,mdss-dsi-off-command = [05 01 00 00 32 00 02 28 00
05 01 00 00 78 00 02 10 00];
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
qcom,mdss-dsi-off-command-state = "dsi_lp_mode";
qcom,mdss-dsi-h-sync-pulse = <0>;
qcom,mdss- dsi-traffic-mode = "non_burst_sync_event";
qcom,mdss-dsi-bllp-eof-power-mode;
qcom,mdss-dsi-bllp-power-mode;
qcom,mdss-dsi-lane-1-state;
qcom,mdss-dsi-lane-2-state;
qcom,mdss-dsi -panel-timings = [87 1E 14 00 44 4B 19 21 22 03 04 00];
qcom,mdss-dsi-t-clk-post = ;
qcom, mdss-dsi-t-clk-pre = �;
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss- dsi-bl- 최대 레벨 = <255>;
qcom,mdss-dsi-dma-trigger = "trigger_sw";
qcom,mdss-dsi-mdp-trigger = "없음";
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-reset-sequence = <1 20> , <0 2 >, <1 20>;
};
};
커널 시작 로그에서 볼 수 있듯이 기본 로드는 이 드라이버 파일( dsi-panel-truly-wvga-video.dtsi)
일반 텍스트 코드?
>
1
2
3
4
5
6
< p><6>[ 0.000000] 시스템: Qualcomm MSM 8610(평면화된 장치 트리), 모델: Qualcomm MSM 8610v2 MTP<4>[ 0.000000] 영역 순서로 1개의 영역 목록을 구축하고 이동성 그룹화를 사용합니다. 페이지: 170578
<5>[ 0.000000] 커널 명령줄: console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 androidboot.emmc=true androidboot.serialno=cefa0ae1 androidboot.baseband=msm mdss_mdp.panel=1:dsi:0:qcom,mdss_dsi_truly_wvga_video
<6>[ 0.000000] PID 해시 테이블 항목: 4096(순서: 2, 16384바이트)
일반 텍스트 코드?
1
2
3
4
5
6
7
8
9
10
11< /p>
12
13
14
15
16
17
18
19
20
21
<6>[ 0.553959] mdss_dsi_panel_init: 패널 이름 = 진정한 WVGA 비디오 모드 dsi 패널
<3>[ 0.554170] mdss_dsi_parse_dcs_cmds: dtsi cmd=0 오류, len=10497
<6>[ 0.554190] mdss_dsi_panel_init:945 연속 스플래시 플래그를 찾을 수 없습니다.< /p>
<6>[ 0.554201] mdss_dsi_panel_init:961 부분 업데이트가 비활성화되었습니다.
<3>[ 0.554242] dsi_parse_gpio:156, Disp_en gpio가 지정되지 않았습니다.
<6> [ 0.554784] mdss_register_panel: 프레임 버퍼 장치 추가 fdd00000.qcom,mdss_dsi
<3>[ 0.555023] mdp3_panel_register_done: lk 연속 스플래시, 그러나 kerenl 아님
<6>[ 0.584899] mdss_fb
_register: FrameBuffer[0] 540x960 size=0 등록 성공!
<7>[ 0.585136] 등록된 LED 장치: lcd-백라이트
<6>[ 0.626029] msm_serial_hsl_probe: 감지된 포트 #0 (ttyHSL0)
<3>[ 0.626049] AXI: get_pdata(): 오류: 클라이언트 이름을 찾을 수 없습니다.
/topics/390709815