修改lvds分辨率为1920*720
1、修改boot参数(非必要)
video=mxcfb0:dev=ldb' //lvds
2、修改设备树
2.1 修改dtsi
mxcfb3: fb@2 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB24";
mode_str ="1920x720M@60";
default_bpp = <16>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
};
&ldb {
status = "okay";
/* split-mode; */ /* dual-channel setting */
split-mode;//设置双通道模式
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
crtc = "ipu2-di0";
primary;
status = "okay";
2.2、修改dts
&ldb {
status = "okay";
split-mode;
lvds-channel@0 {
display-timings {
native-mode = <&timing90>;
timing90:S123AWU06ES {
clock-frequency = <100980000>;
hactive = <1920>;
vactive = <720>;
hback-porch = <148>;
hfront-porch = <88>;
vback-porch = <36>;
vfront-porch = <4>;
hsync-len = <44>;
vsync-len = <5>;
};
3、说明书屏幕参数
6.4 Timing Condition
a.DE ModeItem
Symbol Min Typ Max Unit
Clock frequency FOCLK 90 100 130 MHZ
Horizontal period area TH 1980 2046 2160 DCLK
Horizontal display area THD 1920 1920 1920 DCLK
Horizontal blanking area THB 60 126 240 DCLK
Vertical period area TV 730 760 840 TH
Vertical display area TVD 720 720 720 TH
Vertical blanking area TVB 10 40 120 TH
Frame rate FR 55 60 65 HZ
## 4、修改内核
4.1、mxc_edid.c 增加参数
[48] = {
NULL, 60, 1920, 720, 10098, 88, 148, 4, 36, 44, 5,
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0,
},
4.2、mxc_lcdif.c 增加参数
static const struct fb_videomode lvds_mode = {
NULL, 60, 1920, 720, 10098, 88, 148, 4, 36, 44, 5,
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9,FB_MODE_IS_VESA
};
fb_add_videomode(&lvds_mode, &fbi->modelist);
printk( "Added default mode lvds_mode:");
printk("xres = %d, yres = %d, freq = %d, vmode = %d, flag = %d\n",
lvds_mode.xres,
lvds_mode.yres,
lvds_mode.refresh,
lvds_mode.vmode,
lvds_mode.flag);
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。