AM335x(TQ335x)學(xué)習(xí)筆記——LCD驅(qū)動(dòng)移植
(3)backlight節(jié)點(diǎn)分析及配置
本文引用地址:http://www.ex-cimer.com/article/201611/322821.htm從backlight節(jié)點(diǎn)中可以獲得如下信息:
- 1.匹配內(nèi)核驅(qū)動(dòng)的關(guān)鍵詞是"pwm-backlight"。
- 2.使用的ECAP0進(jìn)行PWM輸出。
- 3.有8個(gè)亮度等級(jí)。
- 4.默認(rèn)的亮度等級(jí)是8,也就是最亮。
- Step1.將backlight節(jié)點(diǎn)中&eacp0改為&eacp2。
- Step2.將&epwmss0改為&epwmss2,并將該節(jié)點(diǎn)內(nèi)的ecap0:ecap@48304100改成ecap0:ecap@48304100,然后將該節(jié)點(diǎn)中的&ecap0_pins改成&ecap2_pins。
- Step3.將ecap0_pins節(jié)點(diǎn)改名為ecap2_pins,然后將pinctrl-single,pins內(nèi)的內(nèi)容改為:0x19cMUX_MODE4。
- backlight{
- compatible="pwm-backlight";
- pwms=<&ecap20500000>;
- brightness-levels=<05153566275101152255>;
- default-brightness-level=<8>;
- };
- &epwmss2{
- status="okay";
- ecap2:ecap@48304100{
- status="okay";
- pinctrl-names="default";
- pinctrl-0=<&ecap2_pins>;
- };
- };
- ecap2_pins:backlight_pins{
- pinctrl-single,pins=<
- 0x19cMUX_MODE4/*MCASP0_AHCLKR.eCAP2_in_PWM2_outMODE4*/
- >;
- };
- makeARCH=armmenuconfig
- Graphicssupport--->
- [*]Pulse-WidthModulation(PWM)Support--->
- <*>ECAPPWMsupport
- <*>EHRPWMPWMsupport
- -*-Backlight&LCDdevicesupport--->
- <*>GenericPWMbasedBacklightDriver
- Graphicssupport--->
- DirectRenderingManager--->
- <*>DirectRenderingManager(XFree864.1.0andhigherDRIsupport)--->
- <*>DRMSupportforTILCDCDisplayController
- makeARCH=armCROSS_COMPILE=arm-linux-gnueabi-tq335x.dtb
- makeARCH=armCROSS_COMPILE=arm-linux-gnueabi--j8
將新編譯好的tq335x.dtb和zImage拷貝到SD卡的boot目錄下,然后用SD啟動(dòng)開發(fā)板到u-boot命令行模式,通過u-boot指令啟動(dòng)內(nèi)核(每次都這樣啟動(dòng)會(huì)比較麻煩,可以通過設(shè)置u-boot的bootcmd環(huán)境變量并保存來簡(jiǎn)化此動(dòng)作),啟動(dòng)內(nèi)核的指令與前一篇文章的命令是相同的:
- loadmmc00x88000000/boot/tq335x.dtb
- loadmmc00x82000000/boot/zImage
- loadmmc00x88080000/boot/ramdisk.img
- bootz0x820000000x880800000x88000000
(7)pinmux配置參數(shù)的確定方法
相信有些人看完這幾篇文章之后有個(gè)疑問,就是配置pinmux的時(shí)候offset是如何確定的。配置GPIO管腳復(fù)用功能時(shí)經(jīng)常用到pinctrl-single,pins =
講offset的確定方法之前需要指出的是,TI的GPIO控制與三星的芯片不同,三星的芯片管腳復(fù)用功能是放在GPIO寄存器中的,而TI的芯片則有個(gè)專門的控制模塊叫Control Module,該模塊可以控制所有的GPIO管腳功能復(fù)用;另外,與三星芯片的另外一個(gè)不同是TI的芯片分為技術(shù)參考手冊(cè)和數(shù)據(jù)手冊(cè),技術(shù)參考手冊(cè)非常詳細(xì)的講述同family的芯片功能及使用方法,數(shù)據(jù)手冊(cè)則用來講述同family中不同芯片特有的屬性。因此,調(diào)試TI芯片時(shí)需要結(jié)合技術(shù)參考手冊(cè)和數(shù)據(jù)手冊(cè),而配置GPIO則需要閱讀技術(shù)手冊(cè)的GPIO、Control Module兩章和數(shù)據(jù)手冊(cè)中相關(guān)的部分。
從am33xx.dtsi中可以看到pinmux的基地址是0x44e10800,我們先來看這個(gè)地址是怎么來的。從技術(shù)參考手冊(cè)的內(nèi)存映射表可以確定該地址位于L4_WKUP段內(nèi),如下圖:
點(diǎn)擊L4_WKUP超鏈接,可以切換到L4_WKUP的地址映射表,從該表中可以確定,該地址位于Control Module,如下圖:
點(diǎn)擊Control Module的超鏈接,可以切換到Control Module的地址映射表,從該表中可以找到0x44e10800地址,實(shí)際上就是conf_gpmc_ad0控制寄存器的地址,也就是說,pinmux配置時(shí)的offset都基于這個(gè)地址的。

相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論