完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
HDMI特殊要求
一、下面以添加2560x1440P为例子 可知内核中打印的参数 进行相对应的刷新的参数配置 diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.cb/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c index 8f694f6d8e9..7430a4a7823 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c @@ -771,6 +771,28 @@ static const struct hdmi_video_timing hdmi_mode[] = { .pixelrepeat = 1, .interface = OUT_P888, }, + { + .mode = { + .name = “2560x1440p@59Hz”, + .refresh = 59, + .xres = 2560, + .yres = 1440, + .pixclock = 241000000, + .left_margin = 80, + .right_margin = 48, + .upper_margin = 33, + .lower_margin = 3, + .hsync_len = 32, + .vsync_len = 5, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .vmode = 0, + .flag = 0, + }, + .vic = HDMI_VIDEO_DMT | 10, + .vic_2nd = 0, + .pixelrepeat = 1, + .interface = OUT_P888, + }, }; 静态 int hdmi_set_info(struct rk_screen *screen, struct hdmi *hdmi) diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi.hb/drivers/video/rockchip/hdmi/rockchip-hdmi.h 索引 3e576d8b78e。 .c0d48003176 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmi.h +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi.h @@ -482,7 +482,7 @ @结构HDMI { 的#define HDMI_AUTO_CONFIG假 / *默认HDMI参见模式* / - #定义HDMI_VIDEO_DEFAULT_MODE HDMI_1280X720P_60HZ +#限定HDMI_VIDEO_DEFAULT_MODE(HDMI_VIDEO_DMT | 10) / * * HDMI_1920X1080P_60HZ / #定义HDMI_VIDEO_DEFAULT_COLORMODE HDMI_COLOR_AUTO 的#define HDMI_VIDEO_DEFAULT_COLORDEPTH 8 diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.cb/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c index c390a9928aa..75767f98cf3 100755 --- a/drivers/ video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c @@ -64,6 +64,8 @@ static const struct phy_mpll_config_tab PHY_MPLL_TABLE [] = { 1, 0, 1, 0, 0, 0, 3}, {297000000, 297000000, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3}, + {241000000, 241000000, 0, 8, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 3}, {297000000, 371250000, 0, 10, 1, 3, 1, 5, 1, 3, 1, 7200, 3}, {297000000, 44550000, 0, 12, 3, 1, 2. 添加时的超过2K,则需要在下面打上 差异 --git a/arch/arm/boot/dts/rk3288-tb-808.dts b/arch/arm/boot/dts/rk3288-tb-808.dts 索引 b8e0933a338..793ff194f50 100644 --- a/arch /arm/boot/dts/rk3288-tb-808.dts +++ b/arch/arm/boot/dts/rk3288-tb-808.dts @@ -419,13 +419,13 @@ }; /*lcdc0 作为 PRMRY(HDMI)*/ -&lcdc0 { +&lcdc1 { status = “okay”; Rockchip,镜像 = 《NO_MIRROR》; rockchip,cabc_mode = 《0》; }; -&lcdc1{ +&lcdc0{ 状态=“好的”; rockchip,mirror = 《ROTATE_270》; @@ -433,8 +433,8 @@ &hdmi { status = “okay”; - Rockchip,默认模式 = 《16》;// 1080P - 瑞芯微, + //rockchip,defaultmode = 《16》; // 1080P + Rockchip,hdmi_video_source = 《DISPLAY_SOURCE_LCDC0》; }; &adc { diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi 索引 63d687d71cf..fb3662bf42c 100755 --- a/arch/arm/boot/dts /rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi @@ -765,31 +765,31 @@ 时钟名称 = “aclk_hdcp2”、“hdcp2_clk_hdmi”、“pclk_hdcp2”; 状态=“禁用”; }; - - lcdc0: lcdc@ff930000 { + + lcdc1: lcdc@ff940000 { 兼容 = “rockchip,rk3288-lcdc”; rockchip,prop = 《PRMRY》; 瑞芯微,pwr18 = 《0》; 瑞芯微, - 注册 = 《0xff930000 0x10000》; - 中断 = 《GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH》; + 注册 = 《0xff940000 0x10000》; + 中断 = 《GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH》; pinctrl-names =“默认”,“gpio”; pinctrl-0 = 《&lcdc0_lcdc》; pinctrl-1 = 《&lcdc0_gpio》; 状态=“禁用”; - 时钟 = 《&clk_gates15 5》、《&dclk_lcdc0》、《&clk_gates15 6》、《&pd_vop0》; + 时钟 = 《&clk_gates15 7》、《&dclk_lcdc1》、《&clk_gates15 8》、《&pd_vop1》; 时钟名称=“aclk_lcdc”、“dclk_lcdc”、“hclk_lcdc”、“pd_lcdc”; }; -液晶显示器1: lcdc@ff940000 { + lcdc0: lcdc@ff930000 { 兼容 = “rockchip,rk3288-lcdc”; rockchip,prop = 《扩展》; 瑞芯微,pwr18 = 《0》; rockchip,iommu-enabled = 《0》; - 注册 = 《0xff940000 0x10000》; - 中断 = 《GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH》; + 注册 = 《0xff930000 0x10000》; + 中断 = 《GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH》; 状态=“禁用”; - 时钟 = 《&clk_gates15 7》、《&dclk_lcdc1》、《&clk_gates15 8》、《&pd_vop1》; + 时钟 = 《&clk_gates15 5》、《&dclk_lcdc0》、《&clk_gates15 6》、《&pd_vop0》; 时钟名称=“aclk_lcdc”、“dclk_lcdc”、“hclk_lcdc”、“pd_lcdc”; }; 二、下面以添加1280X800为例子 --git a/arch/arm/boot/dts/lcd/lcd-lvds1920x1080.dtsi b/arch/arm/boot/dts/lcd/lcd-lvds1920x1080。 +++ b/arch/arm/boot/dts/lcd/lcd-lvds1920x1080.dtsi @@ -4,23 +4,22 @@ */ / { - disp_timings: display-timings { native-mode = 《&timing0》 ; timing0: timing0 { - screen-type = 《SCREEN_DUAL_LVDS》;// SCREEN_DUAL_LVDS SCREEN_RGB + screen-type = 《SCREEN_LVDS》;// SCREEN_DUAL_LVDS SCREEN_RGB lvds-format = 《LVDS_8BIT_1》; 外观 = 《OUT_P888》; 颜色模式 = 《COLOR_RGB》; - 时钟频率 = 《75000000》; -hactive = 《1920》; - 活跃 = 《1080》; - hback-porch = 《100》; - hfront-porch = 《30》; - vback 门廊 = 《20》; - vfront-porch = 《20》; -hsync-len = 《10》; - vsync-len = 《5》; + 时钟频率 = 《71000000》; + hactive = 《1280》; + 活跃 = 《800》; + hback 门廊 = 《80》; + hfront-porch = 《48》; + vback 门廊 = 《14》; + vfront 门廊 = 《3》; + hsync-len = 《32》; + vsync-len = 《3》; hsync-active = 《0》; 垂直同步主动 = 《0》; 停用 = 《0》; 差异 --git a/arch/arm/boot/dts/rk3288-tb-808.dts b/arch/arm/boot/dts/rk3288-tb-808.dts 索引 7904a8ad990..46e031d53a8 100644 --- a/arch /arm/boot/dts/rk3288-tb-808.dts +++ b/arch/arm/boot/dts/rk3288-tb-808.dts @@ -433,7 +433,7 @@ &hdmi { 状态 = “好的”; - 瑞芯微,默认模式 = 《16》; // 1080P + //rockchip,defaultmode = 《16》; // 1080P Rockchip,hdmi_video_source = 《DISPLAY_SOURCE_LCDC1》; }; 差异 --git a/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.cb/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c 索引 8f694f6d8e9..8886471fb2b 100644 --- a/drivers/ video/rockchip/hdmi/rockchip-hdmi-lcdc.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c @@ -771,6 +771,28 @@ static const struct hdmi_video_timing hdmi_mode [] = { .pixelrepeat = 1, .interface = OUT_P888, }, + { + .mode = { + .name = “1280x800p@59Hz”, + .refresh = 59, + .xres = 1280, + .yres = 800 , + .pixclock = 71000000, + .left_margin = 80, + .right_margin = 48, + .upper_margin = 14, + .lower_margin = 3, + .hsync_len = 32, + .vsync_len = 6, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .vmode = 0, + .flag = 0, + }, + .vic = HDMI_VIDEO_DMT | 10, + .vic_2nd = 0, + .pixelrepeat = 1, + .interface = OUT_P888, + }, }; diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi.hb/drivers/video/rockchip/hdmi/rockchip-hdmi.h index 3e576d8b78e..c0d48003176 100644 --- a/drivers/video/rockchip/ hdmi/rockchip-hdmi.h +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi.h @@ -482,7 +482,7 @@ struct hdmi { #define HDMI_AUTO_CONFIG false /* HDMI 默认视频模式 */ -#define HDMI_VIDEO_DEFAULT_MODE HDMI_1280X720P_60HZ +#define HDMI_VIDEO_DEFAULT_MODE (HDMI_VIDEO_DMT | 10) /*HDMI_1920X1080P_60HZ*/ #define HDMI_VIDEO_DEFAULT_COLORMODE HDMI_COLOR_ULT_AUTO_LORDEPTHODECO_DE |
|
|
|
HDMI特殊要求
一、下面以添加2560x1440P为例子 可知内核中打印的参数 进行相对应的刷新的参数配置 diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.cb/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c index 8f694f6d8e9..7430a4a7823 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c @@ -771,6 +771,28 @@ static const struct hdmi_video_timing hdmi_mode[] = { .pixelrepeat = 1, .interface = OUT_P888, }, + { + .mode = { + .name = “2560x1440p@59Hz”, + .refresh = 59, + .xres = 2560, + .yres = 1440, + .pixclock = 241000000, + .left_margin = 80, + .right_margin = 48, + .upper_margin = 33, + .lower_margin = 3, + .hsync_len = 32, + .vsync_len = 5, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .vmode = 0, + .flag = 0, + }, + .vic = HDMI_VIDEO_DMT | 10, + .vic_2nd = 0, + .pixelrepeat = 1, + .interface = OUT_P888, + }, }; 静态 int hdmi_set_info(struct rk_screen *screen, struct hdmi *hdmi) diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi.hb/drivers/video/rockchip/hdmi/rockchip-hdmi.h 索引 3e576d8b78e。 .c0d48003176 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmi.h +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi.h @@ -482,7 +482,7 @ @结构HDMI { 的#define HDMI_AUTO_CONFIG假 / *默认HDMI参见模式* / - #定义HDMI_VIDEO_DEFAULT_MODE HDMI_1280X720P_60HZ +#限定HDMI_VIDEO_DEFAULT_MODE(HDMI_VIDEO_DMT | 10) / * * HDMI_1920X1080P_60HZ / #定义HDMI_VIDEO_DEFAULT_COLORMODE HDMI_COLOR_AUTO 的#define HDMI_VIDEO_DEFAULT_COLORDEPTH 8 diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.cb/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c index c390a9928aa..75767f98cf3 100755 --- a/drivers/ video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c @@ -64,6 +64,8 @@ static const struct phy_mpll_config_tab PHY_MPLL_TABLE [] = { 1, 0, 1, 0, 0, 0, 3}, {297000000, 297000000, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3}, + {241000000, 241000000, 0, 8, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 3}, {297000000, 371250000, 0, 10, 1, 3, 1, 5, 1, 3, 1, 7200, 3}, {297000000, 44550000, 0, 12, 3, 1, 2. 添加时的超过2K,则需要在下面打上 差异 --git a/arch/arm/boot/dts/rk3288-tb-808.dts b/arch/arm/boot/dts/rk3288-tb-808.dts 索引 b8e0933a338..793ff194f50 100644 --- a/arch /arm/boot/dts/rk3288-tb-808.dts +++ b/arch/arm/boot/dts/rk3288-tb-808.dts @@ -419,13 +419,13 @@ }; /*lcdc0 作为 PRMRY(HDMI)*/ -&lcdc0 { +&lcdc1 { status = “okay”; Rockchip,镜像 = 《NO_MIRROR》; rockchip,cabc_mode = 《0》; }; -&lcdc1{ +&lcdc0{ 状态=“好的”; rockchip,mirror = 《ROTATE_270》; @@ -433,8 +433,8 @@ &hdmi { status = “okay”; - Rockchip,默认模式 = 《16》;// 1080P - 瑞芯微, + //rockchip,defaultmode = 《16》; // 1080P + Rockchip,hdmi_video_source = 《DISPLAY_SOURCE_LCDC0》; }; &adc { diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi 索引 63d687d71cf..fb3662bf42c 100755 --- a/arch/arm/boot/dts /rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi @@ -765,31 +765,31 @@ 时钟名称 = “aclk_hdcp2”、“hdcp2_clk_hdmi”、“pclk_hdcp2”; 状态=“禁用”; }; - - lcdc0: lcdc@ff930000 { + + lcdc1: lcdc@ff940000 { 兼容 = “rockchip,rk3288-lcdc”; rockchip,prop = 《PRMRY》; 瑞芯微,pwr18 = 《0》; 瑞芯微, - 注册 = 《0xff930000 0x10000》; - 中断 = 《GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH》; + 注册 = 《0xff940000 0x10000》; + 中断 = 《GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH》; pinctrl-names =“默认”,“gpio”; pinctrl-0 = 《&lcdc0_lcdc》; pinctrl-1 = 《&lcdc0_gpio》; 状态=“禁用”; - 时钟 = 《&clk_gates15 5》、《&dclk_lcdc0》、《&clk_gates15 6》、《&pd_vop0》; + 时钟 = 《&clk_gates15 7》、《&dclk_lcdc1》、《&clk_gates15 8》、《&pd_vop1》; 时钟名称=“aclk_lcdc”、“dclk_lcdc”、“hclk_lcdc”、“pd_lcdc”; }; -液晶显示器1: lcdc@ff940000 { + lcdc0: lcdc@ff930000 { 兼容 = “rockchip,rk3288-lcdc”; rockchip,prop = 《扩展》; 瑞芯微,pwr18 = 《0》; rockchip,iommu-enabled = 《0》; - 注册 = 《0xff940000 0x10000》; - 中断 = 《GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH》; + 注册 = 《0xff930000 0x10000》; + 中断 = 《GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH》; 状态=“禁用”; - 时钟 = 《&clk_gates15 7》、《&dclk_lcdc1》、《&clk_gates15 8》、《&pd_vop1》; + 时钟 = 《&clk_gates15 5》、《&dclk_lcdc0》、《&clk_gates15 6》、《&pd_vop0》; 时钟名称=“aclk_lcdc”、“dclk_lcdc”、“hclk_lcdc”、“pd_lcdc”; }; 二、下面以添加1280X800为例子 --git a/arch/arm/boot/dts/lcd/lcd-lvds1920x1080.dtsi b/arch/arm/boot/dts/lcd/lcd-lvds1920x1080。 +++ b/arch/arm/boot/dts/lcd/lcd-lvds1920x1080.dtsi @@ -4,23 +4,22 @@ */ / { - disp_timings: display-timings { native-mode = 《&timing0》 ; timing0: timing0 { - screen-type = 《SCREEN_DUAL_LVDS》;// SCREEN_DUAL_LVDS SCREEN_RGB + screen-type = 《SCREEN_LVDS》;// SCREEN_DUAL_LVDS SCREEN_RGB lvds-format = 《LVDS_8BIT_1》; 外观 = 《OUT_P888》; 颜色模式 = 《COLOR_RGB》; - 时钟频率 = 《75000000》; -hactive = 《1920》; - 活跃 = 《1080》; - hback-porch = 《100》; - hfront-porch = 《30》; - vback 门廊 = 《20》; - vfront-porch = 《20》; -hsync-len = 《10》; - vsync-len = 《5》; + 时钟频率 = 《71000000》; + hactive = 《1280》; + 活跃 = 《800》; + hback 门廊 = 《80》; + hfront-porch = 《48》; + vback 门廊 = 《14》; + vfront 门廊 = 《3》; + hsync-len = 《32》; + vsync-len = 《3》; hsync-active = 《0》; 垂直同步主动 = 《0》; 停用 = 《0》; 差异 --git a/arch/arm/boot/dts/rk3288-tb-808.dts b/arch/arm/boot/dts/rk3288-tb-808.dts 索引 7904a8ad990..46e031d53a8 100644 --- a/arch /arm/boot/dts/rk3288-tb-808.dts +++ b/arch/arm/boot/dts/rk3288-tb-808.dts @@ -433,7 +433,7 @@ &hdmi { 状态 = “好的”; - 瑞芯微,默认模式 = 《16》; // 1080P + //rockchip,defaultmode = 《16》; // 1080P Rockchip,hdmi_video_source = 《DISPLAY_SOURCE_LCDC1》; }; 差异 --git a/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.cb/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c 索引 8f694f6d8e9..8886471fb2b 100644 --- a/drivers/ video/rockchip/hdmi/rockchip-hdmi-lcdc.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c @@ -771,6 +771,28 @@ static const struct hdmi_video_timing hdmi_mode [] = { .pixelrepeat = 1, .interface = OUT_P888, }, + { + .mode = { + .name = “1280x800p@59Hz”, + .refresh = 59, + .xres = 1280, + .yres = 800 , + .pixclock = 71000000, + .left_margin = 80, + .right_margin = 48, + .upper_margin = 14, + .lower_margin = 3, + .hsync_len = 32, + .vsync_len = 6, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .vmode = 0, + .flag = 0, + }, + .vic = HDMI_VIDEO_DMT | 10, + .vic_2nd = 0, + .pixelrepeat = 1, + .interface = OUT_P888, + }, }; diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmi.hb/drivers/video/rockchip/hdmi/rockchip-hdmi.h index 3e576d8b78e..c0d48003176 100644 --- a/drivers/video/rockchip/ hdmi/rockchip-hdmi.h +++ b/drivers/video/rockchip/hdmi/rockchip-hdmi.h @@ -482,7 +482,7 @@ struct hdmi { #define HDMI_AUTO_CONFIG false /* HDMI 默认视频模式 */ -#define HDMI_VIDEO_DEFAULT_MODE HDMI_1280X720P_60HZ +#define HDMI_VIDEO_DEFAULT_MODE (HDMI_VIDEO_DMT | 10) /*HDMI_1920X1080P_60HZ*/ #define HDMI_VIDEO_DEFAULT_COLORMODE HDMI_COLOR_ULT_AUTO_LORDEPTHODECO_DE |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
2688 浏览 0 评论
2879 浏览 1 评论
2364 浏览 1 评论
3706 浏览 1 评论
4449 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-27 00:05 , Processed in 0.678106 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号