summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Huang <Chang-Ming.Huang@freescale.com>2010-02-24 18:33:00 +0800
committerScott Sweeny <scott.sweeny@timesys.com>2010-09-29 17:32:29 -0400
commit0144bd5c8e54ad7312b2c185c7012c0e32cc40f4 (patch)
treef507ace2964240765c776d7d79bade38814f10f7
parent1d6c0e83838a2bfb93aa15326dfe79d11e511abe (diff)
p1022ds: DIU (LVDS and DVI) support
FSL DIU (including DVI and LVDS) support Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
-rwxr-xr-xMAKEALL2
-rw-r--r--Makefile2
-rw-r--r--board/freescale/p1022ds/p1022ds_diu.c11
-rw-r--r--include/configs/P1022DS.h29
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 " \