展訊SC8810的參數與功能介紹
展訊SC8810的參數與功能介紹SC8810的工藝說明:采用40納米CMOS工藝,是一款高集成度、低功耗的TD-SCDMA主流智能手機平臺。該芯片集成了1GHz CortexA5處理器、圖形加速專用GPU和電源管理單元,實現單芯片支持TD-HSPA/TD-SCDMA/EDGE/GPRS/GSM多模。SC8810面向低成本智能手機市場,可提供接近高端智能手機的互聯網及圖形性能。展訊提供完整的SC8810 Android系統交鑰匙解決方案,幫助客戶降低產品開發難度,并縮短產品的開發及上市周期。
展訊sc8810平臺LCD架構淺析
從開機過程中LCD初始化的流程,來分析LCD的驅動架構。
在開機的時候首先進行板級的初始化(U-boot/arch/arm/lib/board.c),現在flash中跑board_init_f(),劃分一部分Mermory用來跑U-BOOT,劃定范圍之外的Mermory在U-boot的時候是不能被操作的。同時預留給malloc() arena、U-Boot code, data & bss、VFD display、LCDdisplay、TLB table、PRam、logBuffer等空間。
接下來走到RAM中的board_init_r(),建立片選、初始化串口、初始化NAND、MMC、flash,到這里drv_vfd_init(),初始化LCD控制器,drv_vfd_init(),混雜設備初始化、中斷初始化、中斷使能等等很多操作,先不忙看后面的操作,進入(U-boot/common/stdio.c)drv_vfd_init()里面我們會發現,在這里會對arm_dcc、LCD、vedio、keyboard…等等設備進行初始化。進入(U-boot/common_LCD.c)drv_lcd_init ()中,發現是對LCD進行一個常規的初始化,lcd_init (lcd_base);一方面通過lcd_init()調用lcd_ctrl_init()來完成LCD的初始化,另一方面通過lcd_clear()來完成控制輸出的backcolor和frontcolor,并且將LOGO解壓并放入Buffer。
繼續看lcd_ctrl_init(),這個函數在(U-boot/drivers/video/sc8810_fb.c)中,lcd_ctrl_init就干了一件事,sc8810fb_probe(lcdbase);提供LCD具體驅動的入口。進入這個probe函數就可以找到lcd_panel[lcd_adapt].panel,通過這個就可以跟到(U-boot/drivers/video)sc8810_fb.c中,lcd_panel[]的成員函數,匹配到具體的驅動實體的結構體,例如:
.panel = &lcd_panel_hx8357,
Lcd_hx8357.c這個文件相信大家不會陌生,就是LCD具體的驅動函數。走到hx8357_init()這里通過初始化LCD的寄存器完成具體的LCD的初始化。
到這里為止,按下開機鍵到LCD點亮之間這短短時間內,LCD的初始化過程基本上理清了。
-
芯片
+關注
關注
453文章
50387瀏覽量
421786 -
展訊
+關注
關注
4文章
177瀏覽量
35047
發布評論請先 登錄
相關推薦
評論