From 8985ce74507c5aaa60e74c85adc619dd590287f4 Mon Sep 17 00:00:00 2001 From: juhosg Date: Wed, 26 Aug 2009 07:31:04 +0000 Subject: [PATCH] [ar71xx] move early_printk stuff into a separate file git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17403 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ar71xx/files/arch/mips/ar71xx/Makefile | 1 + .../files/arch/mips/ar71xx/early_printk.c | 30 +++++++++++++++++++ .../ar71xx/files/arch/mips/ar71xx/prom.c | 14 --------- 3 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 target/linux/ar71xx/files/arch/mips/ar71xx/early_printk.c diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile index 2d3ec1661..ee439698a 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile @@ -10,6 +10,7 @@ obj-y := prom.o irq.o setup.o devices.o gpio.o ar71xx.o +obj-$(CONFIG_EARLY_PRINTK) += early_printk.o obj-$(CONFIG_PCI) += pci.o obj-$(CONFIG_AR71XX_MACH_AP81) += mach-ap81.o diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/early_printk.c b/target/linux/ar71xx/files/arch/mips/ar71xx/early_printk.c new file mode 100644 index 000000000..4661d970b --- /dev/null +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/early_printk.c @@ -0,0 +1,30 @@ +/* + * Atheros AR71xx SoC early printk support + * + * Copyright (C) 2008-2009 Gabor Juhos + * Copyright (C) 2008 Imre Kaloz + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + */ + +#include +#include +#include + +#include + +#define UART_READ(r) \ + __raw_readl((void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE) + 4 * (r))) + +#define UART_WRITE(r, v) \ + __raw_writel((v), (void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE) + 4*(r))) + +void prom_putchar(unsigned char ch) +{ + while (((UART_READ(UART_LSR)) & UART_LSR_THRE) == 0); + UART_WRITE(UART_TX, ch); + while (((UART_READ(UART_LSR)) & UART_LSR_THRE) == 0); +} + diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c b/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c index eee55edff..d72bff3fe 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include @@ -234,16 +233,3 @@ void __init prom_free_prom_memory(void) { /* We do not have to prom memory to free */ } - -#define UART_READ(r) \ - __raw_readl((void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE) + 4 * (r))) - -#define UART_WRITE(r, v) \ - __raw_writel((v), (void __iomem *)(KSEG1ADDR(AR71XX_UART_BASE) + 4*(r))) - -void prom_putchar(unsigned char ch) -{ - while (((UART_READ(UART_LSR)) & UART_LSR_THRE) == 0); - UART_WRITE(UART_TX, ch); - while (((UART_READ(UART_LSR)) & UART_LSR_THRE) == 0); -} -- 2.35.1