@@ -11,7 +11,6 @@
#include <linux/platform_data/dma-ste-dma40.h>
#include <mach/devices.h>
-#include <mach/hardware.h>
#include <mach/irqs.h>
#include <linux/platform_data/asoc-ux500-msp.h>
@@ -13,8 +13,6 @@
#include <asm/mach-types.h>
-#include <mach/hardware.h>
-
#include "pins-db8500.h"
#include "board-mop500.h"
@@ -15,8 +15,8 @@
#include <asm/mach-types.h>
#include <mach/devices.h>
-#include <mach/hardware.h>
+#include "db8500-regs.h"
#include "devices-db8500.h"
#include "board-mop500.h"
#include "ste-dma40-db8500.h"
@@ -11,7 +11,6 @@
#include <linux/init.h>
#include <linux/i2c.h>
-#include <mach/hardware.h>
#include "board-mop500.h"
#include "id.h"
@@ -41,13 +41,13 @@
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
-#include <mach/hardware.h>
#include <mach/setup.h>
#include <mach/devices.h>
#include <mach/irqs.h>
#include <linux/platform_data/crypto-ux500.h>
#include "ste-dma40-db8500.h"
+#include "db8500-regs.h"
#include "devices-db8500.h"
#include "board-mop500.h"
#include "board-mop500-regulators.h"
@@ -9,8 +9,8 @@
#include <asm/cacheflush.h>
#include <asm/hardware/cache-l2x0.h>
-#include <mach/hardware.h>
+#include "db8500-regs.h"
#include "id.h"
static void __iomem *l2x0_base;
@@ -28,15 +28,13 @@
#include <asm/mach/map.h>
#include <asm/mach/arch.h>
-#include <mach/hardware.h>
#include <mach/setup.h>
#include <mach/devices.h>
-#include <mach/db8500-regs.h>
#include <mach/irqs.h>
#include "devices-db8500.h"
#include "ste-dma40-db8500.h"
-
+#include "db8500-regs.h"
#include "board-mop500.h"
#include "id.h"
@@ -24,11 +24,11 @@
#include <asm/mach/map.h>
-#include <mach/hardware.h>
#include <mach/setup.h>
#include <mach/devices.h>
#include "board-mop500.h"
+#include "db8500-regs.h"
#include "id.h"
/*
@@ -21,6 +21,8 @@
#include <asm/cpuidle.h>
#include <asm/proc-fns.h>
+#include "db8500-regs.h"
+
static atomic_t master = ATOMIC_INIT(0);
static DEFINE_SPINLOCK(master_lock);
static DEFINE_PER_CPU(struct cpuidle_device, ux500_cpuidle_device);
similarity index 88%
rename from arch/arm/mach-ux500/include/mach/db8500-regs.h
rename to arch/arm/mach-ux500/db8500-regs.h
@@ -170,4 +170,32 @@
/* SoC identification number information */
#define U8500_BB_UID_BASE (U8500_BACKUPRAM1_BASE + 0xFC0)
+/* Offsets to specific addresses in some IP blocks for DMA */
+#define MSP_TX_RX_REG_OFFSET 0
+#define CRYP1_RX_REG_OFFSET 0x10
+#define CRYP1_TX_REG_OFFSET 0x8
+#define HASH1_TX_REG_OFFSET 0x4
+
+/*
+ * Macros to get at IO space when running virtually
+ * We dont map all the peripherals, let ioremap do
+ * this for us. We map only very basic peripherals here.
+ */
+#define U8500_IO_VIRTUAL 0xf0000000
+#define U8500_IO_PHYSICAL 0xa0000000
+/* This is where we map in the ROM to check ASIC IDs */
+#define UX500_VIRT_ROM 0xf0000000
+
+/* This macro is used in assembly, so no cast */
+#define IO_ADDRESS(x) \
+ (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + U8500_IO_VIRTUAL)
+
+/* typesafe io address */
+#define __io_address(n) IOMEM(IO_ADDRESS(n))
+
+/* Used by some plat-nomadik code */
+#define io_p2v(n) __io_address(n)
+
+#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
+
#endif
@@ -13,7 +13,6 @@
#include <linux/platform_device.h>
#include <linux/platform_data/pinctrl-nomadik.h>
-#include <mach/hardware.h>
#include <mach/irqs.h>
#include "devices-common.h"
@@ -15,10 +15,10 @@
#include <linux/platform_data/dma-ste-dma40.h>
#include <linux/mfd/dbx500-prcmu.h>
-#include <mach/hardware.h>
#include <mach/setup.h>
#include <mach/irqs.h>
+#include "db8500-regs.h"
#include "devices-db8500.h"
#include "ste-dma40-db8500.h"
@@ -10,6 +10,7 @@
#include <linux/platform_data/usb-musb-ux500.h>
#include <mach/irqs.h>
+#include "db8500-regs.h"
#include "devices-common.h"
struct ske_keypad_platform_data;
@@ -11,9 +11,10 @@
#include <linux/io.h>
#include <linux/amba/bus.h>
-#include <mach/hardware.h>
#include <mach/setup.h>
+#include "db8500-regs.h"
+
void __init amba_add_devices(struct amba_device *devs[], int num)
{
int i;
@@ -14,9 +14,9 @@
#include <asm/cacheflush.h>
#include <asm/mach/map.h>
-#include <mach/hardware.h>
#include <mach/setup.h>
+#include "db8500-regs.h"
#include "id.h"
struct dbx500_asic_id dbx500_id;
deleted file mode 100644
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2009 ST-Ericsson.
- *
- * U8500 hardware definitions
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-#ifndef __MACH_HARDWARE_H
-#define __MACH_HARDWARE_H
-
-/*
- * Macros to get at IO space when running virtually
- * We dont map all the peripherals, let ioremap do
- * this for us. We map only very basic peripherals here.
- */
-#define U8500_IO_VIRTUAL 0xf0000000
-#define U8500_IO_PHYSICAL 0xa0000000
-/* This is where we map in the ROM to check ASIC IDs */
-#define UX500_VIRT_ROM 0xf0000000
-
-/* This macro is used in assembly, so no cast */
-#define IO_ADDRESS(x) \
- (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + U8500_IO_VIRTUAL)
-
-/* typesafe io address */
-#define __io_address(n) IOMEM(IO_ADDRESS(n))
-
-/* Used by some plat-nomadik code */
-#define io_p2v(n) __io_address(n)
-
-#include <mach/db8500-regs.h>
-
-#define MSP_TX_RX_REG_OFFSET 0
-#define CRYP1_RX_REG_OFFSET 0x10
-#define CRYP1_TX_REG_OFFSET 0x8
-#define HASH1_TX_REG_OFFSET 0x4
-
-#ifndef __ASSEMBLY__
-
-#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
-
-#endif /* __ASSEMBLY__ */
-#endif /* __MACH_HARDWARE_H */
@@ -10,8 +10,6 @@
#ifndef ASM_ARCH_IRQS_H
#define ASM_ARCH_IRQS_H
-#include <mach/hardware.h>
-
#define IRQ_LOCALTIMER 29
#define IRQ_LOCALWDOG 30
@@ -22,7 +22,8 @@
#include <asm/mach-types.h>
#include <linux/io.h>
#include <linux/amba/serial.h>
-#include <mach/hardware.h>
+/* TODO: This goes away in multiplatform boot, this file gets deleted */
+#include "../../db8500-regs.h"
void __iomem *ux500_uart_base;
@@ -22,9 +22,9 @@
#include <asm/smp_plat.h>
#include <asm/smp_scu.h>
-#include <mach/hardware.h>
#include <mach/setup.h>
+#include "db8500-regs.h"
#include "id.h"
/* This is called from headsmp.S to wakeup the secondary core */
@@ -13,7 +13,7 @@
#include <linux/io.h>
#include <linux/platform_data/arm-ux500-pm.h>
-#include <mach/hardware.h>
+#include "db8500-regs.h"
/* ARM WFI Standby signal register */
#define PRCM_ARM_WFI_STANDBY (prcmu_base + 0x130)
@@ -14,9 +14,9 @@
#include <asm/smp_twd.h>
#include <mach/setup.h>
-#include <mach/hardware.h>
#include <mach/irqs.h>
+#include "db8500-regs.h"
#include "id.h"
#ifdef CONFIG_HAVE_ARM_TWD
@@ -10,7 +10,7 @@
#include <linux/platform_data/usb-musb-ux500.h>
#include <linux/platform_data/dma-ste-dma40.h>
-#include <mach/hardware.h>
+#include "db8500-regs.h"
#define MUSB_DMA40_RX_CH { \
.mode = STEDMA40_MODE_LOGICAL, \
@@ -13,7 +13,6 @@
#include <linux/io.h>
#include <linux/err.h>
#include <linux/types.h>
-#include <mach/hardware.h>
#include "clk.h"
@@ -18,7 +18,6 @@
#include <asm/sched_clock.h>
#include <mach/setup.h>
-#include <mach/hardware.h>
#define RATE_32K 32768
@@ -12,8 +12,6 @@
#include <linux/kernel.h>
#include <linux/types.h>
-#include <mach/hardware.h>
-
#include "cryp_p.h"
#include "cryp.h"
@@ -32,7 +32,6 @@
#include <crypto/scatterwalk.h>
#include <linux/platform_data/crypto-ux500.h>
-#include <mach/hardware.h>
#include "cryp_p.h"
#include "cryp.h"
@@ -32,7 +32,6 @@
#include <crypto/algapi.h>
#include <linux/platform_data/crypto-ux500.h>
-#include <mach/hardware.h>
#include "hash_alg.h"
@@ -33,9 +33,7 @@
#include <linux/regulator/machine.h>
#include <linux/cpufreq.h>
#include <linux/platform_data/ux500_wdt.h>
-#include <mach/hardware.h>
#include <mach/irqs.h>
-#include <mach/db8500-regs.h>
#include "dbx500-prcmu-regs.h"
/* Index of different voltages to be used when accessing AVSData */
@@ -74,33 +74,11 @@
#define PRCM_A9PL_FORCE_CLKEN_PRCM_A9PL_FORCE_CLKEN BIT(0)
#define PRCM_A9PL_FORCE_CLKEN_PRCM_A9AXI_FORCE_CLKEN BIT(1)
-/* ARM WFI Standby signal register */
-#define PRCM_ARM_WFI_STANDBY (prcmu_base + 0x130)
-#define PRCM_ARM_WFI_STANDBY_WFI0 0x08
-#define PRCM_ARM_WFI_STANDBY_WFI1 0x10
-#define PRCM_IOCR (prcmu_base + 0x310)
-#define PRCM_IOCR_IOFORCE 0x1
-
/* CPU mailbox registers */
#define PRCM_MBOX_CPU_VAL (prcmu_base + 0x0fc)
#define PRCM_MBOX_CPU_SET (prcmu_base + 0x100)
#define PRCM_MBOX_CPU_CLR (prcmu_base + 0x104)
-/* Dual A9 core interrupt management unit registers */
-#define PRCM_A9_MASK_REQ (prcmu_base + 0x328)
-#define PRCM_A9_MASK_REQ_PRCM_A9_MASK_REQ 0x1
-
-#define PRCM_A9_MASK_ACK (prcmu_base + 0x32c)
-#define PRCM_ARMITMSK31TO0 (prcmu_base + 0x11c)
-#define PRCM_ARMITMSK63TO32 (prcmu_base + 0x120)
-#define PRCM_ARMITMSK95TO64 (prcmu_base + 0x124)
-#define PRCM_ARMITMSK127TO96 (prcmu_base + 0x128)
-#define PRCM_POWER_STATE_VAL (prcmu_base + 0x25C)
-#define PRCM_ARMITVAL31TO0 (prcmu_base + 0x260)
-#define PRCM_ARMITVAL63TO32 (prcmu_base + 0x264)
-#define PRCM_ARMITVAL95TO64 (prcmu_base + 0x268)
-#define PRCM_ARMITVAL127TO96 (prcmu_base + 0x26C)
-
#define PRCM_HOSTACCESS_REQ (prcmu_base + 0x334)
#define PRCM_HOSTACCESS_REQ_HOSTACCESS_REQ 0x1
#define PRCM_HOSTACCESS_REQ_WAKE_REQ BIT(16)
@@ -17,8 +17,6 @@
#include <linux/io.h>
#include <linux/clk.h>
-#include <mach/hardware.h>
-
#include <sound/soc.h>
#include <sound/soc-dapm.h>
#include <sound/pcm.h>
@@ -21,8 +21,6 @@
#include <linux/mfd/dbx500-prcmu.h>
#include <linux/platform_data/asoc-ux500-msp.h>
-#include <mach/hardware.h>
-
#include <sound/soc.h>
#include <sound/soc-dai.h>
@@ -22,8 +22,6 @@
#include <linux/of.h>
#include <linux/platform_data/asoc-ux500-msp.h>
-#include <mach/hardware.h>
-
#include <sound/soc.h>
#include "ux500_msp_i2s.h"