summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-clps711x/include/mach/uncompress.h
diff options
context:
space:
mode:
authorAlexander Shiyan <shc_work@mail.ru>2012-05-06 09:21:57 +0400
committerArnd Bergmann <arnd@arndb.de>2012-05-11 16:18:01 +0200
commit304b2c684e42af5b72d643322f783d88538dc817 (patch)
tree9e5fac4f8873a228a1f433f6f1e4dc6d8ad91f2e /arch/arm/mach-clps711x/include/mach/uncompress.h
parent69964ea4c7b68c9399f7977aa5b9aa6539a6a98a (diff)
downloadblackbird-obmc-linux-304b2c684e42af5b72d643322f783d88538dc817.tar.gz
blackbird-obmc-linux-304b2c684e42af5b72d643322f783d88538dc817.zip
ARM: clps711x: Using a single definition for the PHYS and VIRT registers offset
Using a single definition for the physical and virtual address register for all variants boards clps711x. This patch also includes the use of a single function clps_read/write in some units. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-clps711x/include/mach/uncompress.h')
-rw-r--r--arch/arm/mach-clps711x/include/mach/uncompress.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/arch/arm/mach-clps711x/include/mach/uncompress.h b/arch/arm/mach-clps711x/include/mach/uncompress.h
index 35ed731b9f16..263f8393ccb7 100644
--- a/arch/arm/mach-clps711x/include/mach/uncompress.h
+++ b/arch/arm/mach-clps711x/include/mach/uncompress.h
@@ -17,15 +17,8 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include <mach/hardware.h>
#include <asm/hardware/clps7111.h>
-#undef CLPS7111_BASE
-#define CLPS7111_BASE CLPS7111_PHYS_BASE
-
-#define __raw_readl(p) (*(unsigned long *)(p))
-#define __raw_writel(v,p) (*(unsigned long *)(p) = (v))
-
#ifdef CONFIG_DEBUG_CLPS711X_UART2
#define SYSFLGx SYSFLG2
#define UARTDRx UARTDR2
@@ -34,19 +27,25 @@
#define UARTDRx UARTDR1
#endif
+#define phys_reg(x) (*(volatile u32 *)(CLPS711X_PHYS_BASE + (x)))
+
/*
+ * The following code assumes the serial port has already been
+ * initialized by the bootloader. If you didn't setup a port in
+ * your bootloader then nothing will appear (which might be desired).
+ *
* This does not append a newline
*/
static inline void putc(int c)
{
- while (clps_readl(SYSFLGx) & SYSFLG_UTXFF)
+ while (phys_reg(SYSFLGx) & SYSFLG_UTXFF)
barrier();
- clps_writel(c, UARTDRx);
+ phys_reg(UARTDRx) = c;
}
static inline void flush(void)
{
- while (clps_readl(SYSFLGx) & SYSFLG_UBUSY)
+ while (phys_reg(SYSFLGx) & SYSFLG_UBUSY)
barrier();
}
OpenPOWER on IntegriCloud