From 5eeaca7a5dec02e1e5e2b8fb8bf2527ea8eb1dcb Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Fri, 16 Oct 2015 09:53:55 +0800 Subject: [PATCH 1/2] arm/mach-aspeed: Enable UART clock divisor Our .dts assumes that the UART clock is divided by 13, but different u-boots may leave this bit in different states. Initialise it in aspeed_early_init explicitly. Signed-off-by: Jeremy Kerr --- arch/arm/mach-aspeed/aspeed.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/mach-aspeed/aspeed.c b/arch/arm/mach-aspeed/aspeed.c index 64d379a90a4148..9d106b857fbd03 100644 --- a/arch/arm/mach-aspeed/aspeed.c +++ b/arch/arm/mach-aspeed/aspeed.c @@ -128,6 +128,8 @@ static void udbg_uart_putc(char c) static void __init aspeed_init_early(void) { + u32 reg; + // XXX UART stuff to fix to pinmux & co printk("UART IO MUX...\n"); writel(0x02010023, AST_IO(AST_BASE_LPC | 0x9c)); @@ -137,6 +139,14 @@ static void __init aspeed_init_early(void) writel(0xcb000000, AST_IO(AST_BASE_SCU | 0x80)); writel(0x00fff0c0, AST_IO(AST_BASE_SCU | 0x84)); writel(0x10CC5E80, AST_IO(AST_BASE_SCU | 0x0c)); + + /* We enable the UART clock divisor in the SCU's misc control + * register, as the baud rates in aspeed.dtb all assume that the + * divisor is active + */ + reg = readl(AST_IO(AST_BASE_SCU | 0x2c)); + writel(reg | 0x00001000, AST_IO(AST_BASE_SCU | 0x2c)); + printk("DONE, MUX=%08x %08x\n", readl(AST_IO(AST_BASE_SCU | 0x80)), readl(AST_IO(AST_BASE_SCU | 0x84))); printk("CLOCK_CTRL=%08x\n", readl(AST_IO(AST_BASE_SCU))); From d819b470e093a74dfaed9024f242688eeaff236e Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Fri, 16 Oct 2015 12:13:30 +0800 Subject: [PATCH 2/2] arm/aspeed_defconfig: change CONFIG_USB_G_SERIAL to y It's the only module present. Signed-off-by: Jeremy Kerr --- arch/arm/configs/aspeed_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/configs/aspeed_defconfig b/arch/arm/configs/aspeed_defconfig index dfd5707edcc0fb..fa8e8a13a95c3c 100644 --- a/arch/arm/configs/aspeed_defconfig +++ b/arch/arm/configs/aspeed_defconfig @@ -151,7 +151,7 @@ CONFIG_USB_STORAGE=y CONFIG_USB_SERIAL=y CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_GADGET=y -CONFIG_USB_G_SERIAL=m +CONFIG_USB_G_SERIAL=y CONFIG_MMC=y CONFIG_MMC_SPI=y CONFIG_NEW_LEDS=y