【RK3399 Android】天马MIPI屏幕TM080TDGP01,启动参数dts配置调试。
????????前期調(diào)過天馬的10寸屏,現(xiàn)在要更換天馬的8寸屏,特地記錄一下調(diào)試過程。本文章只記錄屏幕參數(shù)調(diào)試過程,其他硬件調(diào)試過程不再詳細(xì)描述,有需要可以參考其他文章。需要注意的硬件資源包括復(fù)位引腳,時(shí)鐘引腳,信號(hào)引腳,I2C引腳等。
?
????????RK3399,Ubuntu系統(tǒng),LVDS屏幕配置
????????調(diào)試天馬的MIPI屏幕,需要一個(gè)配置文件,如下圖所示。下載鏈接我附到最后,需要的可以下載,這個(gè)文件為配置天馬屏幕的啟動(dòng)序列。
? ? ? ? 我使用的是RK3399,MIPI的配置文件,打開該文件:rk3399-firefly-aiojd4-mipi.dts
ubt@ubt-ThinkPad-E470:~/proj/firefly-rk3399/kernel/arch/arm64/boot/dts/rockchip$ ls 123 rk3399-firefly-aioc-ai.dtsi rk3399-firefly-aiojd4-edp.dts rk3399-firefly.dtb 4k3399-firefly-port.dtsi rk3399-firefly-aioc-ai-lvds.dts rk3399-firefly-aiojd4-lvds-HSX101H40C.dtb rk3399-firefly.dts Makefile rk3399-firefly-aioc-ai-lvds-HSX101H40C.dts rk3399-firefly-aiojd4-lvds-HSX101H40C.dts rk3399-firefly-edp13.dts px30.dtsi rk3399-firefly-aioc.dts rk3399-firefly-aiojd4-mipi.dtb rk3399-firefly-edp.dts rk3300-firefly-aiojd4-mipi.dts rk3399-firefly-aioc.dts_back rk3399-firefly-aiojd4-mipi.dts rk3399-firefly-linux.dts rk3399-android-6.0.dtsi rk3399-firefly-aioc.dtsi rk3399-firefly-aiojd4-mipi.dts.1280_720.bak rk3399-firefly-mipi.dts rk3399-android.dtsi rk3399-firefly-aioc-edp.dts rk3399-firefly-aiojd4-mipi.dts.bak rk3399-firefly-mipi.dts.bak rk3399-android.dtsi.bak rk3399-firefly-aioc-lvds.dts rk3399-firefly-aiojd4-mipi.dts.bak1212 rk3399-firefly-mipi.dts.bak1015 rk3399-dram-default-timing.dtsi rk3399-firefly-aioc-lvds-HSX101H40C.dts rk3399-firefly-aio-lvds.dts rk3399-firefly-port.dtsi rk3399.dtsi rk3399-firefly-aioc-mipi.dts rk3399-firefly-aio-lvds-HSX101H40C.dts rk3399-linux.dtsi rk3399.dtsi.bak rk3399-firefly-aio.dts rk3399-firefly-aio-lvds-M185XTN01.dts rk3399-opp.dtsi rk3399-early-opp.dtsi rk3399-firefly-aio.dtsi rk3399-firefly-aio-mipi.dts rk3399-roc-pc.dts rk3399-evb-rev3-android-mipi-edp.dts rk3399-firefly-aio-edp.dts rk3399-firefly-android.dts rk3399-roc-pc-edp.dts rk3399-evb-rev3-android-mipi-edp.dts.bak rk3399-firefly-aiojd4.dtb rk3399-firefly-core.dtsi rk3399-roc-pc-mipi.dts rk3399-evb-rev3-android-mipi-edp.dts.bak1014 rk3399-firefly-aiojd4.dts rk3399-firefly-demo.dtsi rk3399-sched-energy.dtsi rk3399-firefly-aioc-ai.dts rk3399-firefly-aiojd4.dtsi rk3399-firefly-demo.dtsi.bak1017 rk3399-vop-clk-set.dtsi ubt@ubt-ThinkPad-E470:~/proj/firefly-rk3399/kernel/arch/arm64/boot/dts/rockchip$ vim rk3399-firefly-aiojd4-mipi.dts? ? ? ? 打開后,找到dts配置,里面的參數(shù)是我們需要修改的。具體測(cè)參數(shù)不再詳細(xì)分析,可以參考文章開始給出的鏈接,這里主要討論一下啟動(dòng)和關(guān)閉序列的配置。
&dsi { 120 status = "okay"; 121 dsi_panel: panel { 122 compatible ="simple-panel-dsi"; 123 reg = <0>; 124 //ddc-i2c-bu 125 //power-supply = <&vcc_lcd>; 126 pinctrl-0 = <&lcd_panel_reset>; 127 backlight = <&backlight>; 128 /* 129 enable-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; 130 reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>; 131 */ 132 dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; 133 dsi,format = <MIPI_DSI_FMT_RGB888>; 134 //dsi,format = <MIPI_DSI_FMT_RGB666>; 135 //bus-format = <MEDIA_BUS_FMT_RGB666_1X18>; 136 //bus-format = <MEDIA_BUS_FMT_RGB888_1X24>; 137 dsi,lvds-force-clk = <800>; // 800/2/3 ~= 65Mhz 138 dsi,lanes = <4>; 139 140 dsi,channel = <0>; 141 142 enable-delay-ms = <35>; 143 prepare-delay-ms = <6>; 144 145 unprepare-delay-ms = <0>; 146 disable-delay-ms = <20>; 147 148 size,width = <120>; 149 size,height = <170>; 150 151 status = "okay"; 152 153 panel-init-sequence = [178 29 00 06 3C 01 09 00 07 00 179 29 00 06 14 01 06 00 00 00 180 29 00 06 64 01 09 00 00 00 181 29 00 06 68 01 09 00 00 00 182 29 00 06 6C 01 09 00 00 00 183 29 00 06 70 01 09 00 00 00 184 29 00 06 34 01 1F 00 00 00 185 29 00 06 10 02 1F 00 00 00 186 29 00 06 04 01 01 00 00 00 187 29 00 06 04 02 01 00 00 00 188 29 00 06 50 04 21 01 E0 15 189 29 00 06 54 04 04 00 04 00 190 29 00 06 58 04 00 05 28 00 191 29 00 06 5C 04 01 00 02 00 192 29 00 06 60 04 20 03 28 00 193 29 00 06 64 04 01 00 00 00 194 29 10 06 A0 04 06 80 44 00 195 29 00 06 A0 04 06 80 04 00 196 29 00 06 04 05 04 00 00 00 197 198 29 00 06 80 04 00 01 02 03 199 29 00 06 84 04 04 07 05 08 200 29 00 06 88 04 09 0A 0E 0F 201 29 00 06 8C 04 0B 0C 0D 10 202 29 00 06 90 04 16 17 11 12 203 29 00 06 94 04 13 14 15 1B 204 29 00 06 98 04 18 19 1A 06 205 206 29 00 06 9C 04 31 04 00 00 207 208 209 ]; 210 211 panel-exit-sequence = [ 212 05 05 01 28 213 05 78 01 10 214 ];power_ctr: power_ctr { 217 rockchip,debug = <0>; 237 238 lcd_rst: lcd-rst { 239 gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; 240 pinctrl-names = "default"; 241 pinctrl-0 = <&lcd_panel_reset>; 242 rockchip,delay = <66>; 243 }; 244 };disp_timings: display-timings { 247 native-mode = <&timing0>; 248 timing0: timing0 {265 clock-frequency = <66866760>; 266 //clock-frequency = <68000000>; 267 hactive = <1280>; 268 vactive = <800>; 269 hsync-len = <10>; 270 hback-porch = <2>; 271 hfront-porch = <30>; 272 vsync-len = <1>; 273 vback-porch = <2>; 274 vfront-porch = <40>; 275 hsync-active = <0>; 276 vsync-active = <0>; 277 de-active = <0>; 278 pixelclk-active = <0>; 279 280 //screen-type = <SCREEN_LVDS>; 281 //lvds-format = <LVDS_6BIT>; 282 //out-face = <OUT_P666>; 3 }; 314 }; 315 }; 316 };????????
按照手冊(cè)上的參數(shù),填入配置文件中,HBP,HFP,HPW,HDA,VBP,VFP,VPW,VDA等參數(shù)。
? ? ? ? 根據(jù)系統(tǒng)頻率,引腳個(gè)數(shù)等參數(shù),配置上圖黃色區(qū)域參數(shù),具體我就不過多描述了,使得后邊的顯示Judge為OK,如果不為OK,則需要調(diào)整參數(shù)得到OK結(jié)果。
?選擇code,點(diǎn)擊start?conversion,得到初始化序列。
29 00 06 3C 01 09 00 07 00 29 00 06 14 01 06 00 00 00 29 00 06 64 01 09 00 00 00 29 00 06 68 01 09 00 00 00 29 00 06 6C 01 09 00 00 00 29 00 06 70 01 09 00 00 00 29 00 06 34 01 1F 00 00 00 29 00 06 10 02 1F 00 00 00 29 00 06 04 01 01 00 00 00 29 00 06 04 02 01 00 00 00 29 00 06 50 04 21 01 E0 15 29 00 06 54 04 04 00 A0 00 29 00 06 58 04 00 04 A0 00 29 00 06 5C 04 01 00 17 00 29 00 06 60 04 00 03 0F 00 29 00 06 64 04 01 00 00 00 29 00 06 A0 04 06 80 44 00 29 00 06 A0 04 06 80 04 00 29 00 06 04 05 04 00 00 00 29 00 06 80 04 00 01 02 03 29 00 06 84 04 04 07 05 08 29 00 06 88 04 09 0A 0E 0F 29 00 06 8C 04 0B 0C 0D 10 29 00 06 90 04 16 17 11 12 29 00 06 94 04 13 14 15 1B 29 00 06 98 04 18 19 1A 06 29 00 06 9C 04 31 04 00 00 disp_timings: display-timings { 277 native-mode = <&timing0>; 278 timing0: timing0 {294 295 clock-frequency = <66866760>; 296 //clock-frequency = <68000000>; 297 hactive = <1024>; 298 vactive = <768>; 299 hsync-len = <10>; 300 hback-porch = <2>; 301 hfront-porch = <30>; 302 vsync-len = <1>; 303 vback-porch = <2>; 304 vfront-porch = <40>; 305 hsync-active = <0>; 306 vsync-active = <0>; 307 de-active = <0>; 308 pixelclk-active = <0>;調(diào)整disp_timing參數(shù)
clock-frequency = H(total)( Hactive + hsync-len + hback-porch +hfront-porch )?×?V(total)(同H)×?fps(60)= (1024+10+2+30)×(768+1+2+40)× 60 = 51871560;填入其中。
hactive、vactive等參數(shù),按照規(guī)格書填寫即可。
填寫完成后,保存退出,編譯燒錄測(cè)試。
如果測(cè)試有問題,那么需要確認(rèn)的地方包括:
1、各引腳的狀態(tài),包括復(fù)位引腳,I2C引腳,時(shí)鐘引腳是否正確,信號(hào)是否正確。
?
?2、確認(rèn)輸出格式:??dsi,format = <MIPI_DSI_FMT_RGB888>;? 或者dsi,format = <MIPI_DSI_FMT_RGB666>;? 根據(jù)屏幕位數(shù)選擇,6bit選擇666,? 8bit選擇888。
3、確認(rèn)時(shí)鐘頻率正確,在液晶屏規(guī)格書規(guī)定范圍之內(nèi)。
4、確認(rèn)供電引腳是否供電。
5、確認(rèn)各個(gè)引腳都處于接通狀態(tài)。
如果還有問題,那么就換塊板子測(cè)試吧。
我測(cè)試了一天,各個(gè)引腳信號(hào)都確認(rèn)了還是不出圖像,測(cè)量信號(hào)感覺時(shí)鐘信號(hào)可能不正確,實(shí)在沒招了,換了換板子后圖像正常了……
?
總結(jié)
以上是生活随笔為你收集整理的【RK3399 Android】天马MIPI屏幕TM080TDGP01,启动参数dts配置调试。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IT大学生成长周报 | 第 8 期
- 下一篇: 微博小尾巴自定义名字中的Android,