summaryrefslogtreecommitdiff
path: root/arch/arm/mach-mx3
diff options
context:
space:
mode:
authorRob Herring <r.herring@freescale.com>2010-03-05 15:08:23 -0600
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 10:57:50 +0200
commita18fe77713d49091f241acbaef25850a8575e18d (patch)
tree90893bb5cc4c7b2ff45ea6a1d2e5a03e4222aef2 /arch/arm/mach-mx3
parent5227d632fc5987e7240ca193aefae23e98672e57 (diff)
ENGR00121365 mxcuart: rework early uart console
Rework early uart to pass in uart base and clock ptr from board. Now early console for ttymxc is always enabled and mxcuart console is not needed. Add fix work-around u-boot illegal uart setup. uboot sets fifo trigger levels to reserved values which breaks early uart console. Use TXFE instead of TRDY. Signed-off-by: Rob Herring <r.herring@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'arch/arm/mach-mx3')
-rw-r--r--arch/arm/mach-mx3/mx31ads.c4
-rw-r--r--arch/arm/mach-mx3/mx3_3stack.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/arch/arm/mach-mx3/mx31ads.c b/arch/arm/mach-mx3/mx31ads.c
index d35eec46a7ec..92c16045e391 100644
--- a/arch/arm/mach-mx3/mx31ads.c
+++ b/arch/arm/mach-mx3/mx31ads.c
@@ -1329,7 +1329,6 @@ static void __init mx31ads_init_irq(void)
static void __init mxc_board_init(void)
{
mxc_cpu_common_init();
- early_console_setup(saved_command_line);
mxc_init_devices();
mxc_init_pmic_audio();
mxc_register_gpios();
@@ -1355,6 +1354,7 @@ static void __init mxc_board_init(void)
static void __init mx31ads_timer_init(void)
{
+ struct clk *uart_clk;
unsigned long ckih = 26000000;
if ((__raw_readw(PBC_BASE_ADDRESS + PBC_BSTAT) &
@@ -1363,6 +1363,8 @@ static void __init mx31ads_timer_init(void)
}
mx31_clocks_init(ckih);
+ uart_clk = clk_get(NULL, "uart_clk.0");
+ early_console_setup(UART1_BASE_ADDR, uart_clk);
}
static struct sys_timer mx31ads_timer = {
diff --git a/arch/arm/mach-mx3/mx3_3stack.c b/arch/arm/mach-mx3/mx3_3stack.c
index ba1149858f49..4a97f688a75d 100644
--- a/arch/arm/mach-mx3/mx3_3stack.c
+++ b/arch/arm/mach-mx3/mx3_3stack.c
@@ -73,7 +73,6 @@ extern void mxc_map_io(void);
extern void mxc_init_irq(void);
extern void mxc_cpu_init(void) __init;
extern void mxc_cpu_common_init(void);
-extern void __init early_console_setup(char *);
extern int mxc_init_devices(void);
static void mxc_nop_release(struct device *dev)
@@ -952,7 +951,11 @@ static void __init mxc_init_gps(void)
static void __init mx3_3stack_timer_init(void)
{
+ struct clk *uart_clk;
+
mx31_clocks_init(26000000);
+ uart_clk = clk_get(NULL, "uart_clk.0");
+ early_console_setup(UART1_BASE_ADDR, uart_clk);
}
static struct sys_timer mxc_timer = {
@@ -969,7 +972,6 @@ static void __init mxc_board_init(void)
mxc_cpu_common_init();
mxc_register_gpios();
- early_console_setup(saved_command_line);
mxc_init_devices();
/*Pull down MX31_PIN_USB_BYP to reset USB3317 */