diff options
author | wdenk <wdenk> | 2002-12-03 21:28:10 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2002-12-03 21:28:10 +0000 |
commit | a6c7ad2f65afaa717ba19cbf9d8d138b5f10ccf9 (patch) | |
tree | 45512cd627310dd322ea38fc9f63109560276475 /include | |
parent | ea909b7604306a400ee3abf57e2fa7b2dde5dde1 (diff) | |
download | u-boot-imx-a6c7ad2f65afaa717ba19cbf9d8d138b5f10ccf9.zip u-boot-imx-a6c7ad2f65afaa717ba19cbf9d8d138b5f10ccf9.tar.gz u-boot-imx-a6c7ad2f65afaa717ba19cbf9d8d138b5f10ccf9.tar.bz2 |
* Fix startup problems with VFD display on TRAB
* Patch by Pierre Aubert, 20 Nov 2002
Add driver for Epson SED13806 graphic controller.
Add support for BMP logos in cfb_console driver.
Diffstat (limited to 'include')
-rw-r--r-- | include/configs/KUP4K.h | 4 | ||||
-rw-r--r-- | include/configs/RPXClassic.h | 65 | ||||
-rw-r--r-- | include/devices.h | 2 | ||||
-rw-r--r-- | include/sed13806.h | 98 |
4 files changed, 163 insertions, 6 deletions
diff --git a/include/configs/KUP4K.h b/include/configs/KUP4K.h index 6de004f..7dc1b90 100644 --- a/include/configs/KUP4K.h +++ b/include/configs/KUP4K.h @@ -45,7 +45,7 @@ #if 0 #define CONFIG_BOOTDELAY -1 /* autoboot disabled */ #else -#define CONFIG_BOOTDELAY 1 /* autoboot after 1 second */ +#define CONFIG_BOOTDELAY 5 /* autoboot after 1 second */ #endif #define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */ @@ -429,10 +429,12 @@ #define BOOTFLAG_WARM 0x02 /* Software reboot */ +#if NOT_USED_FOR_NOW #define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ #if 0 #define CONFIG_AUTOBOOT_PROMPT "Boote in %d Sekunden - stop mit \"2\"\n" #endif #define CONFIG_AUTOBOOT_STOP_STR "2" /* easy to stop for now */ +#endif /* NOT_USED_FOR_NOW */ #endif /* __CONFIG_H */ diff --git a/include/configs/RPXClassic.h b/include/configs/RPXClassic.h index d742a25..f20b8f9 100644 --- a/include/configs/RPXClassic.h +++ b/include/configs/RPXClassic.h @@ -47,13 +47,27 @@ #undef CONFIG_8xx_CONS_NONE #define CONFIG_BAUDRATE 9600 /* console baudrate = 9600bps */ - /* Define CONFIG_FEC_ENET to use Fast ethernet instead of ethernet on SCC1 */ -#undef CONFIG_FEC_ENET +#define CONFIG_FEC_ENET #ifdef CONFIG_FEC_ENET #define CFG_DISCOVER_PHY 1 +#define CONFIG_MII 1 #endif /* CONFIG_FEC_ENET */ +/* Video console (graphic: Epson SED13806 on ECCX board, no keyboard */ +#if 1 +#define CONFIG_VIDEO_SED13806 +#define CONFIG_NEC_NL6448BC20 +#define CONFIG_VIDEO_SED13806_16BPP + +#define CONFIG_CFB_CONSOLE +#define CONFIG_VIDEO_LOGO +#define CONFIG_VIDEO_BMP_LOGO +#define CONFIG_CONSOLE_EXTRA_INFO +#define CONFIG_VGA_AS_SINGLE_DEVICE +#define CONFIG_VIDEO_SW_CURSOR +#endif + #if 0 #define CONFIG_BOOTDELAY -1 /* autoboot disabled */ #else @@ -168,7 +182,7 @@ #define CFG_SDRAM_BASE 0x00000000 #define CFG_FLASH_BASE 0xFF000000 -#if defined(DEBUG) || (CONFIG_COMMANDS & CFG_CMD_IDE) +#if defined(DEBUG) || defined (CONFIG_VIDEO_SED13806) || (CONFIG_COMMANDS & CFG_CMD_IDE) #define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ #else #define CFG_MONITOR_LEN (128 << 10) /* Reserve 128 kB for Monitor */ @@ -196,7 +210,8 @@ #if 0 #define CFG_ENV_IS_IN_FLASH 1 #define CFG_ENV_OFFSET 0x20000 /* Offset of Environment Sector */ -#define CFG_ENV_SIZE 0x4000 /* Total Size of Environment Sector */ +#define CFG_ENV_SECT_SIZE 0x8000 +#define CFG_ENV_SIZE 0x8000 /* Total Size of Environment Sector */ #else #define CFG_ENV_IS_IN_NVRAM 1 #define CFG_ENV_ADDR 0xfa000100 @@ -353,6 +368,48 @@ #define CFG_BR4_PRELIM 0xFA000401 /* NVRAM&SRAM */ #define CFG_OR4_PRELIM 0xFFF80970 +/* ECCX CS settings */ +#define SED13806_OR 0xFFC00108 /* - 4 Mo + - Burst inhibit + - external TA */ +#define SED13806_REG_ADDR 0xa0000000 +#define SED13806_ACCES 0x801 /* 16 bit access */ + + +/* Global definitions for the ECCX board */ +#define ECCX_CSR_ADDR (0xfac00000) +#define ECCX_CSR8_OFFSET (0x8) +#define ECCX_CSR11_OFFSET (0xB) +#define ECCX_CSR12_OFFSET (0xC) + +#define ECCX_CSR8 (volatile unsigned char *)(ECCX_CSR_ADDR + ECCX_CSR8_OFFSET) +#define ECCX_CSR11 (volatile unsigned char *)(ECCX_CSR_ADDR + ECCX_CSR11_OFFSET) +#define ECCX_CSR12 (volatile unsigned char *)(ECCX_CSR_ADDR + ECCX_CSR12_OFFSET) + + +#define REG_GPIO_CTRL 0x008 + +/* Definitions for CSR8 */ +#define ECCX_ENEPSON 0x80 /* Bit 0: + 0= disable and reset SED1386 + 1= enable SED1386 */ +/* Bit 1: 0= SED1386 in Big Endian mode */ +/* 1= SED1386 in little endian mode */ +#define ECCX_LE 0x40 +#define ECCX_BE 0x00 + +/* Bit 2,3: Selection */ +/* 00 = Disabled */ +/* 01 = CS2 is used for the SED1386 */ +/* 10 = CS5 is used for the SED1386 */ +/* 11 = reserved */ +#define ECCX_CS2 0x10 +#define ECCX_CS5 0x20 + +/* Definitions for CSR12 */ +#define ECCX_ID 0x02 +#define ECCX_860 0x01 + /* * Memory Periodic Timer Prescaler */ diff --git a/include/devices.h b/include/devices.h index b1e1ebd..875710d 100644 --- a/include/devices.h +++ b/include/devices.h @@ -99,7 +99,7 @@ int drv_lcd_init (void); #ifdef CONFIG_VFD int drv_vfd_init (void); #endif -#ifdef CONFIG_VIDEO +#if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE) int drv_video_init (void); #endif #ifdef CONFIG_WL_4PPM_KEYBOARD diff --git a/include/sed13806.h b/include/sed13806.h new file mode 100644 index 0000000..70e8e87 --- /dev/null +++ b/include/sed13806.h @@ -0,0 +1,98 @@ +/* + * (C) Copyright 2002 + * Stäubli Faverges - <www.staubli.com> + * Pierre AUBERT p.aubert@staubli.com + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +/* Video support for Epson SED13806 chipset */ + + +#ifndef _SED13806_H_ +#define _SED13806_H_ + + +/* General definitions */ +#define FRAME_BUFFER_OFFSET 0x200000 /* Frame buffer offset */ +#define TOTAL_SPACE_SIZE 0x400000 + +#define DEFAULT_VIDEO_MEMORY_SIZE 0x140000 /* Video Memory Size */ + +#define HWCURSORSIZE 1024 /* Size of memory reserved + for HW cursor*/ + +/* Offset of chipset registers */ +#define BLT_CTRL0 (0x0100) +#define BLT_CTRL1 (0x0101) +#define BLT_ROP (0x0102) +#define BLT_OP (0x0103) +#define BLT_SRC_ADDR0 (0x0104) +#define BLT_SRC_ADDR1 (0x0105) +#define BLT_SRC_ADDR2 (0x0106) +#define BLT_DST_ADDR0 (0x0108) +#define BLT_DST_ADDR1 (0x0109) +#define BLT_DST_ADDR2 (0x010A) +#define BLT_MEM_OFF0 (0x010C) +#define BLT_MEM_OFF1 (0x010D) +#define BLT_WIDTH0 (0x0110) +#define BLT_WIDTH1 (0x0111) +#define BLT_HEIGHT0 (0x0112) +#define BLT_HEIGHT1 (0x0113) +#define BLT_BGCOLOR0 (0x0114) +#define BLT_BGCOLOR1 (0x0115) +#define BLT_FGCOLOR0 (0x0118) +#define BLT_FGCOLOR1 (0x0119) + +#define BLT_REG (0x100000) + +/* Lookup table registers */ +#define REG_LUT_ADDR 0x1e2 +#define REG_LUT_DATA 0x1e4 + +/* Cursor/Ink registers */ +#define LCD_CURSOR_CNTL (0x0070) +#define LCD_CURSOR_START (0x0071) +#define LCD_CURSOR_XL (0x0072) +#define LCD_CURSOR_XM (0x0073) +#define LCD_CURSOR_YL (0x0074) +#define LCD_CURSOR_YM (0x0075) +#define LCD_CURSOR_COL0_B (0x0076) +#define LCD_CURSOR_COL0_G (0x0077) +#define LCD_CURSOR_COL0_R (0x0078) +#define LCD_CURSOR_COL1_B (0x007A) +#define LCD_CURSOR_COL1_G (0x007B) +#define LCD_CURSOR_COL1_R (0x007C) +#define LCD_CURSOR_FIFO (0x007E) + +typedef struct +{ + unsigned short Index; + unsigned char Value; +} S1D_REGS; + + + +/* Board specific functions */ +unsigned int board_video_init (void); +void board_validate_screen (unsigned int base); +const S1D_REGS *board_get_regs (void); +int board_get_width (void); +int board_get_height (void); + +#endif /* _SED13806_H_ */ |