|
@@ -0,0 +1,43 @@
|
|
|
+/*
|
|
|
+ * arch/arm/include/asm/hardware/sa1111.h
|
|
|
+ *
|
|
|
+ * Copyright (C) 2000 John G Dorsey <john+@cs.cmu.edu>
|
|
|
+ *
|
|
|
+ * This file contains definitions for the SA-1111 Companion Chip.
|
|
|
+ * (Structure and naming borrowed from SA-1101.h, by Peter Danielsson.)
|
|
|
+ *
|
|
|
+ * Macro that calculates real address for registers in the SA-1111
|
|
|
+ */
|
|
|
+
|
|
|
+#ifndef _ASM_ARCH_SA1111
|
|
|
+#define _ASM_ARCH_SA1111
|
|
|
+
|
|
|
+#include <mach/bitfield.h>
|
|
|
+
|
|
|
+/*
|
|
|
+ * The SA1111 is always located at virtual 0xf4000000, and is always
|
|
|
+ * "native" endian.
|
|
|
+ */
|
|
|
+
|
|
|
+#define SA1111_VBASE 0xf4000000
|
|
|
+
|
|
|
+/* Don't use these! */
|
|
|
+#define SA1111_p2v( x ) ((x) - SA1111_BASE + SA1111_VBASE)
|
|
|
+#define SA1111_v2p( x ) ((x) - SA1111_VBASE + SA1111_BASE)
|
|
|
+
|
|
|
+#ifndef __ASSEMBLY__
|
|
|
+#define _SA1111(x) ((x) + sa1111->resource.start)
|
|
|
+#endif
|
|
|
+
|
|
|
+#define sa1111_writel(val,addr) __raw_writel(val, addr)
|
|
|
+#define sa1111_readl(addr) __raw_readl(addr)
|
|
|
+
|
|
|
+/*
|
|
|
+ * 26 bits of the SA-1110 address bus are available to the SA-1111.
|
|
|
+ * Use these when feeding target addresses to the DMA engines.
|
|
|
+ */
|
|
|
+
|
|
|
+#define SA1111_ADDR_WIDTH (26)
|
|
|
+#define SA1111_ADDR_MASK ((1<<SA1111_ADDR_WIDTH)-1)
|
|
|
+#define SA1111_DMA_ADDR(x) ((x)&SA1111_ADDR_MASK)
|
|
|
+
|