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_BLK_DEV_INITRD is not set
|
||||||
CONFIG_BOOT_ELF32=y
|
CONFIG_BOOT_ELF32=y
|
||||||
# CONFIG_BT is not set
|
# 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_CPMAC=y
|
||||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||||
CONFIG_CPU_HAS_LLSC=y
|
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)
|
void __init prom_init(void)
|
||||||
{
|
{
|
||||||
prom_printf("\nLINUX running...\n");
|
prom_printf("\nLINUX running...\n");
|
||||||
ar7_init_cmdline(fw_arg0, (char **)fw_arg1);
|
ar7_init_cmdline(fw_arg0, (char **)fw_arg1);
|
||||||
ar7_init_env((struct env_var *)fw_arg2);
|
ar7_init_env((struct env_var *)fw_arg2);
|
||||||
|
console_config();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define PORT(offset) (KSEG1ADDR(AR7_REGS_UART0 + (offset * 4)))
|
#define PORT(offset) (KSEG1ADDR(AR7_REGS_UART0 + (offset * 4)))
|
||||||
|
|
Loading…
Reference in a new issue