make the serial poirt used by prom.c configurable for ifxmips

SVN-Revision: 11606
lede-17.01
John Crispin 2008-06-28 22:01:37 +00:00
parent 5cfd1038bc
commit 8c3c0d38b8
3 changed files with 24 additions and 2 deletions

View File

@ -84,6 +84,8 @@ CONFIG_IFXMIPS=y
CONFIG_IFXMIPS_EEPROM=y
CONFIG_IFXMIPS_MEI=y
CONFIG_IFXMIPS_MII0=y
# CONFIG_IFXMIPS_PROM_ASC0 is not set
CONFIG_IFXMIPS_PROM_ASC1=y
CONFIG_IFXMIPS_SSC=y
CONFIG_IFXMIPS_WDT=y
CONFIG_INITRAMFS_SOURCE=""

View File

@ -18,5 +18,19 @@ config IFXMIPS_MEI
bool "IFXMips mei"
default y
choice
prompt "prom_printf ASC"
help
Choose which serial port is used, until the console driver is loaded
config IFXMIPS_PROM_ASC0
bool "ASC0"
config IFXMIPS_PROM_ASC1
bool "ASC1"
endchoice
endmenu

View File

@ -26,16 +26,22 @@ static char buf[1024];
unsigned int *prom_cp1_base = NULL;
unsigned int prom_cp1_size = 0;
#ifdef IFXMIPS_PROM_ASC0
#define IFXMIPS_ASC_DIFF 0
#else
#define IFXMIPS_ASC_DIFF IFXMIPS_ASC_BASE_DIFF
#endif
static inline u32
asc_r32(unsigned long r)
{
return ifxmips_r32((u32*)(IFXMIPS_ASC_BASE_ADDR + IFXMIPS_ASC_BASE_DIFF + r));
return ifxmips_r32((u32*)(IFXMIPS_ASC_BASE_ADDR + IFXMIPS_ASC_DIFF + r));
}
static inline void
asc_w32(u32 v, unsigned long r)
{
ifxmips_w32(v, (u32*)(IFXMIPS_ASC_BASE_ADDR + IFXMIPS_ASC_BASE_DIFF + r));
ifxmips_w32(v, (u32*)(IFXMIPS_ASC_BASE_ADDR + IFXMIPS_ASC_DIFF + r));
}
void