Loading arch/arm/boot/dts/imx28-apf28dev.dts +28 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,26 @@ fsl,voltage = <1>; fsl,pull-up = <0>; }; lcdif_pins_apf28dev: lcdif-apf28dev@0 { reg = <0>; fsl,pinmux-ids = < 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */ 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */ 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */ 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; }; lcdif@80030000 { pinctrl-names = "default"; pinctrl-0 = <&lcdif_16bit_pins_a &lcdif_pins_apf28dev>; status = "okay"; }; }; Loading Loading @@ -110,4 +130,12 @@ linux,default-trigger = "heartbeat"; }; }; backlight { compatible = "pwm-backlight"; pwms = <&pwm 3 191000>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <6>; }; }; arch/arm/mach-mxs/mach-mxs.c +24 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,25 @@ static struct fb_videomode apx4devkit_video_modes[] = { }, }; static struct fb_videomode apf28dev_video_modes[] = { { .name = "LW700", .refresh = 60, .xres = 800, .yres = 480, .pixclock = 30303, /* picosecond */ .left_margin = 96, .right_margin = 96, /* at least 3 & 1 */ .upper_margin = 0x14, .lower_margin = 0x15, .hsync_len = 64, .vsync_len = 4, .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT | FB_SYNC_DATA_ENABLE_HIGH_ACT | FB_SYNC_DOTCLK_FAILING_ACT, }, }; static struct mxsfb_platform_data mxsfb_pdata __initdata; /* Loading Loading @@ -374,6 +393,11 @@ static void __init cfa10049_init(void) static void __init apf28_init(void) { enable_clk_enet_out(); mxsfb_pdata.mode_list = apf28dev_video_modes; mxsfb_pdata.mode_count = ARRAY_SIZE(apf28dev_video_modes); mxsfb_pdata.default_bpp = 16; mxsfb_pdata.ld_intf_width = STMLCDIF_16BIT; } static void __init mxs_machine_init(void) Loading Loading
arch/arm/boot/dts/imx28-apf28dev.dts +28 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,26 @@ fsl,voltage = <1>; fsl,pull-up = <0>; }; lcdif_pins_apf28dev: lcdif-apf28dev@0 { reg = <0>; fsl,pinmux-ids = < 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */ 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */ 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */ 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */ >; fsl,drive-strength = <0>; fsl,voltage = <1>; fsl,pull-up = <0>; }; }; lcdif@80030000 { pinctrl-names = "default"; pinctrl-0 = <&lcdif_16bit_pins_a &lcdif_pins_apf28dev>; status = "okay"; }; }; Loading Loading @@ -110,4 +130,12 @@ linux,default-trigger = "heartbeat"; }; }; backlight { compatible = "pwm-backlight"; pwms = <&pwm 3 191000>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <6>; }; };
arch/arm/mach-mxs/mach-mxs.c +24 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,25 @@ static struct fb_videomode apx4devkit_video_modes[] = { }, }; static struct fb_videomode apf28dev_video_modes[] = { { .name = "LW700", .refresh = 60, .xres = 800, .yres = 480, .pixclock = 30303, /* picosecond */ .left_margin = 96, .right_margin = 96, /* at least 3 & 1 */ .upper_margin = 0x14, .lower_margin = 0x15, .hsync_len = 64, .vsync_len = 4, .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT | FB_SYNC_DATA_ENABLE_HIGH_ACT | FB_SYNC_DOTCLK_FAILING_ACT, }, }; static struct mxsfb_platform_data mxsfb_pdata __initdata; /* Loading Loading @@ -374,6 +393,11 @@ static void __init cfa10049_init(void) static void __init apf28_init(void) { enable_clk_enet_out(); mxsfb_pdata.mode_list = apf28dev_video_modes; mxsfb_pdata.mode_count = ARRAY_SIZE(apf28dev_video_modes); mxsfb_pdata.default_bpp = 16; mxsfb_pdata.ld_intf_width = STMLCDIF_16BIT; } static void __init mxs_machine_init(void) Loading