1. 程式人生 > 其它 >迅為龍芯2K1000開發板pmon BSP移植之使能背光和PWM

迅為龍芯2K1000開發板pmon BSP移植之使能背光和PWM

螢幕背光我們要在 pmon 的啟動階段就要使能,不然螢幕就是黑的,在第 9.4 章節我們分析了 pmon 的啟動流程,在 Targets/LS2K/ls2k/tgt_machdep.c 檔案的 tgt_devconfig 函式裡面對顯示卡進行了初始化,所以我們是不是就可以在這個函式裡面對背光進行使能呢?
首先我們要確定螢幕背光的 GPIO 是哪一個,我們找到背光部分的原理圖,如下圖所示:


可以看出,螢幕背光使用的引腳為 GPIO37 將這個 GPIO 拉高即可,在 BSP 裡面,關於背光的程式碼其實已經給我們寫好了,我們稍加修改即可。我們找到 Targets/LS2K/ls2k/tgt_machdep.c 檔案的 tgt_devconfig 函式,在這個函式裡面呼叫了 init_pcidev 函式。而 init_pcidev 函式裡面通過巨集定義 PAI2 包含了 pai2_init 函式,
在 pai2_init 函式裡面使能了螢幕背光和 PWM,如下圖所示:

所以我們需要先定義巨集定義 PAI2 和

LCD_EN。PAI2 在 9.9.3 章節我們已經定義過了,這裡就不在重複定義,開啟 Targets/LS2K/conf/ls2k 檔案,新增以下程式碼:


在 bsp 裡面已經使能了 PWM0,這裡我們無需在做修改,程式碼如下:

其中定 19 行程式碼*(volatile int *)0xbfe10420 |=(1<<12);是將 GPIO 設定成 PWM0 功能,地址 0xbfe10420的第 12 位對應的是 PWM0,如下圖所示:

 

預設的時鐘為 48.96MHZ,通過查閱螢幕的資料手冊,可以發現 48.96MHZ 在螢幕的支援範圍以內,所以這裡我們就不需要修改了,如下圖所示:


如果您要新增一個自己解析度,比如 600x400,其他引數您可以在
Ubuntu
的電腦終端輸入命令 cvt 600400 來自動獲取的。如下圖所示:


因為這裡面 1024x600 的引數已經有了,我們就不必在新增這些引數了,所以這樣我們螢幕就適配好了是不是要比 uboot 上移植螢幕簡單多了。
更多內容可以關注:北京迅為