1. 程式人生 > >Linux驅動程式設計——雙通道LVDS螢幕配置

Linux驅動程式設計——雙通道LVDS螢幕配置

前言

最近在調公司專案的雙通道的LVDS螢幕。所用的開發板是基於imx6q的,這塊開發板的資料少得可憐,基本沒有。於是只能自己慢慢琢磨,記錄一下完成的過程,僅供大家參考。

修改核心引數

將廠家給我們的原始碼編譯後,移植到開發板上去,預設的情況下是不支援雙通道的LVDS螢幕的。所以要修改核心原始碼,然後重新編譯。 1.找到要修改核心程式碼所在的位置 要找到如下程式碼(每個開發板不同,所在位置也就不同,可以百度找,也可以問晶片廠家)
&ldb {
    status = "okay";
    split-mode;

    [email protected] {
        reg = <0>;
        crtc = "ipu2-di0";
        fsl,data-mapping = "spwg";
        fsl,data-width = <24>;
        status = "okay";

        display-timings {
            native-mode = <&timing0>;
            timing0: hsd100pxn1 {
                clock-frequency = <150000000>;
                hactive = <1920>;
                vactive = <1080>;
                hback-porch = <220>;//表示從水平同步訊號開始到一行的有效資料開始之間的VCLK的個數
                
		hfront-porch = <40>;//表示一行的有效資料結束到下一個水平同步訊號開始之間的VCLK的個數
                
		vback-porch = <21>;//VBPD(vertical back porch):表示在一幀影象開始時,垂直同步訊號以後的無效的行數
                
		vfront-porch = <19>;//VFBD(vertical front porch):表示在一幀影象結束後,垂直同步訊號以前的無效的行數VSPW
		(vertical sync pulse width):表示垂直同步脈衝的寬度,用行數計算 
                
		hsync-len = <60>;//HSYNC訊號有效時,表示一行資料的開始,訊號寬度為(HSPW+ 1)個VCLK訊號週期,即(HSPW +1)個無效畫素; 
		HSYNC訊號脈衝之後,還要經過(HBPD +1)個VCLK訊號週期,有效的畫素資料才出現; 隨後發出(HOZVAL+ 1)個畫素的有效資料; 
		最後是(HFPD +1)個無效的畫素; 
                
		vsync-len = <10>;//VSYNC訊號有效時,表示一幀資料的開始, 訊號寬度為(VSPW +1)個HSYNC訊號週期,即(VSPW +1)個無效行; 
		VSYNC訊號脈衝之後,總共還要經過(VBPD+ 1)個HSYNC訊號週期,有效的行資料才出現; 所以,在VSYNC訊號有效之後,還要經過(VSPW +1 + VBPD + 1)個無效的行; 
            };
        };
    };

    
[email protected]
{ reg = <1>; crtc = "ipu2-di1"; fsl,data-mapping = "spwg"; fsl,data-width = <24>; status = "okay"; primary; display-timings { native-mode = <&timing1>; timing1: hsd100pxn1 { clock-frequency = <150000000>; hactive = <1920>; vactive = <1080>; hback-porch = <220>; hfront-porch = <40>; vback-porch = <21>; vfront-porch = <19>; hsync-len = <60>; vsync-len = <10>; }; }; }; };
2.修改核心程式碼 這個時候就要根據螢幕廠商給的開發文件來進行操作,裡面有關上面引數的值都會給定,對照著來。修改完了,我上面修改的是裝置樹檔案,所以只用編譯裝置樹就行了。

總結

那些引數這樣解釋可能看不懂,但是核心中有關那些引數的介紹都有,要自己找一下。

相關推薦

Linux驅動程式設計——通道LVDS螢幕配置

前言 最近在調公司專案的雙通道的LVDS螢幕。所用的開發板是基於imx6q的,這塊開發板的資料少得可憐,基本沒有。於是只能自己慢慢琢磨,記錄一下完成的過程,僅供大家參考。 修改核心引數 將廠家給我們

Linux驅動程式設計中EXPORT_SYMBOL()介紹

一、檢視核心驅動程式碼你會發現很多的函式帶有EXPORT_SYMBOL()巨集定義。 二、那麼EXPORT_SYMBOL的作用是什麼? EXPORT_SYMBOL標籤內定義的函式或者符號對全部核心程式碼公開,不用修改核心程式碼就可以在您的核心模組中直接呼叫,即

Linux驅動程式設計 step-by-step (七)

併發 競態 (訊號量與自旋鎖) 併發程序 導致競態的一個例子 前面所述的字元驅動都是沒有考慮併發竟態的情況,想象一下 一個程序去讀一個字元裝置,另一個程序在同一時間向這個裝置寫入(完全有這種情況) 原來裝置中存有 A B C D 要想裝置寫入1 2 3 4 每次讀寫一個位

linux高階程式設計三網路以及網路配置

===================== 網路 ================== 1.OSI模型:規範網路間的理想的傳輸協議應用層表示層會話層傳輸層tcp(可靠傳輸)、udp(不可靠傳輸)資料段資料片網路層IP資料包報文資料鏈路層MAC幀物理層位元流資料流 2.TCP

Linux Shell程式設計--括號

linux shell (())雙括號運算子 在剛開始學習inux shell指令碼程式設計時候,對於它的 四則運算以及邏輯運算。估計很多朋友都感覺比較難以接受。特變邏輯運算子”[]”使用時候,必須保證運算子與算數 之間有空格。 四則運算也只能藉助:let,expr等命令完

linux驅動程式設計入門---hello,kernel

學習模組程式設計,第一個小程式當然是hello,kernel!了,這應當算是一個慣例了。以前大三的時候在實驗課上做過模組程式設計,記得當時還是許師兄帶我們的實驗,不過現在又忘了。晚上試了試,很快就執行成功了,不過還是出現了一些問題。現在將我的步驟記錄如下,供和我一樣的

【穩定方案】賽英THC63LVD827:RGB轉LVDS通道)晶片規格書

General Description The THC63LVD827 transmitter is designed to supportpixel data transmission between Host and Flat PanelDisplay and Dual Link tra

[Linux驅動煉成記] 06-博通WIFI模組AP6212配置

Buildroot 配置 Kernel -> wifi modle -> AP6212 Kernel -> wifi modle -> wifi fw local path (wifi韌體路徑) 相關安裝包主要是: buildroot/

[Linux驅動煉成記] 05-儲存eMMC配置

嵌入式開發環境 主控晶片: Amlogic A113X Linux Kernel : 4.9 eMMc : 金士頓 4GB A113X主控晶片 金士頓的4GB eMMC 海力士256M DDR 博通WIFI模組 AP6212

Linux USB驅動程式設計

Linux USB驅動程式設計   1. USB發展史 USB(Universal Serial Bus ),通用序列匯流排,是一種外部匯流排標準,用於規範電腦與外部裝置的連線和通訊。 USB是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯合提出的,自19

Linux USB裝置驅動程式設計 和 USB下載線驅動設計

Linux USB裝置驅動程式設計 和 USB下載線驅動設計   USB裝置驅動模型 USB裝置包括配置(configuration)、介面(interface)和端點(endpoint),一個USB裝置驅動程式對應一個USB介面,而非整個USB裝置。 在Lin

linux程式設計工具推薦和配置-vim

工欲善其事,必先利其器 從網上找的兩個比較強大的程式碼編輯和工程開發工具,沉下心來,好好配置一下,畢竟程式碼是陪伴程式設計師一生最長久的夥伴,值得好好打理一下。 為了方便大家下載使用,我把它

linux網絡卡配置

一、VM虛擬機器新增一個網路介面卡。     選擇自己需要的模式型別 二、啟動虛擬機器,配置網絡卡   按原先配置網絡卡的方式配置完(ip地址及預設閘道器還有網絡卡名不能跟原先的一樣)     重啟所有網絡卡(service netw

搭建 Linux C 程式設計環境 --- 使用配置好的Ubuntu系統2

1 Ubuntu系統下載 目錄 和使用        作者已經基於ubuntu10版本安裝好了一個虛擬機器系統,並且預設安裝了gcc、g++和sqlite3等學習程式設計和編譯專案使用到的工具。為了方便讀者快速獲取到一個完善的開發環境。建立包的ubuntu10虛

嵌入式Linux網路程式設計,I/O多路複用,阻塞I/O模式,非阻塞I/O模式fcntl()/ioctl(),多路複用I/O select()/pselect()/poll(),訊號驅動I/O

文章目錄 1,I/O模型 2,阻塞I/O 模式 2.1,讀阻塞(以read函式為例) 2.2,寫阻塞 3,非阻塞模式I/O 3.1,非阻塞模式的實現(fcntl()函式、ioctl() 函式)

linux/Centos 安裝GTX-1080Ti 顯示卡 配置顯示卡驅動 cuda cudnn

os: centos 6.9 顯示卡 :1080 TI cuda :cuda-10.0 cudnn:cuDNN v 7.3.1 CentOS 6.9安裝NVIDIA GTX1080顯示卡驅動,直接說安裝步驟和遇到的問題: 一、安裝驅動 1:首先當然是要把驅動下載下

[Linux驅動煉成記] 04-儲存eMMC配置

嵌入式開發環境 主控晶片: Amlogic A113X Linux Kernel : 4.9 eMMc : 金士頓 4GB A113X主控晶片 金士頓的4GB eMMC 海力士256M DDR 博通WIFI模組 AP6212 支援eMMC 現有專案儲存

NVIDIA驅動以及開發運行環境,顯卡的配置Ubuntu環境下的各種問題以及處理方法

安裝文件 環境 工具 config posit 指示 apt 賬戶 令行 將開源的Nouveau驅動加入黑名單,禁止其啟動; sudo vi /etc/modprobe.d/blacklist.conf 在文件

Linux串列埠(serial、uart)驅動程式設計

一、核心資料結構串列埠驅動有3個核心資料結構,它們都定義在<#include linux/serial_core.h>1、uart_driveruart_driver包含了串列埠裝置名、串列埠驅動名、主次裝置號、串列埠控制檯(可選)等資訊,還封裝了tty_dri

Linux按鍵驅動程式設計詳解---從簡單到不簡單

混雜裝置驅動模型: 1. 混雜裝置描述         在Linux系統中,存在一類字元裝置,它們擁有相同的主裝置號(10),單次裝置號不同,我們稱這類裝置為混            雜裝置(miscdevice).所有的混雜裝置形成一個連結串列,對裝置訪問時核心根據次裝置