aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-ux500/cpu-u8500.c6
-rw-r--r--arch/arm/mach-ux500/include/mach/db5500-regs.h103
-rw-r--r--arch/arm/mach-ux500/include/mach/db8500-regs.h135
-rw-r--r--arch/arm/mach-ux500/include/mach/hardware.h174
4 files changed, 302 insertions, 116 deletions
diff --git a/arch/arm/mach-ux500/cpu-u8500.c b/arch/arm/mach-ux500/cpu-u8500.c
index 979f1c32ad09..8919af4eeeb5 100644
--- a/arch/arm/mach-ux500/cpu-u8500.c
+++ b/arch/arm/mach-ux500/cpu-u8500.c
@@ -124,10 +124,10 @@ static struct map_desc u8500_io_desc[] __initdata = {
124 __IO_DEV_DESC(U8500_CLKRST3_BASE, SZ_4K), 124 __IO_DEV_DESC(U8500_CLKRST3_BASE, SZ_4K),
125 __IO_DEV_DESC(U8500_CLKRST5_BASE, SZ_4K), 125 __IO_DEV_DESC(U8500_CLKRST5_BASE, SZ_4K),
126 __IO_DEV_DESC(U8500_CLKRST6_BASE, SZ_4K), 126 __IO_DEV_DESC(U8500_CLKRST6_BASE, SZ_4K),
127 __IO_DEV_DESC(U8500_GPIO0_BASE, SZ_4K),
127 __IO_DEV_DESC(U8500_GPIO1_BASE, SZ_4K), 128 __IO_DEV_DESC(U8500_GPIO1_BASE, SZ_4K),
128 __IO_DEV_DESC(U8500_GPIO2_BASE, SZ_4K), 129 __IO_DEV_DESC(U8500_GPIO2_BASE, SZ_4K),
129 __IO_DEV_DESC(U8500_GPIO3_BASE, SZ_4K), 130 __IO_DEV_DESC(U8500_GPIO3_BASE, SZ_4K),
130 __IO_DEV_DESC(U8500_GPIO5_BASE, SZ_4K),
131 __IO_DEV_DESC(U8500_L2CC_BASE, SZ_4K), 131 __IO_DEV_DESC(U8500_L2CC_BASE, SZ_4K),
132}; 132};
133 133
@@ -137,7 +137,7 @@ static struct map_desc u8500ed_io_desc[] __initdata = {
137}; 137};
138 138
139static struct map_desc u8500v1_io_desc[] __initdata = { 139static struct map_desc u8500v1_io_desc[] __initdata = {
140 __IO_DEV_DESC(U8500_MTU0_BASE_V1, SZ_4K), 140 __IO_DEV_DESC(U8500_MTU0_BASE, SZ_4K),
141}; 141};
142 142
143void __init u8500_map_io(void) 143void __init u8500_map_io(void)
@@ -177,7 +177,7 @@ static void __init u8500_timer_init(void)
177 if (cpu_is_u8500ed()) 177 if (cpu_is_u8500ed())
178 mtu_base = __io_address(U8500_MTU0_BASE_ED); 178 mtu_base = __io_address(U8500_MTU0_BASE_ED);
179 else 179 else
180 mtu_base = __io_address(U8500_MTU0_BASE_V1); 180 mtu_base = __io_address(U8500_MTU0_BASE);
181 181
182 nmdk_timer_init(); 182 nmdk_timer_init();
183} 183}
diff --git a/arch/arm/mach-ux500/include/mach/db5500-regs.h b/arch/arm/mach-ux500/include/mach/db5500-regs.h
new file mode 100644
index 000000000000..545c80fc8024
--- /dev/null
+++ b/arch/arm/mach-ux500/include/mach/db5500-regs.h
@@ -0,0 +1,103 @@
1/*
2 * Copyright (C) ST-Ericsson SA 2010
3 *
4 * License terms: GNU General Public License (GPL) version 2
5 */
6
7#ifndef __MACH_DB5500_REGS_H
8#define __MACH_DB5500_REGS_H
9
10#define U5500_PER1_BASE 0xA0020000
11#define U5500_PER2_BASE 0xA0010000
12#define U5500_PER3_BASE 0x80140000
13#define U5500_PER4_BASE 0x80150000
14#define U5500_PER5_BASE 0x80100000
15#define U5500_PER6_BASE 0x80120000
16
17#define U5500_GIC_DIST_BASE 0xA0411000
18#define U5500_GIC_CPU_BASE 0xA0410100
19#define U5500_DMA_BASE 0x90030000
20#define U5500_MCDE_BASE 0xA0400000
21#define U5500_MODEM_BASE 0xB0000000
22#define U5500_L2CC_BASE 0xA0412000
23#define U5500_SCU_BASE 0xA0410000
24#define U5500_DSI1_BASE 0xA0401000
25#define U5500_DSI2_BASE 0xA0402000
26#define U5500_SIA_BASE 0xA0100000
27#define U5500_SVA_BASE 0x80200000
28#define U5500_HSEM_BASE 0xA0000000
29#define U5500_NAND0_BASE 0x60000000
30#define U5500_NAND1_BASE 0x70000000
31#define U5500_TWD_BASE 0xa0410600
32#define U5500_B2R2_BASE 0xa0200000
33
34#define U5500_FSMC_BASE (U5500_PER1_BASE + 0x0000)
35#define U5500_SDI0_BASE (U5500_PER1_BASE + 0x1000)
36#define U5500_SDI2_BASE (U5500_PER1_BASE + 0x2000)
37#define U5500_UART0_BASE (U5500_PER1_BASE + 0x3000)
38#define U5500_I2C1_BASE (U5500_PER1_BASE + 0x4000)
39#define U5500_MSP0_BASE (U5500_PER1_BASE + 0x5000)
40#define U5500_GPIO0_BASE (U5500_PER1_BASE + 0xE000)
41#define U5500_CLKRST1_BASE (U5500_PER1_BASE + 0xF000)
42
43#define U5500_USBOTG_BASE (U5500_PER2_BASE + 0x0000)
44#define U5500_GPIO1_BASE (U5500_PER2_BASE + 0xE000)
45#define U5500_CLKRST2_BASE (U5500_PER2_BASE + 0xF000)
46
47#define U5500_KEYPAD_BASE (U5500_PER3_BASE + 0x0000)
48#define U5500_PWM_BASE (U5500_PER3_BASE + 0x1000)
49#define U5500_GPIO3_BASE (U5500_PER3_BASE + 0xE000)
50#define U5500_CLKRST3_BASE (U5500_PER3_BASE + 0xF000)
51
52#define U5500_BACKUPRAM0_BASE (U5500_PER4_BASE + 0x0000)
53#define U5500_BACKUPRAM1_BASE (U5500_PER4_BASE + 0x1000)
54#define U5500_RTT0_BASE (U5500_PER4_BASE + 0x2000)
55#define U5500_RTT1_BASE (U5500_PER4_BASE + 0x3000)
56#define U5500_RTC_BASE (U5500_PER4_BASE + 0x4000)
57#define U5500_SCR_BASE (U5500_PER4_BASE + 0x5000)
58#define U5500_DMC_BASE (U5500_PER4_BASE + 0x6000)
59#define U5500_PRCMU_BASE (U5500_PER4_BASE + 0x7000)
60#define U5500_MSP1_BASE (U5500_PER4_BASE + 0x9000)
61#define U5500_GPIO2_BASE (U5500_PER4_BASE + 0xA000)
62#define U5500_CDETECT_BASE (U5500_PER4_BASE + 0xF000)
63
64#define U5500_SPI0_BASE (U5500_PER5_BASE + 0x0000)
65#define U5500_SPI1_BASE (U5500_PER5_BASE + 0x1000)
66#define U5500_SPI2_BASE (U5500_PER5_BASE + 0x2000)
67#define U5500_SPI3_BASE (U5500_PER5_BASE + 0x3000)
68#define U5500_UART1_BASE (U5500_PER5_BASE + 0x4000)
69#define U5500_UART2_BASE (U5500_PER5_BASE + 0x5000)
70#define U5500_UART3_BASE (U5500_PER5_BASE + 0x6000)
71#define U5500_SDI1_BASE (U5500_PER5_BASE + 0x7000)
72#define U5500_SDI3_BASE (U5500_PER5_BASE + 0x8000)
73#define U5500_SDI4_BASE (U5500_PER5_BASE + 0x9000)
74#define U5500_I2C2_BASE (U5500_PER5_BASE + 0xA000)
75#define U5500_I2C3_BASE (U5500_PER5_BASE + 0xB000)
76#define U5500_MSP2_BASE (U5500_PER5_BASE + 0xC000)
77#define U5500_IRDA_BASE (U5500_PER5_BASE + 0xD000)
78#define U5500_IRRC_BASE (U5500_PER5_BASE + 0x10000)
79#define U5500_GPIO4_BASE (U5500_PER5_BASE + 0x1E000)
80#define U5500_CLKRST5_BASE (U5500_PER5_BASE + 0x1F000)
81
82#define U5500_RNG_BASE (U5500_PER6_BASE + 0x0000)
83#define U5500_HASH0_BASE (U5500_PER6_BASE + 0x1000)
84#define U5500_HASH1_BASE (U5500_PER6_BASE + 0x2000)
85#define U5500_PKA_BASE (U5500_PER6_BASE + 0x4000)
86#define U5500_PKAM_BASE (U5500_PER6_BASE + 0x5000)
87#define U5500_MTU0_BASE (U5500_PER6_BASE + 0x6000)
88#define U5500_MTU1_BASE (U5500_PER6_BASE + 0x7000)
89#define U5500_CR_BASE (U5500_PER6_BASE + 0x8000)
90#define U5500_CRYP0_BASE (U5500_PER6_BASE + 0xA000)
91#define U5500_CRYP1_BASE (U5500_PER6_BASE + 0xB000)
92#define U5500_CLKRST6_BASE (U5500_PER6_BASE + 0xF000)
93
94#define U5500_GPIOBANK0_BASE U5500_GPIO0_BASE
95#define U5500_GPIOBANK1_BASE (U5500_GPIO0_BASE + 0x80)
96#define U5500_GPIOBANK2_BASE U5500_GPIO1_BASE
97#define U5500_GPIOBANK3_BASE U5500_GPIO2_BASE
98#define U5500_GPIOBANK4_BASE U5500_GPIO3_BASE
99#define U5500_GPIOBANK5_BASE U5500_GPIO4_BASE
100#define U5500_GPIOBANK6_BASE (U5500_GPIO4_BASE + 0x80)
101#define U5500_GPIOBANK7_BASE (U5500_GPIO4_BASE + 0x100)
102
103#endif
diff --git a/arch/arm/mach-ux500/include/mach/db8500-regs.h b/arch/arm/mach-ux500/include/mach/db8500-regs.h
new file mode 100644
index 000000000000..9169e1e382a3
--- /dev/null
+++ b/arch/arm/mach-ux500/include/mach/db8500-regs.h
@@ -0,0 +1,135 @@
1/*
2 * Copyright (C) ST-Ericsson SA 2010
3 *
4 * License terms: GNU General Public License (GPL) version 2
5 */
6
7#ifndef __MACH_DB8500_REGS_H
8#define __MACH_DB8500_REGS_H
9
10#define U8500_PER3_BASE 0x80000000
11#define U8500_STM_BASE 0x80100000
12#define U8500_STM_REG_BASE (U8500_STM_BASE + 0xF000)
13#define U8500_PER2_BASE 0x80110000
14#define U8500_PER1_BASE 0x80120000
15#define U8500_B2R2_BASE 0x80130000
16#define U8500_HSEM_BASE 0x80140000
17#define U8500_PER4_BASE 0x80150000
18#define U8500_ICN_BASE 0x81000000
19
20#define U8500_BOOT_ROM_BASE 0x90000000
21/* ASIC ID is at 0xff4 offset within this region */
22#define U8500_ASIC_ID_BASE 0x9001F000
23
24#define U8500_PER6_BASE 0xa03c0000
25#define U8500_PER5_BASE 0xa03e0000
26#define U8500_PER7_BASE_ED 0xa03d0000
27
28#define U8500_SVA_BASE 0xa0100000
29#define U8500_SIA_BASE 0xa0200000
30
31#define U8500_SGA_BASE 0xa0300000
32#define U8500_MCDE_BASE 0xa0350000
33#define U8500_DMA_BASE_ED 0xa0362000
34#define U8500_DMA_BASE 0x801C0000 /* v1 */
35
36#define U8500_SBAG_BASE 0xa0390000
37
38#define U8500_SCU_BASE 0xa0410000
39#define U8500_GIC_CPU_BASE 0xa0410100
40#define U8500_TWD_BASE 0xa0410600
41#define U8500_GIC_DIST_BASE 0xa0411000
42#define U8500_L2CC_BASE 0xa0412000
43
44#define U8500_MODEM_I2C 0xb7e02000
45
46#define U8500_GPIO0_BASE (U8500_PER1_BASE + 0xE000)
47#define U8500_GPIO1_BASE (U8500_PER3_BASE + 0xE000)
48#define U8500_GPIO2_BASE (U8500_PER2_BASE + 0xE000)
49#define U8500_GPIO3_BASE (U8500_PER5_BASE + 0x1E000)
50
51/* per7 base addressess */
52#define U8500_CR_BASE_ED (U8500_PER7_BASE_ED + 0x8000)
53#define U8500_MTU0_BASE_ED (U8500_PER7_BASE_ED + 0xa000)
54#define U8500_MTU1_BASE_ED (U8500_PER7_BASE_ED + 0xb000)
55#define U8500_TZPC0_BASE_ED (U8500_PER7_BASE_ED + 0xc000)
56#define U8500_CLKRST7_BASE_ED (U8500_PER7_BASE_ED + 0xf000)
57
58#define U8500_UART0_BASE (U8500_PER1_BASE + 0x0000)
59#define U8500_UART1_BASE (U8500_PER1_BASE + 0x1000)
60
61/* per6 base addressess */
62#define U8500_RNG_BASE (U8500_PER6_BASE + 0x0000)
63#define U8500_PKA_BASE (U8500_PER6_BASE + 0x1000)
64#define U8500_PKAM_BASE (U8500_PER6_BASE + 0x2000)
65#define U8500_MTU0_BASE (U8500_PER6_BASE + 0x6000) /* v1 */
66#define U8500_MTU1_BASE (U8500_PER6_BASE + 0x7000) /* v1 */
67#define U8500_CR_BASE (U8500_PER6_BASE + 0x8000) /* v1 */
68#define U8500_CRYPTO0_BASE (U8500_PER6_BASE + 0xa000)
69#define U8500_CRYPTO1_BASE (U8500_PER6_BASE + 0xb000)
70#define U8500_CLKRST6_BASE (U8500_PER6_BASE + 0xf000)
71
72/* per5 base addressess */
73#define U8500_USBOTG_BASE (U8500_PER5_BASE + 0x00000)
74#define U8500_CLKRST5_BASE (U8500_PER5_BASE + 0x1f000)
75
76/* per4 base addressess */
77#define U8500_BACKUPRAM0_BASE (U8500_PER4_BASE + 0x00000)
78#define U8500_BACKUPRAM1_BASE (U8500_PER4_BASE + 0x01000)
79#define U8500_RTT0_BASE (U8500_PER4_BASE + 0x02000)
80#define U8500_RTT1_BASE (U8500_PER4_BASE + 0x03000)
81#define U8500_RTC_BASE (U8500_PER4_BASE + 0x04000)
82#define U8500_SCR_BASE (U8500_PER4_BASE + 0x05000)
83#define U8500_DMC_BASE (U8500_PER4_BASE + 0x06000)
84#define U8500_PRCMU_BASE (U8500_PER4_BASE + 0x07000)
85#define U8500_PRCMU_TCDM_BASE (U8500_PER4_BASE + 0x0f000)
86
87/* per3 base addresses */
88#define U8500_FSMC_BASE (U8500_PER3_BASE + 0x0000)
89#define U8500_SSP0_BASE (U8500_PER3_BASE + 0x2000)
90#define U8500_SSP1_BASE (U8500_PER3_BASE + 0x3000)
91#define U8500_I2C0_BASE (U8500_PER3_BASE + 0x4000)
92#define U8500_SDI2_BASE (U8500_PER3_BASE + 0x5000)
93#define U8500_SKE_BASE (U8500_PER3_BASE + 0x6000)
94#define U8500_UART2_BASE (U8500_PER3_BASE + 0x7000)
95#define U8500_SDI5_BASE (U8500_PER3_BASE + 0x8000)
96#define U8500_CLKRST3_BASE (U8500_PER3_BASE + 0xf000)
97
98/* per2 base addressess */
99#define U8500_I2C3_BASE (U8500_PER2_BASE + 0x0000)
100#define U8500_SPI2_BASE (U8500_PER2_BASE + 0x1000)
101#define U8500_SPI1_BASE (U8500_PER2_BASE + 0x2000)
102#define U8500_PWL_BASE (U8500_PER2_BASE + 0x3000)
103#define U8500_SDI4_BASE (U8500_PER2_BASE + 0x4000)
104#define U8500_MSP2_BASE (U8500_PER2_BASE + 0x7000)
105#define U8500_SDI1_BASE (U8500_PER2_BASE + 0x8000)
106#define U8500_SDI3_BASE (U8500_PER2_BASE + 0x9000)
107#define U8500_SPI0_BASE (U8500_PER2_BASE + 0xa000)
108#define U8500_HSIR_BASE (U8500_PER2_BASE + 0xb000)
109#define U8500_HSIT_BASE (U8500_PER2_BASE + 0xc000)
110#define U8500_CLKRST2_BASE (U8500_PER2_BASE + 0xf000)
111
112/* per1 base addresses */
113#define U8500_I2C1_BASE (U8500_PER1_BASE + 0x2000)
114#define U8500_MSP0_BASE (U8500_PER1_BASE + 0x3000)
115#define U8500_MSP1_BASE (U8500_PER1_BASE + 0x4000)
116#define U8500_SDI0_BASE (U8500_PER1_BASE + 0x6000)
117#define U8500_I2C2_BASE (U8500_PER1_BASE + 0x8000)
118#define U8500_SPI3_BASE (U8500_PER1_BASE + 0x9000)
119#define U8500_I2C4_BASE (U8500_PER1_BASE + 0xa000)
120#define U8500_SLIM0_BASE (U8500_PER1_BASE + 0xb000)
121#define U8500_CLKRST1_BASE (U8500_PER1_BASE + 0xf000)
122
123#define U8500_SHRM_GOP_INTERRUPT_BASE 0xB7C00040
124
125#define U8500_GPIOBANK0_BASE U8500_GPIO0_BASE
126#define U8500_GPIOBANK1_BASE (U8500_GPIO0_BASE + 0x80)
127#define U8500_GPIOBANK2_BASE U8500_GPIO1_BASE
128#define U8500_GPIOBANK3_BASE (U8500_GPIO1_BASE + 0x80)
129#define U8500_GPIOBANK4_BASE (U8500_GPIO1_BASE + 0x100)
130#define U8500_GPIOBANK5_BASE (U8500_GPIO1_BASE + 0x180)
131#define U8500_GPIOBANK6_BASE U8500_GPIO2_BASE
132#define U8500_GPIOBANK7_BASE (U8500_GPIO2_BASE + 0x80)
133#define U8500_GPIOBANK8_BASE U8500_GPIO3_BASE
134
135#endif
diff --git a/arch/arm/mach-ux500/include/mach/hardware.h b/arch/arm/mach-ux500/include/mach/hardware.h
index d86b3543dd23..1353f1757057 100644
--- a/arch/arm/mach-ux500/include/mach/hardware.h
+++ b/arch/arm/mach-ux500/include/mach/hardware.h
@@ -26,119 +26,67 @@
26/* used by some plat-nomadik code */ 26/* used by some plat-nomadik code */
27#define io_p2v(n) __io_address(n) 27#define io_p2v(n) __io_address(n)
28 28
29/* 29#include <mach/db8500-regs.h>
30 * Base address definitions for U8500 Onchip IPs. All the 30#include <mach/db5500-regs.h>
31 * peripherals are contained in a single 1 Mbyte region, with 31
32 * AHB peripherals at the bottom and APB peripherals at the 32#ifdef CONFIG_UX500_SOC_DB8500
33 * top of the region. PER stands for PERIPHERAL region which 33#define UX500(periph) U8500_##periph##_BASE
34 * itself divided into sub regions. 34#elif defined(CONFIG_UX500_SOC_DB5500)
35 */ 35#define UX500(periph) U5500_##periph##_BASE
36#define U8500_PER3_BASE 0x80000000 36#endif
37#define U8500_PER2_BASE 0x80110000 37
38#define U8500_PER1_BASE 0x80120000 38#define UX500_BACKUPRAM0_BASE UX500(BACKUPRAM0)
39#define U8500_PER4_BASE 0x80150000 39#define UX500_BACKUPRAM1_BASE UX500(BACKUPRAM1)
40 40#define UX500_B2R2_BASE UX500(B2R2)
41#define U8500_PER6_BASE 0xa03c0000 41
42#define U8500_PER5_BASE 0xa03e0000 42#define UX500_CLKRST1_BASE UX500(CLKRST1)
43#define U8500_PER7_BASE 0xa03d0000 43#define UX500_CLKRST2_BASE UX500(CLKRST2)
44 44#define UX500_CLKRST3_BASE UX500(CLKRST3)
45#define U8500_SVA_BASE 0xa0100000 45#define UX500_CLKRST5_BASE UX500(CLKRST5)
46#define U8500_SIA_BASE 0xa0200000 46#define UX500_CLKRST6_BASE UX500(CLKRST6)
47 47
48#define U8500_SGA_BASE 0xa0300000 48#define UX500_DMA_BASE UX500(DMA)
49#define U8500_MCDE_BASE 0xa0350000 49#define UX500_FSMC_BASE UX500(FSMC)
50#define U8500_DMA_BASE 0xa0362000 50
51 51#define UX500_GIC_CPU_BASE UX500(GIC_CPU)
52#define U8500_SCU_BASE 0xa0410000 52#define UX500_GIC_DIST_BASE UX500(GIC_DIST)
53#define U8500_GIC_CPU_BASE 0xa0410100 53
54#define U8500_TWD_BASE 0xa0410600 54#define UX500_I2C1_BASE UX500(I2C1)
55#define U8500_GIC_DIST_BASE 0xa0411000 55#define UX500_I2C2_BASE UX500(I2C2)
56#define U8500_L2CC_BASE 0xa0412000 56#define UX500_I2C3_BASE UX500(I2C3)
57 57
58#define U8500_TWD_SIZE 0x100 58#define UX500_L2CC_BASE UX500(L2CC)
59 59#define UX500_MCDE_BASE UX500(MCDE)
60/* per7 base addressess */ 60#define UX500_MTU0_BASE UX500(MTU0)
61#define U8500_CR_BASE_ED (U8500_PER7_BASE + 0x8000) 61#define UX500_MTU1_BASE UX500(MTU1)
62#define U8500_MTU0_BASE_ED (U8500_PER7_BASE + 0xa000) 62#define UX500_PRCMU_BASE UX500(PRCMU)
63#define U8500_MTU1_BASE_ED (U8500_PER7_BASE + 0xb000) 63
64#define U8500_TZPC0_BASE_ED (U8500_PER7_BASE + 0xc000) 64#define UX500_RNG_BASE UX500(RNG)
65#define U8500_CLKRST7_BASE_ED (U8500_PER7_BASE + 0xf000) 65#define UX500_RTC_BASE UX500(RTC)
66 66
67/* per6 base addressess */ 67#define UX500_SCU_BASE UX500(SCU)
68#define U8500_RNG_BASE (U8500_PER6_BASE + 0x0000) 68
69#define U8500_PKA_BASE (U8500_PER6_BASE + 0x1000) 69#define UX500_SDI0_BASE UX500(SDI0)
70#define U8500_PKAM_BASE (U8500_PER6_BASE + 0x2000) 70#define UX500_SDI1_BASE UX500(SDI1)
71#define U8500_MTU0_BASE_V1 (U8500_PER6_BASE + 0x6000) 71#define UX500_SDI2_BASE UX500(SDI2)
72#define U8500_MTU1_BASE_V1 (U8500_PER6_BASE + 0x7000) 72#define UX500_SDI3_BASE UX500(SDI3)
73#define U8500_CR_BASE_V1 (U8500_PER6_BASE + 0x8000) 73#define UX500_SDI4_BASE UX500(SDI4)
74#define U8500_CRYPTO0_BASE (U8500_PER6_BASE + 0xa000) 74
75#define U8500_CRYPTO1_BASE (U8500_PER6_BASE + 0xb000) 75#define UX500_SPI0_BASE UX500(SPI0)
76#define U8500_CLKRST6_BASE (U8500_PER6_BASE + 0xf000) 76#define UX500_SPI1_BASE UX500(SPI1)
77 77#define UX500_SPI2_BASE UX500(SPI2)
78/* per5 base addressess */ 78#define UX500_SPI3_BASE UX500(SPI3)
79#define U8500_USBOTG_BASE (U8500_PER5_BASE + 0x00000) 79
80#define U8500_GPIO5_BASE (U8500_PER5_BASE + 0x1e000) 80#define UX500_SIA_BASE UX500(SIA)
81#define U8500_CLKRST5_BASE (U8500_PER5_BASE + 0x1f000) 81#define UX500_SVA_BASE UX500(SVA)
82 82
83/* per4 base addressess */ 83#define UX500_TWD_BASE UX500(TWD)
84#define U8500_BACKUPRAM0_BASE (U8500_PER4_BASE + 0x0000) 84
85#define U8500_BACKUPRAM1_BASE (U8500_PER4_BASE + 0x1000) 85#define UX500_UART0_BASE UX500(UART0)
86#define U8500_RTT0_BASE (U8500_PER4_BASE + 0x2000) 86#define UX500_UART1_BASE UX500(UART1)
87#define U8500_RTT1_BASE (U8500_PER4_BASE + 0x3000) 87#define UX500_UART2_BASE UX500(UART2)
88#define U8500_RTC_BASE (U8500_PER4_BASE + 0x4000) 88
89#define U8500_SCR_BASE (U8500_PER4_BASE + 0x5000) 89#define UX500_USBOTG_BASE UX500(USBOTG)
90#define U8500_DMC_BASE (U8500_PER4_BASE + 0x6000)
91#define U8500_PRCMU_BASE (U8500_PER4_BASE + 0x7000)
92
93/* per3 base addressess */
94#define U8500_FSMC_BASE (U8500_PER3_BASE + 0x0000)
95#define U8500_SSP0_BASE (U8500_PER3_BASE + 0x2000)
96#define U8500_SSP1_BASE (U8500_PER3_BASE + 0x3000)
97#define U8500_I2C0_BASE (U8500_PER3_BASE + 0x4000)
98#define U8500_SDI2_BASE (U8500_PER3_BASE + 0x5000)
99#define U8500_SKE_BASE (U8500_PER3_BASE + 0x6000)
100#define U8500_UART2_BASE (U8500_PER3_BASE + 0x7000)
101#define U8500_SDI5_BASE (U8500_PER3_BASE + 0x8000)
102#define U8500_GPIO3_BASE (U8500_PER3_BASE + 0xe000)
103#define U8500_CLKRST3_BASE (U8500_PER3_BASE + 0xf000)
104
105/* per2 base addressess */
106#define U8500_I2C3_BASE (U8500_PER2_BASE + 0x0000)
107#define U8500_SPI2_BASE (U8500_PER2_BASE + 0x1000)
108#define U8500_SPI1_BASE (U8500_PER2_BASE + 0x2000)
109#define U8500_PWL_BASE (U8500_PER2_BASE + 0x3000)
110#define U8500_SDI4_BASE (U8500_PER2_BASE + 0x4000)
111#define U8500_MSP2_BASE (U8500_PER2_BASE + 0x7000)
112#define U8500_SDI1_BASE (U8500_PER2_BASE + 0x8000)
113#define U8500_SDI3_BASE (U8500_PER2_BASE + 0x9000)
114#define U8500_SPI0_BASE (U8500_PER2_BASE + 0xa000)
115#define U8500_HSIR_BASE (U8500_PER2_BASE + 0xb000)
116#define U8500_HSIT_BASE (U8500_PER2_BASE + 0xc000)
117#define U8500_GPIO2_BASE (U8500_PER2_BASE + 0xe000)
118#define U8500_CLKRST2_BASE (U8500_PER2_BASE + 0xf000)
119
120/* per1 base addresses */
121#define U8500_UART0_BASE (U8500_PER1_BASE + 0x0000)
122#define U8500_UART1_BASE (U8500_PER1_BASE + 0x1000)
123#define U8500_I2C1_BASE (U8500_PER1_BASE + 0x2000)
124#define U8500_MSP0_BASE (U8500_PER1_BASE + 0x3000)
125#define U8500_MSP1_BASE (U8500_PER1_BASE + 0x4000)
126#define U8500_SDI0_BASE (U8500_PER1_BASE + 0x6000)
127#define U8500_I2C2_BASE (U8500_PER1_BASE + 0x8000)
128#define U8500_SPI3_BASE (U8500_PER1_BASE + 0x9000)
129#define U8500_SLIM0_BASE (U8500_PER1_BASE + 0xa000)
130#define U8500_GPIO1_BASE (U8500_PER1_BASE + 0xe000)
131#define U8500_CLKRST1_BASE (U8500_PER1_BASE + 0xf000)
132
133#define U8500_GPIOBANK0_BASE U8500_GPIO1_BASE
134#define U8500_GPIOBANK1_BASE (U8500_GPIO1_BASE + 0x80)
135#define U8500_GPIOBANK2_BASE U8500_GPIO3_BASE
136#define U8500_GPIOBANK3_BASE (U8500_GPIO3_BASE + 0x80)
137#define U8500_GPIOBANK4_BASE (U8500_GPIO3_BASE + 0x100)
138#define U8500_GPIOBANK5_BASE (U8500_GPIO3_BASE + 0x180)
139#define U8500_GPIOBANK6_BASE U8500_GPIO2_BASE
140#define U8500_GPIOBANK7_BASE (U8500_GPIO2_BASE + 0x80)
141#define U8500_GPIOBANK8_BASE U8500_GPIO5_BASE
142 90
143/* ST-Ericsson modified pl022 id */ 91/* ST-Ericsson modified pl022 id */
144#define SSP_PER_ID 0x01080022 92#define SSP_PER_ID 0x01080022