summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap1/include/mach/hardware.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-02-29 21:17:10 +0000
committerArnd Bergmann <arnd@arndb.de>2012-02-29 21:17:10 +0000
commitab15e0e80c02b8b9f3392a6173b9109348eed1c3 (patch)
treeb8c42ecbc09d38ff75726c6cad7f310257d95e6e /arch/arm/mach-omap1/include/mach/hardware.h
parent61b80086a525c8a6081257ae40da5dee2bcaee16 (diff)
parent1b35af54ee9cbbdd13fed53fd4acb0952ba522e1 (diff)
Merge branch 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into omap/cleanup
* 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix L4_EMU_34XX_BASE error after iomap changes ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers ARM: OMAP: Remove plat/io.h by splitting it into mach/io.h and mach/hardware.h ARM: OMAP2+: Move most of plat/io.h into local iomap.h ARM: OMAP1: Move most of plat/io.h into local iomap.h ARM: OMAP1: Move 16xx GPIO system clock to platform init code ARM: OMAP: Move omap_init_consistent_dma_size() to local common.h ARM: OMAP2+: Move SDRC related functions from io.h into local common.h ARM: OMAP2+: Drop DISPC L3 firewall code ARM: OMAP2xxx: PM: remove obsolete timer disable code in the suspend path ARM: OMAP: McSPI: Remove unused flag from struct omap2_mcspi_device_config
Diffstat (limited to 'arch/arm/mach-omap1/include/mach/hardware.h')
-rw-r--r--arch/arm/mach-omap1/include/mach/hardware.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/include/mach/hardware.h b/arch/arm/mach-omap1/include/mach/hardware.h
index a3f6287b2007..01e35fa106b8 100644
--- a/arch/arm/mach-omap1/include/mach/hardware.h
+++ b/arch/arm/mach-omap1/include/mach/hardware.h
@@ -2,4 +2,40 @@
* arch/arm/mach-omap1/include/mach/hardware.h
*/
+#ifndef __MACH_HARDWARE_H
+#define __MACH_HARDWARE_H
+
+#ifndef __ASSEMBLER__
+/*
+ * NOTE: Please use ioremap + __raw_read/write where possible instead of these
+ */
+extern u8 omap_readb(u32 pa);
+extern u16 omap_readw(u32 pa);
+extern u32 omap_readl(u32 pa);
+extern void omap_writeb(u8 v, u32 pa);
+extern void omap_writew(u16 v, u32 pa);
+extern void omap_writel(u32 v, u32 pa);
+
+#include <plat/tc.h>
+
+/* Almost all documentation for chip and board memory maps assumes
+ * BM is clear. Most devel boards have a switch to control booting
+ * from NOR flash (using external chipselect 3) rather than mask ROM,
+ * which uses BM to interchange the physical CS0 and CS3 addresses.
+ */
+static inline u32 omap_cs0m_phys(void)
+{
+ return (omap_readl(EMIFS_CONFIG) & OMAP_EMIFS_CONFIG_BM)
+ ? OMAP_CS3_PHYS : 0;
+}
+
+static inline u32 omap_cs3_phys(void)
+{
+ return (omap_readl(EMIFS_CONFIG) & OMAP_EMIFS_CONFIG_BM)
+ ? 0 : OMAP_CS3_PHYS;
+}
+
+#endif
+#endif
+
#include <plat/hardware.h>