From 0144bd5c8e54ad7312b2c185c7012c0e32cc40f4 Mon Sep 17 00:00:00 2001 From: Jerry Huang Date: Wed, 24 Feb 2010 18:33:00 +0800 Subject: p1022ds: DIU (LVDS and DVI) support FSL DIU (including DVI and LVDS) support Signed-off-by: Jerry Huang --- MAKEALL | 2 ++ Makefile | 2 ++ board/freescale/p1022ds/p1022ds_diu.c | 11 +++-------- include/configs/P1022DS.h | 29 +++++++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 8 deletions(-) diff --git a/MAKEALL b/MAKEALL index 62a15487c0..4828c8252e 100755 --- a/MAKEALL +++ b/MAKEALL @@ -406,6 +406,8 @@ LIST_85xx=" \ P2020DS_36BIT \ P1022DS_SDCARD \ P1022DS_SPIFLASH \ + P1022DS_DIU1 \ + P1022DS_DIU0 \ P1011RDB \ P1011RDB_NAND \ P1011RDB_SDCARD \ diff --git a/Makefile b/Makefile index f0f6818285..cdf80696db 100644 --- a/Makefile +++ b/Makefile @@ -2516,6 +2516,8 @@ P2020DS_config: unconfig P1022DS_36BIT_config \ P1022DS_SDCARD_config \ P1022DS_SPIFLASH_config \ +P1022DS_DIU1_config \ +P1022DS_DIU0_config \ P1022DS_config: unconfig @$(MKCONFIG) -t $(@:_config=) P1022DS ppc mpc85xx p1022ds freescale diff --git a/board/freescale/p1022ds/p1022ds_diu.c b/board/freescale/p1022ds/p1022ds_diu.c index 41fc12cec4..af0bcb77fe 100644 --- a/board/freescale/p1022ds/p1022ds_diu.c +++ b/board/freescale/p1022ds/p1022ds_diu.c @@ -63,7 +63,6 @@ void diu_set_pixel_clock(unsigned int pixclock) void p1022ds_diu_init(void) { - char *monitor_port; int gamma_fix; unsigned int pixel_format; unsigned char tmp_val; @@ -75,23 +74,19 @@ void p1022ds_diu_init(void) tmp_val = in_8(pixis_base + PIXIS_BRDCFG1); pixis_arch = in_8(pixis_base + PIXIS_VER); - monitor_port = getenv("monitor"); - - if (!strncmp(monitor_port, "1", 1)) { /* 1 - LVDS */ +#ifdef CONFIG_MK_DIU1 xres = 1024; yres = 768; pixel_format = 0x88883316; gamma_fix = 0; out_8(pixis_base + PIXIS_BRDCFG1, (tmp_val & 0xf7) | 0x40 | 0x20); - - } else { /* 0, or uninitialized env var */ +#else xres = 1280; yres = 1024; pixel_format = 0x88883316; gamma_fix = 0; out_8(pixis_base + PIXIS_BRDCFG1, tmp_val | 0x80); - } - +#endif /* Set BRDCFG0[ELBC_DIU] */ tmp_val_brdcfg0 = in_8(pixis_base + PIXIS_BRDCFG0); tmp_val_brdcfg0 = (tmp_val_brdcfg0 & 0x3D) | 0x02; diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h index 734a8f246d..d54538bde3 100644 --- a/include/configs/P1022DS.h +++ b/include/configs/P1022DS.h @@ -408,13 +408,17 @@ extern unsigned long calculate_board_ddr_clk(unsigned long dummy); #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " #endif +#if defined(CONFIG_MK_DIU0) || defined(CONFIG_MK_DIU1) #define CONFIG_FSL_DIU_FB 1 /* FSL DIU */ #define CONFIG_SYS_DIU_ADDR (CONFIG_SYS_CCSRBAR+0x10000) /*DIU Configuration*/ #define DIU_CONNECT_TO_DVI /* DIU controller connects to DVI encoder*/ /* video */ +#define CONFIG_VIDEO +#else #undef CONFIG_VIDEO +#endif #if defined(CONFIG_VIDEO) #define CONFIG_CFB_CONSOLE @@ -783,6 +787,7 @@ extern unsigned long calculate_board_ddr_clk(unsigned long dummy); #define CONFIG_BAUDRATE 115200 +#ifdef CONFIG_MK_DIU0 #define CONFIG_EXTRA_ENV_SETTINGS \ "perf_mode=stable\0" \ "memctl_intlv_ctl=2\0" \ @@ -805,6 +810,30 @@ extern unsigned long calculate_board_ddr_clk(unsigned long dummy); "diuerr=md e002c014 1\0" \ "othbootargs=diufb=15M video=fslfb:1280x1024-32@60,monitor=0 tty0 debug\0" \ "monitor=0-DVI\0" +#else +#define CONFIG_EXTRA_ENV_SETTINGS \ + "perf_mode=stable\0" \ + "memctl_intlv_ctl=2\0" \ + "netdev=eth0\0" \ + "uboot=" MK_STR(CONFIG_UBOOTPATH) "\0" \ + "tftpflash=tftpboot $loadaddr $uboot; " \ + "protect off " MK_STR(TEXT_BASE) " +$filesize; " \ + "erase " MK_STR(TEXT_BASE) " +$filesize; " \ + "cp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize; " \ + "protect on " MK_STR(TEXT_BASE) " +$filesize; " \ + "cmp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize\0" \ + "consoledev=ttyS0\0" \ + "ramdiskaddr=2000000\0" \ + "ramdiskfile=uramdisk\0" \ + "fdtaddr=c00000\0" \ + "fdtfile=p1022ds.dtb\0" \ + "bdev=sda3\0" \ + "diuregs=md e002c000 1d\0" \ + "dium=mw e002c01c\0" \ + "diuerr=md e002c014 1\0" \ + "othbootargs=diufb=15M video=fslfb:1024x768-32@60,monitor=1 tty0 debug\0" \ + "monitor=1-LVDS\0" +#endif #define CONFIG_HDBOOT \ "setenv bootargs root=/dev/$bdev rw " \ -- cgit v1.2.3