ѡ ֻ | ʵ԰
л
б
2021-5-25 18:07:02 1592 浏览 0 回复

iTOP-6818޸Ļֱ

½ڽ uboot޸Ŀķֱʡ
½ڽ iTOP-44186818 ޸Ļֱʣ޸ķֱҪ޸ uboot ں֡ ĵ iTOP-4418 ΪiTOP-6818 ޸ķơ
1 uboot ޸
Ƚ뵽 android ԴĿ¼£
ͼ 1
4418 ƽ̨Ҫ޸ uboot ļǣu-boot/board/s5p4418/drone2/board.cʹ vi ļĻĬϲ 49 е 93 Уͼ
ͼ 2
4418 ʱ֧ 9.7 磬7 磬4.3 Ļǵڸļͼʾĵط
ͼ 3
ͼдĹܣǴ uboot ĻȡǰʹõĿĻȻĻѡӦ֧áĻĿߣˢ,ûʹĻҪڴ˴޸ģҪԼĻIJ޸ͼ 2 еЩĬϱ6818 ޸ļǣu-boot/board/s5p6818/dronel/board.cͬ
2 linux ں˲ֵ޸
ں޸IJձڽܡ
ļ kernel/arch/arm/plat-s5p4418/topeet/include/cfg_main.h6818 Ӧļǣkernel/arch/arm/plat-s5p6818/topeet/include/cfg_main.h
ļﶨһĻصĺ꣬ʾ
/*------------------------------------------------------------------------------
*       Display (DPC and MLC)
*/
/* Primary */
#define CFG_DISP_PRI_SCREEN_LAYER               0
#define CFG_DISP_PRI_SCREEN_RGB_FORMAT          MLC_RGBFMT_A8R8G8B8
#define CFG_DISP_PRI_SCREEN_PIXEL_BYTE          4
#define CFG_DISP_PRI_SCREEN_COLOR_KEY           0x090909
#define CFG_DISP_PRI_VIDEO_PRIORITY                            2       // 0, 1, 2, 3
#define CFG_DISP_PRI_BACK_GROUND_COLOR         0x000000
#define CFG_DISP_PRI_MLC_INTERLACE                 CFALSE
#define CFG_DISP_PRI_LCD_WIDTH_MM                                 154
#define CFG_DISP_PRI_LCD_HEIGHT_MM                                  85
/* modify by cym 20150811 */
#if 0
#define CFG_DISP_PRI_RESOL_WIDTH                      1024       // X Resolution
#define CFG_DISP_PRI_RESOL_HEIGHT                         600            // Y Resolution
#else
#define CFG_DISP_PRI_RESOL_WIDTH                      800//1024     // X Resolution
#define CFG_DISP_PRI_RESOL_HEIGHT                             1280//768     // Y Resolution
#endif
/* end remove */
#define CFG_DISP_PRI_HSYNC_SYNC_WIDTH             20
#define CFG_DISP_PRI_HSYNC_BACK_PORCH             160
#define CFG_DISP_PRI_HSYNC_FRONT_PORCH            160
#define CFG_DISP_PRI_HSYNC_ACTIVE_HIGH              CTRUE
#define CFG_DISP_PRI_VSYNC_SYNC_WIDTH                 3
#define CFG_DISP_PRI_VSYNC_BACK_PORCH                  23
#define CFG_DISP_PRI_VSYNC_FRONT_PORCH                 12
#define CFG_DISP_PRI_VSYNC_ACTIVE_HIGH                CTRUE
#define CFG_DISP_PRI_CLKGEN0_SOURCE                   DPC_VCLK_SRC_PLL2
#define CFG_DISP_PRI_CLKGEN0_DIV                       12 // even divide
#define CFG_DISP_PRI_CLKGEN0_DELAY                     0
#define CFG_DISP_PRI_CLKGEN0_INVERT                                  0
#define CFG_DISP_PRI_CLKGEN1_SOURCE                    DPC_VCLK_SRC_VCLK2
#define CFG_DISP_PRI_CLKGEN1_DIV                      1
#define CFG_DISP_PRI_CLKGEN1_DELAY                    0
#define CFG_DISP_PRI_CLKGEN1_INVERT                                 0
#define CFG_DISP_PRI_CLKSEL1_SELECT                                  0
#define CFG_DISP_PRI_PADCLKSEL             DPC_PADCLKSEL_VCLK     /* VCLK=CLKGEN1,
VCLK12=CLKGEN0 */
#define CFG_DISP_PRI_PIXEL_CLOCK
800000000/CFG_DISP_PRI_CLKGEN0_DIV
#define CFG_DISP_PRI_OUT_SWAPRB                                            CFALSE
#define CFG_DISP_PRI_OUT_FORMAT                        DPC_FORMAT_RGB888
#define CFG_DISP_PRI_OUT_YCORDER                       DPC_YCORDER_CbYCrY
#define CFG_DISP_PRI_OUT_INTERLACE                    CFALSE
#define CFG_DISP_PRI_OUT_INVERT_FIELD                 CFALSE
#define CFG_DISP_LCD_MPY_TYPE                                                   0
/*------------------------------------------------------------------------------
*       LVDS
*/
/* modify by cym 20150811 */
#if 0
#define CFG_DISP_LVDS_LCD_FORMAT                 LVDS_LCDFORMAT_VESA
#else
#define CFG_DISP_LVDS_LCD_FORMAT                 LVDS_LCDFORMAT_JEIDA
#endif
/* end modify */
Ȼļkernel/arch/arm/plat-s5p4418/topeet/device.c6818 Ӧļkernel/arch/arm/plat-s5p6818/topeet/device.c
ļҵ setup_width_height_param£
/* add by cym 20151128 */
#if 1
static int __init setup_width_height_param(char *str)
{
if (!strncasecmp("9.7", str, 3)) {
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
#if defined(CONFIG_TOUCHSCREEN_FT5X0X)
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
ft5x0x_pdata.screen_max_x = 768;
ft5x0x_pdata.screen_max_y = 1024;
#endif
#if defined (CONFIG_FB_NXP)
#if defined (CONFIG_FB0_NXP)
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
fb0_plat_data.x_resol = 1024;
fb0_plat_data.y_resol = 768;
#endif
#endif
}
else if(!strncasecmp("7.0", str, 3))
{
#if defined(CONFIG_TOUCHSCREEN_FT5X0X)
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
ft5x0x_pdata.screen_max_x = 800;
ft5x0x_pdata.screen_max_y = 1280;
#endif
#if defined (CONFIG_FB_NXP)
#if defined (CONFIG_FB0_NXP)
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
fb0_plat_data.x_resol = 800;
fb0_plat_data.y_resol = 1280;
#endif
#endif
}
/* add by cym 20160222 */
#if 1
else if(!strncasecmp("4.3", str, 3))
{
#if defined (CONFIG_FB_NXP)
#if defined (CONFIG_FB0_NXP)
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
fb0_plat_data.x_resol = 480;
fb0_plat_data.y_resol = 272;
#endif
#endif
}
#endif
/* end add */
/* add by cym 20170810 */
#if 1
else if(!strncasecmp("1024x600", str, 8))
{
#if defined(CONFIG_TOUCHSCREEN_FT5X0X)
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
ft5x0x_pdata.screen_max_x = 600;
ft5x0x_pdata.screen_max_y = 1024;
ft5x0x_i2c_bdi.irq = PB_PIO_IRQ(CFG_IO_TSC2007_TOUCH_PENDOWN_DETECT);
ft5x0x_pdata.gpio_irq = CFG_IO_TSC2007_TOUCH_PENDOWN_DETECT;
tsc2007_i2c_bdi.irq = NULL;//PB_PIO_IRQ(CFG_IO_TOUCH_PENDOWN_DETECT);
#endif
#if defined (CONFIG_FB_NXP)
#if defined (CONFIG_FB0_NXP)
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
fb0_plat_data.x_resol = 1024;
fb0_plat_data.y_resol = 600;
#endif
#endif
}
#endif
/* end add */
/* add by cym 20161104 */
#if 1
else if(!strncasecmp("hdmi", str, 3))
{
#if defined (CONFIG_FB_NXP)
#if defined (CONFIG_FB0_NXP)
//printk("fun:%s, line = %d(lcdtype:%s)\n", __FUNCTION__, __LINE__, str);
fb0_plat_data.x_resol = 1920;
fb0_plat_data.y_resol = 1080;
#endif
#endif
}
#endif
/* end add */
//printk("fun:%s, line = %d\n", __FUNCTION__, __LINE__);
}
early_param("lcdtype", setup_width_height_param);
#endif
/* end add */
uboot ݹ lcdtype ѡӦĻãҪ޸ĻķֱʣʹĻ޸ĶӦķֱʾͿˡ
Ȼļkernel/arch/arm/mach-s5p4418/dev-display.c6818 Ӧļ kernel/arch/arm/mach-s5p4418/dev-display.c
ͬļҵsetup_width_height_paramʾ
/* add by cym 20151128 */
#if 1
static int __init setup_width_height_param(char *str)
{
if (!strncasecmp("9.7", str, 3)) {
#if defined (CONFIG_NXP_DISPLAY_LCD)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lcd_vsync.h_active_len = 1024;
__lcd_vsync.v_active_len = 768;
__lcd_vsync.clk_div_lv0 = 14;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_LVDS)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lvds_vsync.h_active_len = 1024;
__lvds_vsync.v_active_len = 768;
__lvds_vsync.clk_div_lv0 = 14;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_MIPI)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__mipi_vsync.h_active_len = 1024;
__mipi_vsync.v_active_len = 768;
__mipi_vsync.clk_div_lv0 = 14;
#endif
#endif
}
else if(!strncasecmp("7.0", str, 3))
{
#if defined (CONFIG_NXP_DISPLAY_LCD)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lcd_vsync.h_active_len = 800;
__lcd_vsync.v_active_len = 1280;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_LVDS)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lvds_vsync.h_active_len = 800;
__lvds_vsync.v_active_len = 1280;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_MIPI)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__mipi_vsync.h_active_len = 800;
__mipi_vsync.v_active_len = 1280;
#endif
#endif
}
/* add by cym 20160222 */
#if 1
else if(!strncasecmp("4.3", str, 3))
{
#if defined (CONFIG_NXP_DISPLAY_LCD)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lcd_vsync.h_active_len = 480;
__lcd_vsync.v_active_len = 272;
__lcd_vsync.clk_div_lv0 = 24;
__lcd_vsync.clk_div_lv1 = 2;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_LVDS)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lvds_vsync.h_active_len = 480;
__lvds_vsync.v_active_len = 272;
__lvds_vsync.clk_div_lv0 = 24;
__lvds_vsync.clk_div_lv1 = 2;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_MIPI)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__mipi_vsync.h_active_len = 480;
__mipi_vsync.v_active_len = 272;
__mipi_vsync.clk_div_lv0 = 24;
__mipi_vsync.clk_div_lv1 = 2;
#endif
#endif
}
#endif
/* end add */
/* add by cym 20170810 */
#if 1
else if(!strncasecmp("1024x600", str, 8))
{
#if defined (CONFIG_NXP_DISPLAY_LCD)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lcd_vsync.h_active_len = 1024;
__lcd_vsync.v_active_len = 600;
//__lcd_vsync.clk_div_lv0 = 24;
//__lcd_vsync.clk_div_lv1 = 2;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_LVDS)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lvds_vsync.h_active_len = 1024;
__lvds_vsync.v_active_len = 600;
//__lvds_vsync.clk_div_lv0 = 24;
//__lvds_vsync.clk_div_lv1 = 2;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_MIPI)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__mipi_vsync.h_active_len = 1024;
__mipi_vsync.v_active_len = 600;
//__mipi_vsync.clk_div_lv0 = 24;
//__mipi_vsync.clk_div_lv1 = 2;
#endif
#endif
}
#endif
/* end add */
/* add by cym 20161104 */
#if 1
else if(!strncasecmp("hdmi", str, 3))
{
#if defined (CONFIG_NXP_DISPLAY_LCD)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lcd_vsync.h_active_len = 1920;
__lcd_vsync.v_active_len = 1080;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_LVDS)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__lvds_vsync.h_active_len = 1920;
__lvds_vsync.v_active_len = 1080;
#endif
#endif
#if defined (CONFIG_NXP_DISPLAY_MIPI)
#if defined(CFG_DISP_PRI_RESOL_WIDTH) && defined(CFG_DISP_PRI_RESOL_HEIGHT)
__mipi_vsync.h_active_len = 1920;
__mipi_vsync.v_active_len = 1080;
#endif
#endif
}
#endif
/* end add */
//printk("fun:%s, line = %d\n", __FUNCTION__, __LINE__);
}
early_param("lcdtype", setup_width_height_param);
#endif
/* end add */
uboot ݹ lcdtype ѡӦĻãҪ޸ĻķֱʣˢʣʹĻ޸ĶӦķֱʾͿˡ
ĻҪ޸ļ

аԴ

Ҫ ¼ ſػ鿴ûʺţע

x
ظ

ʹõ ٱ

б

ֹ

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
ٻظ ض б