请问怎么能让RK3288能有1920*1200P60显示输出

本帖最后由 suky8 于 2015-8-26 16:28 编辑

现在需要要输出为1920*1200P60的显示输出,在哪个地方可以调节呢。给个思路,在源码的哪个地方可以调节这个参数。理论4K都能显示,向下应该是没有问题的

我刚找到了一个朋友与我有相同的需求,只是他的需求是1366*768
http://developer.t-firefly.com/forum.php?mod=viewthread&tid=942&highlight=�ֱ���

他解决的办法是添加一个配置信息:
我已经解决了这个问题,在lcd-box.dtsi里面添加, timing1: timing1 {
screen-type = <SCREEN_LVDS>;
lvds-format = <LVDS_8BIT_2>;
out-face = <OUT_D888_P666>;
clock-frequency = <85500000>;
hactive = <1366>;
vactive = <768>;
hback-porch = <213>;
hfront-porch = <70>;
vback-porch = <24>;
vfront-porch = <3>;
hsync-len = <143>;
vsync-len = <3>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <1>;
pixelclk-active = <0>;
swap-rb = <0>;
swap-rg = <0>;
swap-gb = <0>;
};

问题是我如果添加1920*1200P60需要怎么给参数呢?

我也找到本机的配置信息,如下,

/*

  • RockChip. LCD_BOX

*/

/ {
disp_power_ctr: power_ctr {
/* rockchip,debug = <0>;
lcd_en:lcd_en {
rockchip,power_type = ;
gpios = <&gpio0 GPIO_B0 GPIO_ACTIVE_HIGH>;
rockchip,delay = <10>;
};

                    bl_en:bl_en {
                            rockchip,power_type = <GPIO>;
                            gpios = <&gpio0 GPIO_A2 GPIO_ACTIVE_HIGH>;
                            rockchip,delay = <10>;
                    };

                    bl_ctr:bl_ctr {
                            rockchip,power_type = <GPIO>;
                            gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
                            rockchip,delay = <10>;
                    };

                    lcd_rst:lcd_rst {
                            rockchip,power_type = <REGULATOR>;
                            rockchip,delay = <5>;
                    };*/

            };

	disp_timings: display-timings {
		native-mode = <&timing1>;
		timing0: timing0 {
			screen-type = <SCREEN_RGB>;
			out-face    = <OUT_P888>;
			clock-frequency = <74250000>;
			hactive = <1280>;
			vactive = <720>;
			hback-porch = <220>;
			hfront-porch = <110>;
			vback-porch = <20>;
			vfront-porch = <5>;
			hsync-len = <40>;
			vsync-len = <5>;
			hsync-active = <1>;
			vsync-active = <1>;
			de-active = <0>;
			pixelclk-active = <0>;
			swap-rb = <0>;
			swap-rg = <0>;
			swap-gb = <0>;
		};
		timing1: timing1 {
			screen-type = <SCREEN_RGB>;
			out-face    = <OUT_P888>;
			clock-frequency = <148500000>;
			hactive = <1920>;
			vactive = <1080>;
			hback-porch = <148>;
			hfront-porch = <88>;
			vback-porch = <36>;
			vfront-porch = <4>;
			hsync-len = <44>;
			vsync-len = <5>;
			hsync-active = <1>;
			vsync-active = <1>;
			de-active = <0>;
			pixelclk-active = <0>;
			swap-rb = <0>;
			swap-rg = <0>;
			swap-gb = <0>;
		};
		timing2: timing2 {
			screen-type = <SCREEN_RGB>;
			out-face    = <OUT_P888>;
			clock-frequency = <297000000>;
			hactive = <3840>;
			vactive = <2160>;
			hback-porch = <296>;
			hfront-porch = <176>;
			vback-porch = <72>;
			vfront-porch = <8>;
			hsync-len = <88>;
			vsync-len = <10>;
			hsync-active = <1>;
			vsync-active = <1>;
			de-active = <0>;
			pixelclk-active = <0>;
			swap-rb = <0>;
			swap-rg = <0>;
			swap-gb = <0>;
		};
   };

};

我是不是应该加这个参数:
timing3: timing3 {
screen-type = <SCREEN_RGB>;
out-face = <OUT_P888>;
clock-frequency = <??????>;
hactive = <1920>;
vactive = <1200>;
hback-porch = <???>;
hfront-porch = <??>;
vback-porch = <??>;
vfront-porch = <?>; hsync-len = <??>;
vsync-len = <?>; hsync-active = <?>;
vsync-active = <?>;
de-active = <0>;
pixelclk-active = <0>;
swap-rb = <0>;
swap-rg = <0>;
swap-gb = <0>;
};

这些参数有什么定义规则?或帮我填一下,谢谢

你是什么版本? 输出到什么显示?屏?VGA ?HDMI?

isle 发表于 2015-8-27 11:13
你是什么版本? 输出到什么显示?屏?VGA ?HDMI?

是4.4.2版本,输出显示为HDMI。

配置信息为:/firefly-rk3288/kernel/arch/arm/boot/dts下的lcd-box.dtsi配置文件

/*

  • RockChip. LCD_BOX

/
/ {
disp_power_ctr: power_ctr {
/
rockchip,debug = <0>;
lcd_en:lcd_en {
rockchip,power_type = ;
gpios = <&gpio0 GPIO_B0 GPIO_ACTIVE_HIGH>;
rockchip,delay = <10>;
};
bl_en:bl_en {
rockchip,power_type = ;
gpios = <&gpio0 GPIO_A2 GPIO_ACTIVE_HIGH>;
rockchip,delay = <10>;
};
bl_ctr:bl_ctr {
rockchip,power_type = ;
gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
rockchip,delay = <10>;
};
lcd_rst:lcd_rst {
rockchip,power_type = ;
rockchip,delay = <5>;
};*/
};
disp_timings: display-timings {
native-mode = <&timing1>;
timing0: timing0 {
screen-type = <SCREEN_RGB>;
out-face = <OUT_P888>;
clock-frequency = <74250000>;
hactive = <1280>;
vactive = <720>;
hback-porch = <220>;
hfront-porch = <110>;
vback-porch = <20>;
vfront-porch = <5>;
hsync-len = <40>;
vsync-len = <5>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <0>;
pixelclk-active = <0>;
swap-rb = <0>;
swap-rg = <0>;
swap-gb = <0>;
};
timing1: timing1 {
screen-type = <SCREEN_RGB>;
out-face = <OUT_P888>;
clock-frequency = <148500000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <148>;
hfront-porch = <88>;
vback-porch = <36>;
vfront-porch = <4>;
hsync-len = <44>;
vsync-len = <5>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <0>;
pixelclk-active = <0>;
swap-rb = <0>;
swap-rg = <0>;
swap-gb = <0>;
};
timing2: timing2 {
screen-type = <SCREEN_RGB>;
out-face = <OUT_P888>;
clock-frequency = <154000000>;
hactive = <1920>;
vactive = <1200>;
hback-porch = <80>;
hfront-porch = <48>;
vback-porch = <26>;
vfront-porch = <3>;
hsync-len = <32>;
vsync-len = <6>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <0>;
pixelclk-active = <0>;
swap-rb = <0>;
swap-rg = <0>;
swap-gb = <0>;
};
timing3: timing3 {
screen-type = <SCREEN_RGB>;
out-face = <OUT_P888>;
clock-frequency = <297000000>;
hactive = <3840>;
vactive = <2160>;
hback-porch = <296>;
hfront-porch = <176>;
vback-porch = <72>;
vfront-porch = <8>;
hsync-len = <88>;
vsync-len = <10>;
hsync-active = <1>;
vsync-active = <1>;
de-active = <0>;
pixelclk-active = <0>;
swap-rb = <0>;
swap-rg = <0>;
swap-gb = <0>;
};
};
};

以上红色是我加的与修改的地方。
但编译完烧写进去,还是没有1920*1200P60显示项
1、请问这个修改项对吗
2、还要不要改别的地方的配置

请指教


lcd-box.rar (650 Bytes)

你是说设置里面的HDMI 选项?那个你看下kernel里面的rk_hdmi_lcdc.c 以及上层Setting里面hdmi mode部分。
修改dts里面,只是默认直,并不增加HDMI输出选项

isle 发表于 2015-8-27 15:12
你是说设置里面的HDMI 选项?那个你看下kernel里面的rk_hdmi_lcdc.c 以及上层Setting里面hdmi mode部分 …

请问您说的上层是哪个目录,为什么找不到 以及上层Setting里面hdmi mode部分 …

packages/app/settings

isle 发表于 2015-8-28 10:06
packages/app/settings

找到了,但那个值怎么给啊,可否给个决定这样问题的思路,让我们都有个方向。

先把驱动调成功再调上层吧,上层要学过APP的才好改,如果不会添加的,就把一项的字符串给改了。驱动相应的改

carlinluo 发表于 2015-8-28 12:19
先把驱动调成功再调上层吧,上层要学过APP的才好改,如果不会添加的,就把一项的字符串给改了。驱动相应的 …

看上去好难啊,对编程没有基础

suky8 发表于 2015-8-31 09:36
看上去好难啊,对编程没有基础

楼主,你那个1920*1200的HDMI显示调出来了吗?

你是说设置里面的HDMI 选项?那个你看下kernel里面的rk_hdmi_lcdc

dianziit 发表于 2017-4-17 17:04
你是说设置里面的HDMI 选项?那个你看下kernel里面的rk_hdmi_lcdc

static const struct hdmi_video_timing hdmi_mode = {
/* name refresh xres yres pixclock h_bp h_fp v_bp v_fp h_pw v_pw polariry PorI flag vic 2ndvic pixelrepeat interface */

{ {	"720x480i@60Hz",	60,	720,    480,    27000000,	57,     19,		15,     4,	62, 3,						0,							1,  0	},	6,	HDMI_720X480I_60HZ_16_9,	2,	OUT_P888},
{ {	"720x576i@50Hz",	50,	720,	576,	27000000,	69,		12,		19,		2,	63,	3,						0,							1,	0	},	21,	HDMI_720X576I_50HZ_16_9,	2,	OUT_P888},
{ {	"720x480p@60Hz",	60,	720,	480,	27000000,	60,		16,		30,		9,	62,	6,						0,							0,	0	},	2,	HDMI_720X480P_60HZ_16_9,	1,	OUT_P888},
{ {	"720x576p@50Hz",	50,	720,	576,	27000000,	68,		12,		39,		5,	64,	5,						0,							0,	0	},	17,	HDMI_720X576P_50HZ_16_9,	1,	OUT_P888},
{ {	"1280x720p@24Hz",	24,	1280,	720,	59400000,	220,	1760,	20,		5,	40,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	60,	HDMI_1280X720P_24HZ_4_3,	1,	OUT_P888},
{ {	"1280x720p@25Hz",	25,	1280,	720,	74250000,	220,	2420,	20,		5,	40,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	61,	HDMI_1280X720P_25HZ_4_3,	1,	OUT_P888},
{ {	"1280x720p@30Hz",	30,	1280,	720,	74250000,	220,	1760,	20,		5,	40,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	62,	HDMI_1280X720P_30HZ_4_3,	1,	OUT_P888},
{ {	"1280x720p@50Hz",	50,	1280,	720,	74250000,	220,	440,	20,		5,	40,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	19,	HDMI_1280X720P_50HZ_4_3,	1,	OUT_P888},
{ {	"1280x720p@60Hz",	60,	1280,	720,	74250000,	220,	110,	20,		5,	40,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	4,	HDMI_1280X720P_60HZ_4_3,	1,	OUT_P888},
{ {	"1920x1080i@50Hz",	50,	1920,	1080,	74250000,	148,	528,	15,		2,	44,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	1,	0	},	20,				0,				1,	OUT_P888},
{ {	"1920x1080i@60Hz",	60,	1920,	1080,	74250000,	148,	88,		15,		2,	44,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	1,	0	},	5,				0,				1,	OUT_P888},
{ {	"1920x1080p@24Hz",	24,	1920,	1080,	74250000,	148,	638,	36,		4,	44,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	32,	HDMI_1920X1080P_24HZ_4_3,	1,	OUT_P888},
{ {	"1920x1080p@25Hz",	25,	1920,	1080,	74250000,	148,	528,	36,		4,	44,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	33,	HDMI_1920X1080P_25HZ_4_3,	1,	OUT_P888},
{ {	"1920x1080p@30Hz",	30,	1920,	1080,	74250000,	148,	88,		36,		4,	44,	5,	FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,	0,	0	},	34,	HDMI_1920X1080P_30HZ_4_3,	1,	OUT_P888},

// { { “1920x1080p@50Hz”, 60, 1920, 1200, 193250000, 336, 136, 36, 3, 200, 6, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 31, HDMI_1920X1080P_50HZ_4_3, 1, OUT_P888},
{ { “1920x1080p@50Hz”, 50, 1920, 1080, 148500000, 148, 528, 36, 4, 44, 5, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 31, HDMI_1920X1080P_50HZ_4_3, 1, OUT_P888},
{ { “1920x1080p@60Hz”, 60, 1920, 1080, 148500000, 148, 88, 36, 4, 44, 5, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 16, HDMI_1920X1080P_60HZ_4_3, 1, OUT_P888},
// { { “1920x1080p@60Hz”, 60, 1920, 1080, 148500000, 148, 88, 36, 4, 44, 5, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 16, HDMI_1920X1080P_60HZ_4_3, 1, OUT_P888},
{ { “3840x2160p@24Hz”, 24, 3840, 2160, 297000000, 296, 1276, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 93, HDMI_3840X2160P_24HZ_4_3, 1, OUT_P888},
{ { “3840x2160p@25Hz”, 25, 3840, 2160, 297000000, 296, 1056, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 94, HDMI_3840X2160P_25HZ_4_3, 1, OUT_P888},
{ { “3840x2160p@30Hz”, 30, 3840, 2160, 297000000, 296, 176, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 95, HDMI_3840X2160P_30HZ_4_3, 1, OUT_P888},
{ { “4096x2160p@24Hz”, 24, 4096, 2160, 297000000, 296, 1020, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 98, 0, 1, OUT_P888},
{ { “4096x2160p@25Hz”, 25, 4096, 2160, 297000000, 128, 968, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 99, 0, 1, OUT_P888},
{ { “4096x2160p@30Hz”, 30, 4096, 2160, 297000000, 128, 88, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 100, 0, 1, OUT_P888},
{ { “3840x2160p@50Hz”, 50, 3840, 2160, 594000000, 296, 1056, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 96, HDMI_3840X2160P_50HZ_4_3, 1, OUT_P888},
{ { “3840x2160p@60Hz”, 60, 3840, 2160, 594000000, 296, 176, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 97, HDMI_3840X2160P_60HZ_4_3, 1, OUT_P888},
{ { “4096x2160p@50Hz”, 50, 4096, 2160, 594000000, 128, 968, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 101, 0, 1, OUT_P888},
{ { “4096x2160p@60Hz”, 60, 4096, 2160, 594000000, 128, 88, 72, 8, 88, 10, FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 0, 0 }, 102, 0, 1, OUT_P888},
};

有这么多mode,但是android系统里的HDMI选项哪里并没这多选项。

isle 发表于 2015-8-27 15:12
你是说设置里面的HDMI 选项?那个你看下kernel里面的rk_hdmi_lcdc.c 以及上层Setting里面hdmi mode部分 …

RK那颗芯片可以做3D投影方案