Use console config from adam2/pspboot environment (#1623).
SVN-Revision: 7107
This commit is contained in:
parent
0fb88f980d
commit
f82141bce4
2 changed files with 39 additions and 1 deletions
|
@ -10,7 +10,7 @@ CONFIG_BASE_SMALL=0
|
|||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
CONFIG_BOOT_ELF32=y
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_CMDLINE="console=ttyS0,38400n8r init=/etc/preinit rootfstype=squashfs,jffs2,"
|
||||
CONFIG_CMDLINE="init=/etc/preinit rootfstype=squashfs,jffs2,"
|
||||
CONFIG_CPMAC=y
|
||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
CONFIG_CPU_HAS_LLSC=y
|
||||
|
|
|
@ -232,11 +232,49 @@ static void __init ar7_init_env(struct env_var *env)
|
|||
}
|
||||
}
|
||||
|
||||
static void __init console_config(void)
|
||||
{
|
||||
#ifdef CONFIG_SERIAL_8250_CONSOLE
|
||||
char console_string[40];
|
||||
int baud = 0;
|
||||
char parity = '\0', bits = '\0', flow = '\0';
|
||||
char *s, *p;
|
||||
|
||||
if (strstr(prom_getcmdline(), "console="))
|
||||
return;
|
||||
|
||||
if ((s = prom_getenv("modetty0"))) {
|
||||
baud = simple_strtoul(s, &p, 10);
|
||||
s = p;
|
||||
if (*s == ',') s++;
|
||||
if (*s) parity = *s++;
|
||||
if (*s == ',') s++;
|
||||
if (*s) bits = *s++;
|
||||
if (*s == ',') s++;
|
||||
if (*s == 'h') flow = 'r';
|
||||
}
|
||||
|
||||
if (baud == 0)
|
||||
baud = 38400;
|
||||
if (parity != 'n' && parity != 'o' && parity != 'e')
|
||||
parity = 'n';
|
||||
if (bits != '7' && bits != '8')
|
||||
bits = '8';
|
||||
if (flow == '\0')
|
||||
flow = 'r';
|
||||
|
||||
sprintf(console_string, " console=ttyS0,%d%c%c%c", baud,
|
||||
parity, bits, flow);
|
||||
strcat(prom_getcmdline(), console_string);
|
||||
#endif
|
||||
}
|
||||
|
||||
void __init prom_init(void)
|
||||
{
|
||||
prom_printf("\nLINUX running...\n");
|
||||
ar7_init_cmdline(fw_arg0, (char **)fw_arg1);
|
||||
ar7_init_env((struct env_var *)fw_arg2);
|
||||
console_config();
|
||||
}
|
||||
|
||||
#define PORT(offset) (KSEG1ADDR(AR7_REGS_UART0 + (offset * 4)))
|
||||
|
|
Loading…
Reference in a new issue