溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進行RK3288 HDMI配置和調(diào)試

發(fā)布時間:2021-11-06 16:18:40 來源:億速云 閱讀:606 作者:柒染 欄目:建站服務(wù)器

這篇文章給大家介紹如何進行RK3288 HDMI配置和調(diào)試,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

RK3288 最大輸出分辨率為 3840x2160

HDMI 驅(qū)動代碼位于 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2 目錄

1、設(shè)置默認輸出分辨率

網(wǎng)上的資源是修改 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\xxx.dts 

在 hdmi 節(jié)點中添加 rockchip,defaultmode = <value>,<value>值可以在 rockchip-hdmi.h 的 hdmi_video_infomation_code 中查到相應(yīng)值。

hdmi_video_infomation_code 是一個枚舉數(shù)組,從 1 開始,想設(shè)置哪個分辨率,value 值就填此分辨率的序號。

設(shè)置前首先得支持此分辨率。查看支持的分辨率:cat /sys/class/display/HDMI/modes

例如,設(shè)置默認分辨率為1280x720P60Hz輸出:

//路徑:kernel\arch\arm\boot\dts\xxx.dts

&hdmi {

    status = "okay";

    rockchip,hdmi_video_source = <DISPLAY_SOURCE_LCDC1>;

    rockchip,defaultmode = <4>;

};

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

/* HDMI video information code according CEA-861-F */

enum hdmi_video_infomation_code {

    HDMI_640X480P_60HZ = 1,

    HDMI_720X480P_60HZ_4_3,

    HDMI_720X480P_60HZ_16_9,

    HDMI_1280X720P_60HZ,

        ...

}

2、調(diào)試方法

查看sink設(shè)備的EDID信息,含原始數(shù)據(jù)和解析后信息。

cat /sys/class/display/HDMI/debug

shell@xxx:/ $ cat /sys/class/display/HDMI/debug

//EDID狀態(tài)

EDID status:Okay

//原始數(shù)據(jù)

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 ********

//最大tmds通道時鐘頻率

Max tmds clk is 0

//支持的分辨率

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 is 2

//支持的音頻采樣速率

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使能狀態(tài)

$ cat /sys/class/display/HDMI/enable

設(shè)置HDMI使能,<value> 可取0或1,0表示關(guān)閉,1表示開啟。

$ echo <value> > /sys/class/display/HDMI/enable

修改輸出顏色

$ echo mode=<value> > /sys/class/display/HDMI/color

mode = 0 是自動模式,優(yōu)先級為:

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

設(shè)置3D模式

$ echo <value> > /sys/class/display/HDMI/3dmode

<value>可以取以下值:

0:Frame packing

6:Top and Bottom

8:Side by Side Half

在 make menuconfig 中打開內(nèi)核的 Debug 選項,可以查看更多的Log信息。

Device Drivers --->

    Graphics support --->

        [*] Rockchip HDMI support --->

            [*] Rockchip HDMI Debugging

關(guān)于如何進行RK3288 HDMI配置和調(diào)試就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI