1. 程式人生 > >am335x系統移植筆記——LCD相關Device Tree 配置

am335x系統移植筆記——LCD相關Device Tree 配置

LCD 引腳配置:
lcd_pins_default: lcd_pins_default {
pinctrl-single,pins = <
AM33XX_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad8.lcd_data23 */
AM33XX_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad9.lcd_data22 */
AM33XX_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad10.lcd_data21 */
AM33XX_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad11.lcd_data20 */
AM33XX_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad12.lcd_data19 */
AM33XX_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad13.lcd_data18 */
AM33XX_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad14.lcd_data17 */
AM33XX_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad15.lcd_data16 */
AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
AM33XX_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */
AM33XX_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */
AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */
AM33XX_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
AM33XX_IOPAD(0x9e4, MUX_MODE7|PIN_OUTPUT_PULLUP) /* GPIO3_7 to set LCD BACKLIGHT EN 背光使能 */
AM33XX_IOPAD(0x89c, MUX_MODE7|PIN_OUTPUT) //gpmc_ben0_cle.gpio2_5 >; };

LCD控制配置:
1. LCD供電3.3v/5v
2. 背光使能
3. PWM控制,調節LCD亮度

PWM配置:
修改config檔案或者make menuconfig 開啟dmtimer控制開關,使用timer7 產生PWM 時鐘32k。

pwm7:[email protected]{
compatible=”ti,omap-dmtimer-pwm”;
ti,timers=<&timer7>;
#pwm-cells=<3>;
pinctrl-names=”default”;
pinctrl-0=<&ecap0_pins>;
//ti,prescaler=<3>;
};

背光控制和使能:
lcd_bl: backlight {
compatible = “pwm-backlight”;
pwms = <&pwm7 0 720000 0>;//調節pwms,產生一個2k左右的pwm
//pwms = <&pwm7 0 600 0>;
brightness-levels = <0 8 16 32 64 96 128 180 255>;
default-brightness-level = <8>;
enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;//使能
};
LCD控制:
panel {
compatible = “ti,tilcdc,panel”;
pinctrl-names = “default”;
pinctrl-0 = <&lcd_pins_default>;
backlight = <&lcd_bl>;
enable-gpios = <&gpio3 7 1>;//使能
status = “okay”;
panel-info {
ac-bias = <255>;
ac-bias-intrpt = <0>;
dma-burst-sz = <16>;
bpp = <32>;
fdd = <0x80>;
sync-edge = <0>;
sync-ctrl = <1>;
raster-order = <0>;
fifo-th = <0>;
//invert-pxl-clk=<1>; //是否翻轉
};
display-timings {
800*600 {
hactive = <800>; //<480>;
vactive = <600>; //<272>;
hback-porch = <40>; //<43>;
hfront-porch =<40>; //<8>;
hsync-len = <48>; //<4>;
vback-porch = <36>; //<12>;
vfront-porch = <21>; //<4>;
vsync-len = <2>; //<10>;
clock-frequency =<70000000>; //<9000000>; //設定時鐘
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active =<1>; //<1>;
};
};
};
};

相關推薦

am335x系統移植筆記——LCD相關Device Tree 配置

LCD 引腳配置: lcd_pins_default: lcd_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x820, PIN_OUTPUT | M

am335x系統移植筆記--由800M提升到1G主頻的配置方法

uboot版本:2013.01.01 linux kernel版本:linux3.12.10 gcc編譯器版本:arm-linux-gnueabihf4.7 uboot修改如下檔案: board/ti/am335x/pmic.h新增定義 #def

AM335x(TQ335x)學習筆記——LCD驅動移植

TI的LCD控制器驅動是非常完善的,共通的地方已經由驅動封裝好了,與按鍵一樣,我們可以通過DTS配置完成LCD的顯示。下面,我們來討論下使用DTS方式配置核心完成LCD驅動的思路。 (1)初步分析 由於TQ335x使用的晶片是AM335x,故仍然可以參考am335x-evm

嵌入式系統移植筆記(八) --製作rootfs

Linux核心啟動後,需要掛載根檔案系統。本章介紹檔案系統的製作過程,並且讓開發板通過網路遠端掛載nfs系統來驗證製作的rootfs。。   檔案系統格式 上面不同的檔案系統格式,有適合不同的應用場合。nfs rootfs,實際nfs是將伺服器端的目錄通過網路的形式共享出

imx6系列系統移植筆記--imx6q SD啟動卡製作

開發平臺:Ubuntu14.04 SD啟動卡命令步驟如下: 1. ls -l |grep sd 檢視sd卡碟符 2.umount解除安裝sd卡 4. sudo dd if=/dev/zero of=/dev/sdc bs=1M count=10 清空前1

嵌入式系統移植筆記(七) --第三方驅動移植(黑盒子移植

由於嵌入式系統分層,應用層要想操作硬體需通過核心層。驅動對上提供系統呼叫函式,對下封裝了對底層硬體的一些基本操作。筆者是不瞭解驅動程式的編輯,所以本章是在已經有驅動程式(fs4412_led_drv.c)和對應的應用程式(fs4412_led_app.c),來實現黑盒子移植(

[IMX6Q][Android5.1]移植筆記 --- LCD背光控制

platform: imx6q os: Android Lollipop 5.1 branch: l5.1.1_2.1.0-ga LCD 背光的使能通過GPIO高低電平來控制, 因此本文也可以作為GPIO基本控制的一個例子。 硬體部分: 這裡是MB_LCD_BL

STM32的FATFS檔案系統移植筆記(轉…

一、序言     經常在網上、群裡看到很多人問關於STM32的FATFS檔案系統移植的問題,剛好自己最近也在除錯這個程式,為了讓大家少走彎路,我把我的除錯過程和方法也貢獻給大家。 二、FATFS簡介     FatFs Module是一種完全免費開源的FAT檔案系統模組,專門為小型的嵌入式系統而設計。

STM32的FATFS檔案系統移植筆記

一、序言     經常在網上、群裡看到很多人問關於STM32的FATFS檔案系統移植的問題,剛好自己最近也在除錯這個程式,為了讓大家少走彎路,我把我的除錯過程和方法也貢獻給大家。 二、FATFS簡介     FatFs Module是一種完全免費開源的FAT檔案系統模組,專

Linux Kernel Device Tree 配置框架

    背景:基於arm平臺的soc種類繁多,硬體資源和配置各不相同。這些平臺硬體相關的資訊在裝置樹出現之前,是在kernel/arch/arm/plat-xxx目錄和kernel/arch/arm/mach-xxx目錄下硬編碼的。在kernel看來,這些硬體細節程式碼只不過是些垃圾,需要

關於linux操作系統中進程相關問題的學習筆記

分時 必須 總結 rcu klist sign 這也 函數 驅動 關於linux操作系統中進程相關問題的學習筆記 1.摘要 進程的經典定義是一個執行中程序的實例。系統中的每個程序都運行在某個進程的上下文中(contest)中。上下文是由程序運行正確運行所需的狀態組成的。

基於tiny4412的Linux核心移植(支援device tree)(三)

https://www.cnblogs.com/pengdonglin137/p/5146791.html 閱讀目錄(Content) 作者資訊 平臺簡介 注意 一、裝置樹反編譯 二、在u-boot列印資訊 三、開啟Linux核心啟動早期的log 四、在核心自解壓時dump記憶體 五、C

基於tiny4412的Linux核心移植(支援device tree)(二)

https://www.cnblogs.com/pengdonglin137/p/5143516.html 閱讀目錄(Content) 作者資訊 平臺簡介 步驟 回到頂部(go to top) 作者資訊 作者: 彭東林 郵箱:[email protected] QQ:4

基於tiny4412的Linux核心移植(支援device tree)(一)

https://www.cnblogs.com/pengdonglin137/p/5137941.html 閱讀目錄(Content) 作者資訊 平臺簡介 概述 步驟 回到頂部(go to top) 作者資訊 作者: 彭東林 郵箱:[email protected] Q

AM335x(TQ335x)學習筆記——WM8960音效卡驅動移植

經過一段時間的除錯,終於調好了TQ335x的音效卡驅動。TQ335x採用的Codec是WM8960,本文來總結下WM8960驅動在AM335x平臺上的移植方法。Linux音效卡驅動架構有OSS和ALSA兩種架構,目前最常用的架構是ALSA,本文也使用ALSA架構對WM

【TINY4412】LINUX移植筆記:(27)裝置樹LCD驅動

【TINY4412】LINUX移植筆記:(27)裝置樹 LCD驅動 宿主機 : 虛擬機器 Ubuntu 16.04 LTS / X64 目標板[底板]: Tiny4412SDK - 1506 目標板[核心板]: Ti

[IMX6Q][Android5.1]移植筆記 --- 無法掛載system檔案系統

platform: imx6q os: Android5.1 branch: l5.1.1_2.1.0-ga 編譯好system image之後開機提示如下log,注意紅色部分: Freeing unused kernel memory: 432K (c0be3

[ZedBoard移植嵌入式Linux教程(4)]建立裝置樹(Device-Tree)檔案dts

裝置樹用於硬體和軟體之間的資訊互動,也就是將ZedBoard的硬體資訊傳遞給linux核心,避免在linux核心中硬編碼而影響在其他平臺上的可移植性。裝置樹一般以兩種檔案格式存在,一個是dts檔案,也就是文字檔案,便於閱讀,另外一種是dtb檔案,是二進位制格式,是dts使用d

【TINY4412】LINUX移植筆記:(23)裝置樹LCD觸控式螢幕驅動

【TINY4412】LINUX移植筆記:(23)裝置樹 LCD觸控式螢幕驅動 宿主機 : 虛擬機器 Ubuntu 16.04 LTS / X64 目標板[底板]: Tiny4412SDK - 1506 目標板[核心板]

Device Tree(五)移植DM9000,並掛載NFS

1、新增\修改DTS檔案中DM9000配置 / { model = "Samsung Louis210 based on S5PV210"; compatible = "samsung,Louis210", "samsung,s5pv210"; chosen { bootargs