RK3288 HDMI配置和除錯

2021-08-20 14:01:23 字數 4349 閱讀 6956

rk3288 最大輸出解析度為 3840x2160

hdmi 驅動**位於 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2 目錄

1、設定預設輸出解析度

網上的資源是修改 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2 中的 rockchip-hdmi.h 檔案,

/*

hdmi default vide mode

*/#define hdmi_video_default_mode hdmi_1280x720p_60hz

官方文件中是修改板級 dts 檔案,路徑為 kernel\arch\arm\boot\dts\***.dts 

在 hdmi 節點中新增 rockchip,defaultmode = ,值可以在 rockchip-hdmi.h 的 hdmi_video_infomation_code 中查到相應值。

hdmi_video_infomation_code 是乙個列舉陣列,從 1 開始,想設定哪個解析度,value 值就填此解析度的序號。

設定前首先得支援此解析度。檢視支援的解析度:cat /sys/class/display/hdmi/modes

例如,設定預設解析度為1280x720p60hz輸出:

//

路徑:kernel\arch\arm\boot\dts\***.dts

&hdmi ;

//路徑:kernel\drivers\video\rockchip\hdmi\rockchip-hdmi.h

/*hdmi video information code according cea-861-f

*/enum

hdmi_video_infomation_code

2、除錯方法

檢視sink裝置的edid資訊,含原始資料和解析後資訊。

cat /sys/class/display/hdmi/debug

shell@***:/ $ cat /sys/class/display/hdmi/debug

//edid狀態

edid status:okay

//原始資料

raw data:

0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0xe3, 0x80, 0x22, 0xfd, 0x05, 0x00, 0x00

, 0x0e, 0x1a, 0x01, 0x03, 0xa0, 0x30, 0x1b, 0x78, 0xba, 0x5a, 0x65, 0xa7, 0x56, 0x52, 0x9c, 0x27

, 0x0f, 0x50, 0x54, 0xbf, 0xef, 0x00, 0xd1, 0xc0, 0xb3, 0x00, 0x95, 0x00, 0x81, 0x80, 0x81, 0x40

, 0x81, 0xc0, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a, 0x80, 0x18, 0x71, 0x38, 0x2d, 0x40, 0x58, 0x2c

, 0x45, 0x00, 0xdd, 0x0c, 0x11, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x32, 0x4c, 0x1e

, 0x53, 0x11, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x32

, 0x32, 0x38, 0x30, 0x57, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xff

, 0x00, 0x41, 0x42, 0x38, 0x30, 0x36, 0x31, 0x34, 0x5a, 0x30, 0x31, 0x35, 0x33, 0x33, 0x01, 0xa8

, 0x02, 0x03, 0x1b, 0x71, 0x23, 0x09, 0x07, 0x07, 0x83, 0x01, 0x00, 0x00, 0x67, 0x03, 0x0c, 0x00

, 0x10, 0x00, 0x80, 0x21, 0x43, 0x01, 0x10, 0x84, 0xe2, 0x00, 0x0f, 0x01, 0x1d, 0x00, 0x72, 0x51

, 0xd0, 0x1e, 0x20, 0x6e, 0x28, 0x55, 0x00, 0x81, 0x49, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00

, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf

, ******** show sink info ********

//最大***s通道時鐘頻率

max ***s clk is0//

支援的解析度

support video mode:

1920x1080p@60hz

1280x720p@60hz

//support video color mode: rgb ycbcr422 ycbcr444

//support video color depth: 24bit

//支援的音訊型別

support audio type: lpcm

//支援的最大音訊通道

support max audio channel is2//

支援的音訊取樣速率

support audio sample rate: 32000

44100

48000

//支援的音訊字長

support audio word lenght: 16bit 20bit 24bit

檢視支援的解析度

$ cat /sys/class/display/hdmi/modes

檢視當前解析度

$ cat /sys/class/display/hdmi/mode

切換解析度

$ echo 1920x1080p-60 > /sys/class/display/hdmi/mode

檢視hdmi是否連線

$ cat /sys/class/display/hdmi/connect

檢視hdmi使能狀態

$ cat /sys/class/display/hdmi/enable

設定hdmi使能,可取0或1,0表示關閉,1表示開啟。

$ echo > /sys/class/display/hdmi/enable

修改輸出顏色

$ echo mode=> /sys/class/display/hdmi/color

mode = 0 是自動模式,優先順序為:

ycbcr444[16-235] > ycbcr422[16-235] > rgb[16-235] > rgb[0-255]

mode = 1 是rgb[0-255]

mode = 2 是rgb[16-235]

mode = 3 是ycbcr444[16-235]

mode = 4 是ycbcr422[16-235]

檢視3d模式

$ cat /sys/class/display/hdmi/3dmode

設定3d模式

$ echo > /sys/class/display/hdmi/3dmode

可以取以下值:

0:frame packing

6:top and bottom

8:side by side half

device drivers --->graphics support --->[*] rockchip hdmi support --->[*] rockchip hdmi debugging

RK3288 UBOOT OTG除錯分析

除錯otg的時候發現無法識別usb,開始定位問題。先來看看硬體部分 1.供電部分 2.usb插入檢測 usb插入時候vcc otg 5v有5v電壓,然後otg det 3.3v 3.usb座子 再來看軟體流程 1.uboot啟動,檢測recorver按鍵是否為低電平,如果為低,則進入do rocku...

nodejs 安裝配置和除錯

這裡用的是 第二步 安裝nodejs 第三步 安裝相關環境 開啟c program files nodejs目錄你會發現裡面自帶了npm,直接用npm安裝相環境既可 進入node.js command prompt 命令視窗 進入nodejs 安裝目錄 c program files nodejs ...

Android驅動程式開發和除錯環境配置

本文用 android深度探索 卷1 hal與驅動開發 的隨書源 為例詳細說明如何配置android驅動開發和測試環境,並且如何使用源 中的build.sh指令碼檔案在各種平台 ubuntu linux android模擬器和s3c6410開發板 上編譯 安裝和測試linux驅動。建議讀者使用ubu...