diff options
Diffstat (limited to 'arch/arm/mach-exynos/include/mach')
-rw-r--r-- | arch/arm/mach-exynos/include/mach/cpufreq.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/debug-macro.S | 9 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/entry-macro.S | 16 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/exynos4-clock.h | 43 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/gpio.h | 239 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/irqs.h | 595 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/map.h | 55 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/pmu.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-clock.h | 478 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-gpio.h | 20 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/regs-pmu.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/system.h | 20 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/uncompress.h | 17 |
13 files changed, 1003 insertions, 494 deletions
diff --git a/arch/arm/mach-exynos/include/mach/cpufreq.h b/arch/arm/mach-exynos/include/mach/cpufreq.h index 3df27f2d5034..7517c3f417af 100644 --- a/arch/arm/mach-exynos/include/mach/cpufreq.h +++ b/arch/arm/mach-exynos/include/mach/cpufreq.h | |||
@@ -32,3 +32,5 @@ struct exynos_dvfs_info { | |||
32 | }; | 32 | }; |
33 | 33 | ||
34 | extern int exynos4210_cpufreq_init(struct exynos_dvfs_info *); | 34 | extern int exynos4210_cpufreq_init(struct exynos_dvfs_info *); |
35 | extern int exynos4x12_cpufreq_init(struct exynos_dvfs_info *); | ||
36 | extern int exynos5250_cpufreq_init(struct exynos_dvfs_info *); | ||
diff --git a/arch/arm/mach-exynos/include/mach/debug-macro.S b/arch/arm/mach-exynos/include/mach/debug-macro.S index 6cacf16a67a6..6c857ff0b5d8 100644 --- a/arch/arm/mach-exynos/include/mach/debug-macro.S +++ b/arch/arm/mach-exynos/include/mach/debug-macro.S | |||
@@ -21,8 +21,13 @@ | |||
21 | */ | 21 | */ |
22 | 22 | ||
23 | .macro addruart, rp, rv, tmp | 23 | .macro addruart, rp, rv, tmp |
24 | ldr \rp, = S3C_PA_UART | 24 | mov \rp, #0x10000000 |
25 | ldr \rv, = S3C_VA_UART | 25 | ldr \rp, [\rp, #0x0] |
26 | and \rp, \rp, #0xf00000 | ||
27 | teq \rp, #0x500000 @@ EXYNOS5 | ||
28 | ldreq \rp, =EXYNOS5_PA_UART | ||
29 | movne \rp, #EXYNOS4_PA_UART @@ EXYNOS4 | ||
30 | ldr \rv, =S3C_VA_UART | ||
26 | #if CONFIG_DEBUG_S3C_UART != 0 | 31 | #if CONFIG_DEBUG_S3C_UART != 0 |
27 | add \rp, \rp, #(0x10000 * CONFIG_DEBUG_S3C_UART) | 32 | add \rp, \rp, #(0x10000 * CONFIG_DEBUG_S3C_UART) |
28 | add \rv, \rv, #(0x10000 * CONFIG_DEBUG_S3C_UART) | 33 | add \rv, \rv, #(0x10000 * CONFIG_DEBUG_S3C_UART) |
diff --git a/arch/arm/mach-exynos/include/mach/entry-macro.S b/arch/arm/mach-exynos/include/mach/entry-macro.S deleted file mode 100644 index 3ba4f547534b..000000000000 --- a/arch/arm/mach-exynos/include/mach/entry-macro.S +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | /* arch/arm/mach-exynos4/include/mach/entry-macro.S | ||
2 | * | ||
3 | * Cloned from arch/arm/mach-realview/include/mach/entry-macro.S | ||
4 | * | ||
5 | * Low-level IRQ helper macros for EXYNOS4 platforms | ||
6 | * | ||
7 | * This file is licensed under the terms of the GNU General Public | ||
8 | * License version 2. This program is licensed "as is" without any | ||
9 | * warranty of any kind, whether express or implied. | ||
10 | */ | ||
11 | |||
12 | .macro disable_fiq | ||
13 | .endm | ||
14 | |||
15 | .macro arch_ret_to_user, tmp1, tmp2 | ||
16 | .endm | ||
diff --git a/arch/arm/mach-exynos/include/mach/exynos4-clock.h b/arch/arm/mach-exynos/include/mach/exynos4-clock.h deleted file mode 100644 index a07fcbf55251..000000000000 --- a/arch/arm/mach-exynos/include/mach/exynos4-clock.h +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-exynos4/include/mach/exynos4-clock.h | ||
3 | * | ||
4 | * Copyright (c) 2011 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Header file for exynos4 clock support | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_CLOCK_H | ||
15 | #define __ASM_ARCH_CLOCK_H __FILE__ | ||
16 | |||
17 | #include <linux/clk.h> | ||
18 | |||
19 | extern struct clk clk_sclk_hdmi27m; | ||
20 | extern struct clk clk_sclk_usbphy0; | ||
21 | extern struct clk clk_sclk_usbphy1; | ||
22 | extern struct clk clk_sclk_hdmiphy; | ||
23 | |||
24 | extern struct clksrc_clk clk_sclk_apll; | ||
25 | extern struct clksrc_clk clk_mout_mpll; | ||
26 | extern struct clksrc_clk clk_aclk_133; | ||
27 | extern struct clksrc_clk clk_mout_epll; | ||
28 | extern struct clksrc_clk clk_sclk_vpll; | ||
29 | |||
30 | extern struct clk *clkset_corebus_list[]; | ||
31 | extern struct clksrc_sources clkset_mout_corebus; | ||
32 | |||
33 | extern struct clk *clkset_aclk_top_list[]; | ||
34 | extern struct clksrc_sources clkset_aclk; | ||
35 | |||
36 | extern struct clk *clkset_group_list[]; | ||
37 | extern struct clksrc_sources clkset_group; | ||
38 | |||
39 | extern int exynos4_clksrc_mask_fsys_ctrl(struct clk *clk, int enable); | ||
40 | extern int exynos4_clk_ip_fsys_ctrl(struct clk *clk, int enable); | ||
41 | extern int exynos4_clk_ip_lcd1_ctrl(struct clk *clk, int enable); | ||
42 | |||
43 | #endif /* __ASM_ARCH_CLOCK_H */ | ||
diff --git a/arch/arm/mach-exynos/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h index 80523ca9bb49..d7498afe036a 100644 --- a/arch/arm/mach-exynos/include/mach/gpio.h +++ b/arch/arm/mach-exynos/include/mach/gpio.h | |||
@@ -1,9 +1,8 @@ | |||
1 | /* linux/arch/arm/mach-exynos4/include/mach/gpio.h | 1 | /* |
2 | * | 2 | * Copyright (c) 2010-2012 Samsung Electronics Co., Ltd. |
3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | 3 | * http://www.samsung.com |
5 | * | 4 | * |
6 | * EXYNOS4 - GPIO lib support | 5 | * EXYNOS - GPIO lib support |
7 | * | 6 | * |
8 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 8 | * it under the terms of the GNU General Public License version 2 as |
@@ -13,9 +12,13 @@ | |||
13 | #ifndef __ASM_ARCH_GPIO_H | 12 | #ifndef __ASM_ARCH_GPIO_H |
14 | #define __ASM_ARCH_GPIO_H __FILE__ | 13 | #define __ASM_ARCH_GPIO_H __FILE__ |
15 | 14 | ||
16 | /* Practically, GPIO banks up to GPZ are the configurable gpio banks */ | 15 | /* Macro for EXYNOS GPIO numbering */ |
16 | |||
17 | #define EXYNOS_GPIO_NEXT(__gpio) \ | ||
18 | ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1) | ||
19 | |||
20 | /* EXYNOS4 GPIO bank sizes */ | ||
17 | 21 | ||
18 | /* GPIO bank sizes */ | ||
19 | #define EXYNOS4_GPIO_A0_NR (8) | 22 | #define EXYNOS4_GPIO_A0_NR (8) |
20 | #define EXYNOS4_GPIO_A1_NR (6) | 23 | #define EXYNOS4_GPIO_A1_NR (6) |
21 | #define EXYNOS4_GPIO_B_NR (8) | 24 | #define EXYNOS4_GPIO_B_NR (8) |
@@ -54,52 +57,50 @@ | |||
54 | #define EXYNOS4_GPIO_Y6_NR (8) | 57 | #define EXYNOS4_GPIO_Y6_NR (8) |
55 | #define EXYNOS4_GPIO_Z_NR (7) | 58 | #define EXYNOS4_GPIO_Z_NR (7) |
56 | 59 | ||
57 | /* GPIO bank numbers */ | 60 | /* EXYNOS4 GPIO bank numbers */ |
58 | |||
59 | #define EXYNOS4_GPIO_NEXT(__gpio) \ | ||
60 | ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1) | ||
61 | 61 | ||
62 | enum s5p_gpio_number { | 62 | enum exynos4_gpio_number { |
63 | EXYNOS4_GPIO_A0_START = 0, | 63 | EXYNOS4_GPIO_A0_START = 0, |
64 | EXYNOS4_GPIO_A1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_A0), | 64 | EXYNOS4_GPIO_A1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_A0), |
65 | EXYNOS4_GPIO_B_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_A1), | 65 | EXYNOS4_GPIO_B_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_A1), |
66 | EXYNOS4_GPIO_C0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_B), | 66 | EXYNOS4_GPIO_C0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_B), |
67 | EXYNOS4_GPIO_C1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_C0), | 67 | EXYNOS4_GPIO_C1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_C0), |
68 | EXYNOS4_GPIO_D0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_C1), | 68 | EXYNOS4_GPIO_D0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_C1), |
69 | EXYNOS4_GPIO_D1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_D0), | 69 | EXYNOS4_GPIO_D1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_D0), |
70 | EXYNOS4_GPIO_E0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_D1), | 70 | EXYNOS4_GPIO_E0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_D1), |
71 | EXYNOS4_GPIO_E1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_E0), | 71 | EXYNOS4_GPIO_E1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_E0), |
72 | EXYNOS4_GPIO_E2_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_E1), | 72 | EXYNOS4_GPIO_E2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_E1), |
73 | EXYNOS4_GPIO_E3_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_E2), | 73 | EXYNOS4_GPIO_E3_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_E2), |
74 | EXYNOS4_GPIO_E4_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_E3), | 74 | EXYNOS4_GPIO_E4_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_E3), |
75 | EXYNOS4_GPIO_F0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_E4), | 75 | EXYNOS4_GPIO_F0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_E4), |
76 | EXYNOS4_GPIO_F1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_F0), | 76 | EXYNOS4_GPIO_F1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_F0), |
77 | EXYNOS4_GPIO_F2_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_F1), | 77 | EXYNOS4_GPIO_F2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_F1), |
78 | EXYNOS4_GPIO_F3_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_F2), | 78 | EXYNOS4_GPIO_F3_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_F2), |
79 | EXYNOS4_GPIO_J0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_F3), | 79 | EXYNOS4_GPIO_J0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_F3), |
80 | EXYNOS4_GPIO_J1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_J0), | 80 | EXYNOS4_GPIO_J1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_J0), |
81 | EXYNOS4_GPIO_K0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_J1), | 81 | EXYNOS4_GPIO_K0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_J1), |
82 | EXYNOS4_GPIO_K1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_K0), | 82 | EXYNOS4_GPIO_K1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_K0), |
83 | EXYNOS4_GPIO_K2_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_K1), | 83 | EXYNOS4_GPIO_K2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_K1), |
84 | EXYNOS4_GPIO_K3_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_K2), | 84 | EXYNOS4_GPIO_K3_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_K2), |
85 | EXYNOS4_GPIO_L0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_K3), | 85 | EXYNOS4_GPIO_L0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_K3), |
86 | EXYNOS4_GPIO_L1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_L0), | 86 | EXYNOS4_GPIO_L1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_L0), |
87 | EXYNOS4_GPIO_L2_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_L1), | 87 | EXYNOS4_GPIO_L2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_L1), |
88 | EXYNOS4_GPIO_X0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_L2), | 88 | EXYNOS4_GPIO_X0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_L2), |
89 | EXYNOS4_GPIO_X1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_X0), | 89 | EXYNOS4_GPIO_X1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_X0), |
90 | EXYNOS4_GPIO_X2_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_X1), | 90 | EXYNOS4_GPIO_X2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_X1), |
91 | EXYNOS4_GPIO_X3_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_X2), | 91 | EXYNOS4_GPIO_X3_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_X2), |
92 | EXYNOS4_GPIO_Y0_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_X3), | 92 | EXYNOS4_GPIO_Y0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_X3), |
93 | EXYNOS4_GPIO_Y1_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_Y0), | 93 | EXYNOS4_GPIO_Y1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_Y0), |
94 | EXYNOS4_GPIO_Y2_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_Y1), | 94 | EXYNOS4_GPIO_Y2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_Y1), |
95 | EXYNOS4_GPIO_Y3_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_Y2), | 95 | EXYNOS4_GPIO_Y3_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_Y2), |
96 | EXYNOS4_GPIO_Y4_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_Y3), | 96 | EXYNOS4_GPIO_Y4_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_Y3), |
97 | EXYNOS4_GPIO_Y5_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_Y4), | 97 | EXYNOS4_GPIO_Y5_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_Y4), |
98 | EXYNOS4_GPIO_Y6_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_Y5), | 98 | EXYNOS4_GPIO_Y6_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_Y5), |
99 | EXYNOS4_GPIO_Z_START = EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_Y6), | 99 | EXYNOS4_GPIO_Z_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_Y6), |
100 | }; | 100 | }; |
101 | 101 | ||
102 | /* EXYNOS4 GPIO number definitions */ | 102 | /* EXYNOS4 GPIO number definitions */ |
103 | |||
103 | #define EXYNOS4_GPA0(_nr) (EXYNOS4_GPIO_A0_START + (_nr)) | 104 | #define EXYNOS4_GPA0(_nr) (EXYNOS4_GPIO_A0_START + (_nr)) |
104 | #define EXYNOS4_GPA1(_nr) (EXYNOS4_GPIO_A1_START + (_nr)) | 105 | #define EXYNOS4_GPA1(_nr) (EXYNOS4_GPIO_A1_START + (_nr)) |
105 | #define EXYNOS4_GPB(_nr) (EXYNOS4_GPIO_B_START + (_nr)) | 106 | #define EXYNOS4_GPB(_nr) (EXYNOS4_GPIO_B_START + (_nr)) |
@@ -139,11 +140,147 @@ enum s5p_gpio_number { | |||
139 | #define EXYNOS4_GPZ(_nr) (EXYNOS4_GPIO_Z_START + (_nr)) | 140 | #define EXYNOS4_GPZ(_nr) (EXYNOS4_GPIO_Z_START + (_nr)) |
140 | 141 | ||
141 | /* the end of the EXYNOS4 specific gpios */ | 142 | /* the end of the EXYNOS4 specific gpios */ |
143 | |||
142 | #define EXYNOS4_GPIO_END (EXYNOS4_GPZ(EXYNOS4_GPIO_Z_NR) + 1) | 144 | #define EXYNOS4_GPIO_END (EXYNOS4_GPZ(EXYNOS4_GPIO_Z_NR) + 1) |
143 | #define S3C_GPIO_END EXYNOS4_GPIO_END | ||
144 | 145 | ||
145 | /* define the number of gpios we need to the one after the GPZ() range */ | 146 | /* EXYNOS5 GPIO bank sizes */ |
146 | #define ARCH_NR_GPIOS (EXYNOS4_GPZ(EXYNOS4_GPIO_Z_NR) + \ | 147 | |
147 | CONFIG_SAMSUNG_GPIO_EXTRA + 1) | 148 | #define EXYNOS5_GPIO_A0_NR (8) |
149 | #define EXYNOS5_GPIO_A1_NR (6) | ||
150 | #define EXYNOS5_GPIO_A2_NR (8) | ||
151 | #define EXYNOS5_GPIO_B0_NR (5) | ||
152 | #define EXYNOS5_GPIO_B1_NR (5) | ||
153 | #define EXYNOS5_GPIO_B2_NR (4) | ||
154 | #define EXYNOS5_GPIO_B3_NR (4) | ||
155 | #define EXYNOS5_GPIO_C0_NR (7) | ||
156 | #define EXYNOS5_GPIO_C1_NR (7) | ||
157 | #define EXYNOS5_GPIO_C2_NR (7) | ||
158 | #define EXYNOS5_GPIO_C3_NR (7) | ||
159 | #define EXYNOS5_GPIO_D0_NR (8) | ||
160 | #define EXYNOS5_GPIO_D1_NR (8) | ||
161 | #define EXYNOS5_GPIO_Y0_NR (6) | ||
162 | #define EXYNOS5_GPIO_Y1_NR (4) | ||
163 | #define EXYNOS5_GPIO_Y2_NR (6) | ||
164 | #define EXYNOS5_GPIO_Y3_NR (8) | ||
165 | #define EXYNOS5_GPIO_Y4_NR (8) | ||
166 | #define EXYNOS5_GPIO_Y5_NR (8) | ||
167 | #define EXYNOS5_GPIO_Y6_NR (8) | ||
168 | #define EXYNOS5_GPIO_X0_NR (8) | ||
169 | #define EXYNOS5_GPIO_X1_NR (8) | ||
170 | #define EXYNOS5_GPIO_X2_NR (8) | ||
171 | #define EXYNOS5_GPIO_X3_NR (8) | ||
172 | #define EXYNOS5_GPIO_E0_NR (8) | ||
173 | #define EXYNOS5_GPIO_E1_NR (2) | ||
174 | #define EXYNOS5_GPIO_F0_NR (4) | ||
175 | #define EXYNOS5_GPIO_F1_NR (4) | ||
176 | #define EXYNOS5_GPIO_G0_NR (8) | ||
177 | #define EXYNOS5_GPIO_G1_NR (8) | ||
178 | #define EXYNOS5_GPIO_G2_NR (2) | ||
179 | #define EXYNOS5_GPIO_H0_NR (4) | ||
180 | #define EXYNOS5_GPIO_H1_NR (8) | ||
181 | #define EXYNOS5_GPIO_V0_NR (8) | ||
182 | #define EXYNOS5_GPIO_V1_NR (8) | ||
183 | #define EXYNOS5_GPIO_V2_NR (8) | ||
184 | #define EXYNOS5_GPIO_V3_NR (8) | ||
185 | #define EXYNOS5_GPIO_V4_NR (2) | ||
186 | #define EXYNOS5_GPIO_Z_NR (7) | ||
187 | |||
188 | /* EXYNOS5 GPIO bank numbers */ | ||
189 | |||
190 | enum exynos5_gpio_number { | ||
191 | EXYNOS5_GPIO_A0_START = 0, | ||
192 | EXYNOS5_GPIO_A1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_A0), | ||
193 | EXYNOS5_GPIO_A2_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_A1), | ||
194 | EXYNOS5_GPIO_B0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_A2), | ||
195 | EXYNOS5_GPIO_B1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_B0), | ||
196 | EXYNOS5_GPIO_B2_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_B1), | ||
197 | EXYNOS5_GPIO_B3_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_B2), | ||
198 | EXYNOS5_GPIO_C0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_B3), | ||
199 | EXYNOS5_GPIO_C1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0), | ||
200 | EXYNOS5_GPIO_C2_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1), | ||
201 | EXYNOS5_GPIO_C3_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2), | ||
202 | EXYNOS5_GPIO_D0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3), | ||
203 | EXYNOS5_GPIO_D1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0), | ||
204 | EXYNOS5_GPIO_Y0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1), | ||
205 | EXYNOS5_GPIO_Y1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0), | ||
206 | EXYNOS5_GPIO_Y2_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y1), | ||
207 | EXYNOS5_GPIO_Y3_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y2), | ||
208 | EXYNOS5_GPIO_Y4_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y3), | ||
209 | EXYNOS5_GPIO_Y5_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y4), | ||
210 | EXYNOS5_GPIO_Y6_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y5), | ||
211 | EXYNOS5_GPIO_X0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y6), | ||
212 | EXYNOS5_GPIO_X1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_X0), | ||
213 | EXYNOS5_GPIO_X2_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_X1), | ||
214 | EXYNOS5_GPIO_X3_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_X2), | ||
215 | EXYNOS5_GPIO_E0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_X3), | ||
216 | EXYNOS5_GPIO_E1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_E0), | ||
217 | EXYNOS5_GPIO_F0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_E1), | ||
218 | EXYNOS5_GPIO_F1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_F0), | ||
219 | EXYNOS5_GPIO_G0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_F1), | ||
220 | EXYNOS5_GPIO_G1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_G0), | ||
221 | EXYNOS5_GPIO_G2_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_G1), | ||
222 | EXYNOS5_GPIO_H0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_G2), | ||
223 | EXYNOS5_GPIO_H1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_H0), | ||
224 | EXYNOS5_GPIO_V0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_H1), | ||
225 | EXYNOS5_GPIO_V1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_V0), | ||
226 | EXYNOS5_GPIO_V2_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_V1), | ||
227 | EXYNOS5_GPIO_V3_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_V2), | ||
228 | EXYNOS5_GPIO_V4_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_V3), | ||
229 | EXYNOS5_GPIO_Z_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_V4), | ||
230 | }; | ||
231 | |||
232 | /* EXYNOS5 GPIO number definitions */ | ||
233 | |||
234 | #define EXYNOS5_GPA0(_nr) (EXYNOS5_GPIO_A0_START + (_nr)) | ||
235 | #define EXYNOS5_GPA1(_nr) (EXYNOS5_GPIO_A1_START + (_nr)) | ||
236 | #define EXYNOS5_GPA2(_nr) (EXYNOS5_GPIO_A2_START + (_nr)) | ||
237 | #define EXYNOS5_GPB0(_nr) (EXYNOS5_GPIO_B0_START + (_nr)) | ||
238 | #define EXYNOS5_GPB1(_nr) (EXYNOS5_GPIO_B1_START + (_nr)) | ||
239 | #define EXYNOS5_GPB2(_nr) (EXYNOS5_GPIO_B2_START + (_nr)) | ||
240 | #define EXYNOS5_GPB3(_nr) (EXYNOS5_GPIO_B3_START + (_nr)) | ||
241 | #define EXYNOS5_GPC0(_nr) (EXYNOS5_GPIO_C0_START + (_nr)) | ||
242 | #define EXYNOS5_GPC1(_nr) (EXYNOS5_GPIO_C1_START + (_nr)) | ||
243 | #define EXYNOS5_GPC2(_nr) (EXYNOS5_GPIO_C2_START + (_nr)) | ||
244 | #define EXYNOS5_GPC3(_nr) (EXYNOS5_GPIO_C3_START + (_nr)) | ||
245 | #define EXYNOS5_GPD0(_nr) (EXYNOS5_GPIO_D0_START + (_nr)) | ||
246 | #define EXYNOS5_GPD1(_nr) (EXYNOS5_GPIO_D1_START + (_nr)) | ||
247 | #define EXYNOS5_GPY0(_nr) (EXYNOS5_GPIO_Y0_START + (_nr)) | ||
248 | #define EXYNOS5_GPY1(_nr) (EXYNOS5_GPIO_Y1_START + (_nr)) | ||
249 | #define EXYNOS5_GPY2(_nr) (EXYNOS5_GPIO_Y2_START + (_nr)) | ||
250 | #define EXYNOS5_GPY3(_nr) (EXYNOS5_GPIO_Y3_START + (_nr)) | ||
251 | #define EXYNOS5_GPY4(_nr) (EXYNOS5_GPIO_Y4_START + (_nr)) | ||
252 | #define EXYNOS5_GPY5(_nr) (EXYNOS5_GPIO_Y5_START + (_nr)) | ||
253 | #define EXYNOS5_GPY6(_nr) (EXYNOS5_GPIO_Y6_START + (_nr)) | ||
254 | #define EXYNOS5_GPX0(_nr) (EXYNOS5_GPIO_X0_START + (_nr)) | ||
255 | #define EXYNOS5_GPX1(_nr) (EXYNOS5_GPIO_X1_START + (_nr)) | ||
256 | #define EXYNOS5_GPX2(_nr) (EXYNOS5_GPIO_X2_START + (_nr)) | ||
257 | #define EXYNOS5_GPX3(_nr) (EXYNOS5_GPIO_X3_START + (_nr)) | ||
258 | #define EXYNOS5_GPE0(_nr) (EXYNOS5_GPIO_E0_START + (_nr)) | ||
259 | #define EXYNOS5_GPE1(_nr) (EXYNOS5_GPIO_E1_START + (_nr)) | ||
260 | #define EXYNOS5_GPF0(_nr) (EXYNOS5_GPIO_F0_START + (_nr)) | ||
261 | #define EXYNOS5_GPF1(_nr) (EXYNOS5_GPIO_F1_START + (_nr)) | ||
262 | #define EXYNOS5_GPG0(_nr) (EXYNOS5_GPIO_G0_START + (_nr)) | ||
263 | #define EXYNOS5_GPG1(_nr) (EXYNOS5_GPIO_G1_START + (_nr)) | ||
264 | #define EXYNOS5_GPG2(_nr) (EXYNOS5_GPIO_G2_START + (_nr)) | ||
265 | #define EXYNOS5_GPH0(_nr) (EXYNOS5_GPIO_H0_START + (_nr)) | ||
266 | #define EXYNOS5_GPH1(_nr) (EXYNOS5_GPIO_H1_START + (_nr)) | ||
267 | #define EXYNOS5_GPV0(_nr) (EXYNOS5_GPIO_V0_START + (_nr)) | ||
268 | #define EXYNOS5_GPV1(_nr) (EXYNOS5_GPIO_V1_START + (_nr)) | ||
269 | #define EXYNOS5_GPV2(_nr) (EXYNOS5_GPIO_V2_START + (_nr)) | ||
270 | #define EXYNOS5_GPV3(_nr) (EXYNOS5_GPIO_V3_START + (_nr)) | ||
271 | #define EXYNOS5_GPV4(_nr) (EXYNOS5_GPIO_V4_START + (_nr)) | ||
272 | #define EXYNOS5_GPZ(_nr) (EXYNOS5_GPIO_Z_START + (_nr)) | ||
273 | |||
274 | /* the end of the EXYNOS5 specific gpios */ | ||
275 | |||
276 | #define EXYNOS5_GPIO_END (EXYNOS5_GPZ(EXYNOS5_GPIO_Z_NR) + 1) | ||
277 | |||
278 | /* actually, EXYNOS5_GPIO_END is bigger than EXYNOS4 */ | ||
279 | |||
280 | #define S3C_GPIO_END (EXYNOS5_GPIO_END) | ||
281 | |||
282 | /* define the number of gpios */ | ||
283 | |||
284 | #define ARCH_NR_GPIOS (CONFIG_SAMSUNG_GPIO_EXTRA + S3C_GPIO_END) | ||
148 | 285 | ||
149 | #endif /* __ASM_ARCH_GPIO_H */ | 286 | #endif /* __ASM_ARCH_GPIO_H */ |
diff --git a/arch/arm/mach-exynos/include/mach/irqs.h b/arch/arm/mach-exynos/include/mach/irqs.h index f77bce04789a..9bee8535d9e0 100644 --- a/arch/arm/mach-exynos/include/mach/irqs.h +++ b/arch/arm/mach-exynos/include/mach/irqs.h | |||
@@ -1,9 +1,8 @@ | |||
1 | /* linux/arch/arm/mach-exynos4/include/mach/irqs.h | 1 | /* |
2 | * | 2 | * Copyright (c) 2010-2012 Samsung Electronics Co., Ltd. |
3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | 3 | * http://www.samsung.com |
5 | * | 4 | * |
6 | * EXYNOS4 - IRQ definitions | 5 | * EXYNOS - IRQ definitions |
7 | * | 6 | * |
8 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 8 | * it under the terms of the GNU General Public License version 2 as |
@@ -17,158 +16,450 @@ | |||
17 | 16 | ||
18 | /* PPI: Private Peripheral Interrupt */ | 17 | /* PPI: Private Peripheral Interrupt */ |
19 | 18 | ||
20 | #define IRQ_PPI(x) (x+16) | 19 | #define IRQ_PPI(x) (x + 16) |
21 | |||
22 | #define IRQ_MCT_LOCALTIMER IRQ_PPI(12) | ||
23 | 20 | ||
24 | /* SPI: Shared Peripheral Interrupt */ | 21 | /* SPI: Shared Peripheral Interrupt */ |
25 | 22 | ||
26 | #define IRQ_SPI(x) (x+32) | 23 | #define IRQ_SPI(x) (x + 32) |
27 | 24 | ||
28 | #define IRQ_EINT0 IRQ_SPI(16) | 25 | /* COMBINER */ |
29 | #define IRQ_EINT1 IRQ_SPI(17) | 26 | |
30 | #define IRQ_EINT2 IRQ_SPI(18) | 27 | #define MAX_IRQ_IN_COMBINER 8 |
31 | #define IRQ_EINT3 IRQ_SPI(19) | 28 | #define COMBINER_GROUP(x) ((x) * MAX_IRQ_IN_COMBINER + IRQ_SPI(128)) |
32 | #define IRQ_EINT4 IRQ_SPI(20) | 29 | #define COMBINER_IRQ(x, y) (COMBINER_GROUP(x) + y) |
33 | #define IRQ_EINT5 IRQ_SPI(21) | 30 | |
34 | #define IRQ_EINT6 IRQ_SPI(22) | 31 | /* For EXYNOS4 and EXYNOS5 */ |
35 | #define IRQ_EINT7 IRQ_SPI(23) | 32 | |
36 | #define IRQ_EINT8 IRQ_SPI(24) | 33 | #define EXYNOS_IRQ_MCT_LOCALTIMER IRQ_PPI(12) |
37 | #define IRQ_EINT9 IRQ_SPI(25) | 34 | |
38 | #define IRQ_EINT10 IRQ_SPI(26) | 35 | #define EXYNOS_IRQ_EINT16_31 IRQ_SPI(32) |
39 | #define IRQ_EINT11 IRQ_SPI(27) | 36 | |
40 | #define IRQ_EINT12 IRQ_SPI(28) | 37 | /* For EXYNOS4 SoCs */ |
41 | #define IRQ_EINT13 IRQ_SPI(29) | 38 | |
42 | #define IRQ_EINT14 IRQ_SPI(30) | 39 | #define EXYNOS4_IRQ_EINT0 IRQ_SPI(16) |
43 | #define IRQ_EINT15 IRQ_SPI(31) | 40 | #define EXYNOS4_IRQ_EINT1 IRQ_SPI(17) |
44 | #define IRQ_EINT16_31 IRQ_SPI(32) | 41 | #define EXYNOS4_IRQ_EINT2 IRQ_SPI(18) |
45 | 42 | #define EXYNOS4_IRQ_EINT3 IRQ_SPI(19) | |
46 | #define IRQ_PDMA0 IRQ_SPI(35) | 43 | #define EXYNOS4_IRQ_EINT4 IRQ_SPI(20) |
47 | #define IRQ_PDMA1 IRQ_SPI(36) | 44 | #define EXYNOS4_IRQ_EINT5 IRQ_SPI(21) |
48 | #define IRQ_TIMER0_VIC IRQ_SPI(37) | 45 | #define EXYNOS4_IRQ_EINT6 IRQ_SPI(22) |
49 | #define IRQ_TIMER1_VIC IRQ_SPI(38) | 46 | #define EXYNOS4_IRQ_EINT7 IRQ_SPI(23) |
50 | #define IRQ_TIMER2_VIC IRQ_SPI(39) | 47 | #define EXYNOS4_IRQ_EINT8 IRQ_SPI(24) |
51 | #define IRQ_TIMER3_VIC IRQ_SPI(40) | 48 | #define EXYNOS4_IRQ_EINT9 IRQ_SPI(25) |
52 | #define IRQ_TIMER4_VIC IRQ_SPI(41) | 49 | #define EXYNOS4_IRQ_EINT10 IRQ_SPI(26) |
53 | #define IRQ_MCT_L0 IRQ_SPI(42) | 50 | #define EXYNOS4_IRQ_EINT11 IRQ_SPI(27) |
54 | #define IRQ_WDT IRQ_SPI(43) | 51 | #define EXYNOS4_IRQ_EINT12 IRQ_SPI(28) |
55 | #define IRQ_RTC_ALARM IRQ_SPI(44) | 52 | #define EXYNOS4_IRQ_EINT13 IRQ_SPI(29) |
56 | #define IRQ_RTC_TIC IRQ_SPI(45) | 53 | #define EXYNOS4_IRQ_EINT14 IRQ_SPI(30) |
57 | #define IRQ_GPIO_XB IRQ_SPI(46) | 54 | #define EXYNOS4_IRQ_EINT15 IRQ_SPI(31) |
58 | #define IRQ_GPIO_XA IRQ_SPI(47) | 55 | |
59 | #define IRQ_MCT_L1 IRQ_SPI(48) | 56 | #define EXYNOS4_IRQ_MDMA0 IRQ_SPI(33) |
60 | 57 | #define EXYNOS4_IRQ_MDMA1 IRQ_SPI(34) | |
61 | #define IRQ_UART0 IRQ_SPI(52) | 58 | #define EXYNOS4_IRQ_PDMA0 IRQ_SPI(35) |
62 | #define IRQ_UART1 IRQ_SPI(53) | 59 | #define EXYNOS4_IRQ_PDMA1 IRQ_SPI(36) |
63 | #define IRQ_UART2 IRQ_SPI(54) | 60 | #define EXYNOS4_IRQ_TIMER0_VIC IRQ_SPI(37) |
64 | #define IRQ_UART3 IRQ_SPI(55) | 61 | #define EXYNOS4_IRQ_TIMER1_VIC IRQ_SPI(38) |
65 | #define IRQ_UART4 IRQ_SPI(56) | 62 | #define EXYNOS4_IRQ_TIMER2_VIC IRQ_SPI(39) |
66 | #define IRQ_MCT_G0 IRQ_SPI(57) | 63 | #define EXYNOS4_IRQ_TIMER3_VIC IRQ_SPI(40) |
67 | #define IRQ_IIC IRQ_SPI(58) | 64 | #define EXYNOS4_IRQ_TIMER4_VIC IRQ_SPI(41) |
68 | #define IRQ_IIC1 IRQ_SPI(59) | 65 | #define EXYNOS4_IRQ_MCT_L0 IRQ_SPI(42) |
69 | #define IRQ_IIC2 IRQ_SPI(60) | 66 | #define EXYNOS4_IRQ_WDT IRQ_SPI(43) |
70 | #define IRQ_IIC3 IRQ_SPI(61) | 67 | #define EXYNOS4_IRQ_RTC_ALARM IRQ_SPI(44) |
71 | #define IRQ_IIC4 IRQ_SPI(62) | 68 | #define EXYNOS4_IRQ_RTC_TIC IRQ_SPI(45) |
72 | #define IRQ_IIC5 IRQ_SPI(63) | 69 | #define EXYNOS4_IRQ_GPIO_XB IRQ_SPI(46) |
73 | #define IRQ_IIC6 IRQ_SPI(64) | 70 | #define EXYNOS4_IRQ_GPIO_XA IRQ_SPI(47) |
74 | #define IRQ_IIC7 IRQ_SPI(65) | 71 | #define EXYNOS4_IRQ_MCT_L1 IRQ_SPI(48) |
75 | #define IRQ_SPI0 IRQ_SPI(66) | 72 | |
76 | #define IRQ_SPI1 IRQ_SPI(67) | 73 | #define EXYNOS4_IRQ_UART0 IRQ_SPI(52) |
77 | #define IRQ_SPI2 IRQ_SPI(68) | 74 | #define EXYNOS4_IRQ_UART1 IRQ_SPI(53) |
78 | 75 | #define EXYNOS4_IRQ_UART2 IRQ_SPI(54) | |
79 | #define IRQ_USB_HOST IRQ_SPI(70) | 76 | #define EXYNOS4_IRQ_UART3 IRQ_SPI(55) |
80 | #define IRQ_USB_HSOTG IRQ_SPI(71) | 77 | #define EXYNOS4_IRQ_UART4 IRQ_SPI(56) |
81 | #define IRQ_MODEM_IF IRQ_SPI(72) | 78 | #define EXYNOS4_IRQ_MCT_G0 IRQ_SPI(57) |
82 | #define IRQ_HSMMC0 IRQ_SPI(73) | 79 | #define EXYNOS4_IRQ_IIC IRQ_SPI(58) |
83 | #define IRQ_HSMMC1 IRQ_SPI(74) | 80 | #define EXYNOS4_IRQ_IIC1 IRQ_SPI(59) |
84 | #define IRQ_HSMMC2 IRQ_SPI(75) | 81 | #define EXYNOS4_IRQ_IIC2 IRQ_SPI(60) |
85 | #define IRQ_HSMMC3 IRQ_SPI(76) | 82 | #define EXYNOS4_IRQ_IIC3 IRQ_SPI(61) |
86 | #define IRQ_DWMCI IRQ_SPI(77) | 83 | #define EXYNOS4_IRQ_IIC4 IRQ_SPI(62) |
87 | 84 | #define EXYNOS4_IRQ_IIC5 IRQ_SPI(63) | |
88 | #define IRQ_MIPI_CSIS0 IRQ_SPI(78) | 85 | #define EXYNOS4_IRQ_IIC6 IRQ_SPI(64) |
89 | #define IRQ_MIPI_CSIS1 IRQ_SPI(80) | 86 | #define EXYNOS4_IRQ_IIC7 IRQ_SPI(65) |
90 | 87 | #define EXYNOS4_IRQ_SPI0 IRQ_SPI(66) | |
91 | #define IRQ_ONENAND_AUDI IRQ_SPI(82) | 88 | #define EXYNOS4_IRQ_SPI1 IRQ_SPI(67) |
92 | #define IRQ_ROTATOR IRQ_SPI(83) | 89 | #define EXYNOS4_IRQ_SPI2 IRQ_SPI(68) |
93 | #define IRQ_FIMC0 IRQ_SPI(84) | 90 | |
94 | #define IRQ_FIMC1 IRQ_SPI(85) | 91 | #define EXYNOS4_IRQ_USB_HOST IRQ_SPI(70) |
95 | #define IRQ_FIMC2 IRQ_SPI(86) | 92 | #define EXYNOS4_IRQ_USB_HSOTG IRQ_SPI(71) |
96 | #define IRQ_FIMC3 IRQ_SPI(87) | 93 | #define EXYNOS4_IRQ_MODEM_IF IRQ_SPI(72) |
97 | #define IRQ_JPEG IRQ_SPI(88) | 94 | #define EXYNOS4_IRQ_HSMMC0 IRQ_SPI(73) |
98 | #define IRQ_2D IRQ_SPI(89) | 95 | #define EXYNOS4_IRQ_HSMMC1 IRQ_SPI(74) |
99 | #define IRQ_PCIE IRQ_SPI(90) | 96 | #define EXYNOS4_IRQ_HSMMC2 IRQ_SPI(75) |
100 | 97 | #define EXYNOS4_IRQ_HSMMC3 IRQ_SPI(76) | |
101 | #define IRQ_MIXER IRQ_SPI(91) | 98 | #define EXYNOS4_IRQ_DWMCI IRQ_SPI(77) |
102 | #define IRQ_HDMI IRQ_SPI(92) | 99 | |
103 | #define IRQ_IIC_HDMIPHY IRQ_SPI(93) | 100 | #define EXYNOS4_IRQ_MIPI_CSIS0 IRQ_SPI(78) |
104 | #define IRQ_MFC IRQ_SPI(94) | 101 | #define EXYNOS4_IRQ_MIPI_CSIS1 IRQ_SPI(80) |
105 | #define IRQ_SDO IRQ_SPI(95) | 102 | |
106 | 103 | #define EXYNOS4_IRQ_ONENAND_AUDI IRQ_SPI(82) | |
107 | #define IRQ_AUDIO_SS IRQ_SPI(96) | 104 | #define EXYNOS4_IRQ_ROTATOR IRQ_SPI(83) |
108 | #define IRQ_I2S0 IRQ_SPI(97) | 105 | #define EXYNOS4_IRQ_FIMC0 IRQ_SPI(84) |
109 | #define IRQ_I2S1 IRQ_SPI(98) | 106 | #define EXYNOS4_IRQ_FIMC1 IRQ_SPI(85) |
110 | #define IRQ_I2S2 IRQ_SPI(99) | 107 | #define EXYNOS4_IRQ_FIMC2 IRQ_SPI(86) |
111 | #define IRQ_AC97 IRQ_SPI(100) | 108 | #define EXYNOS4_IRQ_FIMC3 IRQ_SPI(87) |
112 | 109 | #define EXYNOS4_IRQ_JPEG IRQ_SPI(88) | |
113 | #define IRQ_SPDIF IRQ_SPI(104) | 110 | #define EXYNOS4_IRQ_2D IRQ_SPI(89) |
114 | #define IRQ_ADC0 IRQ_SPI(105) | 111 | #define EXYNOS4_IRQ_PCIE IRQ_SPI(90) |
115 | #define IRQ_PEN0 IRQ_SPI(106) | 112 | |
116 | #define IRQ_ADC1 IRQ_SPI(107) | 113 | #define EXYNOS4_IRQ_MIXER IRQ_SPI(91) |
117 | #define IRQ_PEN1 IRQ_SPI(108) | 114 | #define EXYNOS4_IRQ_HDMI IRQ_SPI(92) |
118 | #define IRQ_KEYPAD IRQ_SPI(109) | 115 | #define EXYNOS4_IRQ_IIC_HDMIPHY IRQ_SPI(93) |
119 | #define IRQ_PMU IRQ_SPI(110) | 116 | #define EXYNOS4_IRQ_MFC IRQ_SPI(94) |
120 | #define IRQ_GPS IRQ_SPI(111) | 117 | #define EXYNOS4_IRQ_SDO IRQ_SPI(95) |
121 | #define IRQ_INTFEEDCTRL_SSS IRQ_SPI(112) | 118 | |
122 | #define IRQ_SLIMBUS IRQ_SPI(113) | 119 | #define EXYNOS4_IRQ_AUDIO_SS IRQ_SPI(96) |
123 | 120 | #define EXYNOS4_IRQ_I2S0 IRQ_SPI(97) | |
124 | #define IRQ_TSI IRQ_SPI(115) | 121 | #define EXYNOS4_IRQ_I2S1 IRQ_SPI(98) |
125 | #define IRQ_SATA IRQ_SPI(116) | 122 | #define EXYNOS4_IRQ_I2S2 IRQ_SPI(99) |
126 | 123 | #define EXYNOS4_IRQ_AC97 IRQ_SPI(100) | |
127 | #define MAX_IRQ_IN_COMBINER 8 | 124 | |
128 | #define COMBINER_GROUP(x) ((x) * MAX_IRQ_IN_COMBINER + IRQ_SPI(128)) | 125 | #define EXYNOS4_IRQ_SPDIF IRQ_SPI(104) |
129 | #define COMBINER_IRQ(x, y) (COMBINER_GROUP(x) + y) | 126 | #define EXYNOS4_IRQ_ADC0 IRQ_SPI(105) |
130 | 127 | #define EXYNOS4_IRQ_PEN0 IRQ_SPI(106) | |
131 | #define IRQ_SYSMMU_MDMA0_0 COMBINER_IRQ(4, 0) | 128 | #define EXYNOS4_IRQ_ADC1 IRQ_SPI(107) |
132 | #define IRQ_SYSMMU_SSS_0 COMBINER_IRQ(4, 1) | 129 | #define EXYNOS4_IRQ_PEN1 IRQ_SPI(108) |
133 | #define IRQ_SYSMMU_FIMC0_0 COMBINER_IRQ(4, 2) | 130 | #define EXYNOS4_IRQ_KEYPAD IRQ_SPI(109) |
134 | #define IRQ_SYSMMU_FIMC1_0 COMBINER_IRQ(4, 3) | 131 | #define EXYNOS4_IRQ_PMU IRQ_SPI(110) |
135 | #define IRQ_SYSMMU_FIMC2_0 COMBINER_IRQ(4, 4) | 132 | #define EXYNOS4_IRQ_GPS IRQ_SPI(111) |
136 | #define IRQ_SYSMMU_FIMC3_0 COMBINER_IRQ(4, 5) | 133 | #define EXYNOS4_IRQ_INTFEEDCTRL_SSS IRQ_SPI(112) |
137 | #define IRQ_SYSMMU_JPEG_0 COMBINER_IRQ(4, 6) | 134 | #define EXYNOS4_IRQ_SLIMBUS IRQ_SPI(113) |
138 | #define IRQ_SYSMMU_2D_0 COMBINER_IRQ(4, 7) | 135 | |
139 | 136 | #define EXYNOS4_IRQ_TSI IRQ_SPI(115) | |
140 | #define IRQ_SYSMMU_ROTATOR_0 COMBINER_IRQ(5, 0) | 137 | #define EXYNOS4_IRQ_SATA IRQ_SPI(116) |
141 | #define IRQ_SYSMMU_MDMA1_0 COMBINER_IRQ(5, 1) | 138 | |
142 | #define IRQ_SYSMMU_LCD0_M0_0 COMBINER_IRQ(5, 2) | 139 | #define EXYNOS4_IRQ_SYSMMU_MDMA0_0 COMBINER_IRQ(4, 0) |
143 | #define IRQ_SYSMMU_LCD1_M1_0 COMBINER_IRQ(5, 3) | 140 | #define EXYNOS4_IRQ_SYSMMU_SSS_0 COMBINER_IRQ(4, 1) |
144 | #define IRQ_SYSMMU_TV_M0_0 COMBINER_IRQ(5, 4) | 141 | #define EXYNOS4_IRQ_SYSMMU_FIMC0_0 COMBINER_IRQ(4, 2) |
145 | #define IRQ_SYSMMU_MFC_M0_0 COMBINER_IRQ(5, 5) | 142 | #define EXYNOS4_IRQ_SYSMMU_FIMC1_0 COMBINER_IRQ(4, 3) |
146 | #define IRQ_SYSMMU_MFC_M1_0 COMBINER_IRQ(5, 6) | 143 | #define EXYNOS4_IRQ_SYSMMU_FIMC2_0 COMBINER_IRQ(4, 4) |
147 | #define IRQ_SYSMMU_PCIE_0 COMBINER_IRQ(5, 7) | 144 | #define EXYNOS4_IRQ_SYSMMU_FIMC3_0 COMBINER_IRQ(4, 5) |
148 | 145 | #define EXYNOS4_IRQ_SYSMMU_JPEG_0 COMBINER_IRQ(4, 6) | |
149 | #define IRQ_FIMD0_FIFO COMBINER_IRQ(11, 0) | 146 | #define EXYNOS4_IRQ_SYSMMU_2D_0 COMBINER_IRQ(4, 7) |
150 | #define IRQ_FIMD0_VSYNC COMBINER_IRQ(11, 1) | 147 | |
151 | #define IRQ_FIMD0_SYSTEM COMBINER_IRQ(11, 2) | 148 | #define EXYNOS4_IRQ_SYSMMU_ROTATOR_0 COMBINER_IRQ(5, 0) |
152 | 149 | #define EXYNOS4_IRQ_SYSMMU_MDMA1_0 COMBINER_IRQ(5, 1) | |
153 | #define MAX_COMBINER_NR 16 | 150 | #define EXYNOS4_IRQ_SYSMMU_LCD0_M0_0 COMBINER_IRQ(5, 2) |
154 | 151 | #define EXYNOS4_IRQ_SYSMMU_LCD1_M1_0 COMBINER_IRQ(5, 3) | |
155 | #define IRQ_ADC IRQ_ADC0 | 152 | #define EXYNOS4_IRQ_SYSMMU_TV_M0_0 COMBINER_IRQ(5, 4) |
156 | #define IRQ_TC IRQ_PEN0 | 153 | #define EXYNOS4_IRQ_SYSMMU_MFC_M0_0 COMBINER_IRQ(5, 5) |
157 | 154 | #define EXYNOS4_IRQ_SYSMMU_MFC_M1_0 COMBINER_IRQ(5, 6) | |
158 | #define S5P_IRQ_EINT_BASE COMBINER_IRQ(MAX_COMBINER_NR, 0) | 155 | #define EXYNOS4_IRQ_SYSMMU_PCIE_0 COMBINER_IRQ(5, 7) |
159 | 156 | ||
160 | #define S5P_EINT_BASE1 (S5P_IRQ_EINT_BASE + 0) | 157 | #define EXYNOS4_IRQ_FIMD0_FIFO COMBINER_IRQ(11, 0) |
161 | #define S5P_EINT_BASE2 (S5P_IRQ_EINT_BASE + 16) | 158 | #define EXYNOS4_IRQ_FIMD0_VSYNC COMBINER_IRQ(11, 1) |
162 | 159 | #define EXYNOS4_IRQ_FIMD0_SYSTEM COMBINER_IRQ(11, 2) | |
163 | /* optional GPIO interrupts */ | 160 | |
164 | #define S5P_GPIOINT_BASE (S5P_IRQ_EINT_BASE + 32) | 161 | #define EXYNOS4_MAX_COMBINER_NR 16 |
165 | #define IRQ_GPIO1_NR_GROUPS 16 | 162 | |
166 | #define IRQ_GPIO2_NR_GROUPS 9 | 163 | #define EXYNOS4_IRQ_GPIO1_NR_GROUPS 16 |
167 | #define IRQ_GPIO_END (S5P_GPIOINT_BASE + S5P_GPIOINT_COUNT) | 164 | #define EXYNOS4_IRQ_GPIO2_NR_GROUPS 9 |
168 | 165 | ||
169 | #define IRQ_TIMER_BASE (IRQ_GPIO_END + 64) | 166 | /* |
167 | * For Compatibility: | ||
168 | * the default is for EXYNOS4, and | ||
169 | * for exynos5, should be re-mapped at function | ||
170 | */ | ||
171 | |||
172 | #define IRQ_TIMER0_VIC EXYNOS4_IRQ_TIMER0_VIC | ||
173 | #define IRQ_TIMER1_VIC EXYNOS4_IRQ_TIMER1_VIC | ||
174 | #define IRQ_TIMER2_VIC EXYNOS4_IRQ_TIMER2_VIC | ||
175 | #define IRQ_TIMER3_VIC EXYNOS4_IRQ_TIMER3_VIC | ||
176 | #define IRQ_TIMER4_VIC EXYNOS4_IRQ_TIMER4_VIC | ||
177 | |||
178 | #define IRQ_WDT EXYNOS4_IRQ_WDT | ||
179 | #define IRQ_RTC_ALARM EXYNOS4_IRQ_RTC_ALARM | ||
180 | #define IRQ_RTC_TIC EXYNOS4_IRQ_RTC_TIC | ||
181 | #define IRQ_GPIO_XB EXYNOS4_IRQ_GPIO_XB | ||
182 | #define IRQ_GPIO_XA EXYNOS4_IRQ_GPIO_XA | ||
183 | |||
184 | #define IRQ_IIC EXYNOS4_IRQ_IIC | ||
185 | #define IRQ_IIC1 EXYNOS4_IRQ_IIC1 | ||
186 | #define IRQ_IIC3 EXYNOS4_IRQ_IIC3 | ||
187 | #define IRQ_IIC5 EXYNOS4_IRQ_IIC5 | ||
188 | #define IRQ_IIC6 EXYNOS4_IRQ_IIC6 | ||
189 | #define IRQ_IIC7 EXYNOS4_IRQ_IIC7 | ||
190 | |||
191 | #define IRQ_USB_HOST EXYNOS4_IRQ_USB_HOST | ||
192 | |||
193 | #define IRQ_HSMMC0 EXYNOS4_IRQ_HSMMC0 | ||
194 | #define IRQ_HSMMC1 EXYNOS4_IRQ_HSMMC1 | ||
195 | #define IRQ_HSMMC2 EXYNOS4_IRQ_HSMMC2 | ||
196 | #define IRQ_HSMMC3 EXYNOS4_IRQ_HSMMC3 | ||
197 | |||
198 | #define IRQ_MIPI_CSIS0 EXYNOS4_IRQ_MIPI_CSIS0 | ||
199 | |||
200 | #define IRQ_ONENAND_AUDI EXYNOS4_IRQ_ONENAND_AUDI | ||
201 | |||
202 | #define IRQ_FIMC0 EXYNOS4_IRQ_FIMC0 | ||
203 | #define IRQ_FIMC1 EXYNOS4_IRQ_FIMC1 | ||
204 | #define IRQ_FIMC2 EXYNOS4_IRQ_FIMC2 | ||
205 | #define IRQ_FIMC3 EXYNOS4_IRQ_FIMC3 | ||
206 | #define IRQ_JPEG EXYNOS4_IRQ_JPEG | ||
207 | #define IRQ_2D EXYNOS4_IRQ_2D | ||
208 | |||
209 | #define IRQ_MIXER EXYNOS4_IRQ_MIXER | ||
210 | #define IRQ_HDMI EXYNOS4_IRQ_HDMI | ||
211 | #define IRQ_IIC_HDMIPHY EXYNOS4_IRQ_IIC_HDMIPHY | ||
212 | #define IRQ_MFC EXYNOS4_IRQ_MFC | ||
213 | #define IRQ_SDO EXYNOS4_IRQ_SDO | ||
214 | |||
215 | #define IRQ_ADC EXYNOS4_IRQ_ADC0 | ||
216 | #define IRQ_TC EXYNOS4_IRQ_PEN0 | ||
217 | |||
218 | #define IRQ_KEYPAD EXYNOS4_IRQ_KEYPAD | ||
219 | #define IRQ_PMU EXYNOS4_IRQ_PMU | ||
220 | |||
221 | #define IRQ_SYSMMU_MDMA0_0 EXYNOS4_IRQ_SYSMMU_MDMA0_0 | ||
222 | #define IRQ_SYSMMU_SSS_0 EXYNOS4_IRQ_SYSMMU_SSS_0 | ||
223 | #define IRQ_SYSMMU_FIMC0_0 EXYNOS4_IRQ_SYSMMU_FIMC0_0 | ||
224 | #define IRQ_SYSMMU_FIMC1_0 EXYNOS4_IRQ_SYSMMU_FIMC1_0 | ||
225 | #define IRQ_SYSMMU_FIMC2_0 EXYNOS4_IRQ_SYSMMU_FIMC2_0 | ||
226 | #define IRQ_SYSMMU_FIMC3_0 EXYNOS4_IRQ_SYSMMU_FIMC3_0 | ||
227 | #define IRQ_SYSMMU_JPEG_0 EXYNOS4_IRQ_SYSMMU_JPEG_0 | ||
228 | #define IRQ_SYSMMU_2D_0 EXYNOS4_IRQ_SYSMMU_2D_0 | ||
229 | |||
230 | #define IRQ_SYSMMU_ROTATOR_0 EXYNOS4_IRQ_SYSMMU_ROTATOR_0 | ||
231 | #define IRQ_SYSMMU_MDMA1_0 EXYNOS4_IRQ_SYSMMU_MDMA1_0 | ||
232 | #define IRQ_SYSMMU_LCD0_M0_0 EXYNOS4_IRQ_SYSMMU_LCD0_M0_0 | ||
233 | #define IRQ_SYSMMU_LCD1_M1_0 EXYNOS4_IRQ_SYSMMU_LCD1_M1_0 | ||
234 | #define IRQ_SYSMMU_TV_M0_0 EXYNOS4_IRQ_SYSMMU_TV_M0_0 | ||
235 | #define IRQ_SYSMMU_MFC_M0_0 EXYNOS4_IRQ_SYSMMU_MFC_M0_0 | ||
236 | #define IRQ_SYSMMU_MFC_M1_0 EXYNOS4_IRQ_SYSMMU_MFC_M1_0 | ||
237 | #define IRQ_SYSMMU_PCIE_0 EXYNOS4_IRQ_SYSMMU_PCIE_0 | ||
238 | |||
239 | #define IRQ_FIMD0_FIFO EXYNOS4_IRQ_FIMD0_FIFO | ||
240 | #define IRQ_FIMD0_VSYNC EXYNOS4_IRQ_FIMD0_VSYNC | ||
241 | #define IRQ_FIMD0_SYSTEM EXYNOS4_IRQ_FIMD0_SYSTEM | ||
242 | |||
243 | #define IRQ_GPIO1_NR_GROUPS EXYNOS4_IRQ_GPIO1_NR_GROUPS | ||
244 | #define IRQ_GPIO2_NR_GROUPS EXYNOS4_IRQ_GPIO2_NR_GROUPS | ||
245 | |||
246 | /* For EXYNOS5 SoCs */ | ||
247 | |||
248 | #define EXYNOS5_IRQ_MDMA0 IRQ_SPI(33) | ||
249 | #define EXYNOS5_IRQ_PDMA0 IRQ_SPI(34) | ||
250 | #define EXYNOS5_IRQ_PDMA1 IRQ_SPI(35) | ||
251 | #define EXYNOS5_IRQ_TIMER0_VIC IRQ_SPI(36) | ||
252 | #define EXYNOS5_IRQ_TIMER1_VIC IRQ_SPI(37) | ||
253 | #define EXYNOS5_IRQ_TIMER2_VIC IRQ_SPI(38) | ||
254 | #define EXYNOS5_IRQ_TIMER3_VIC IRQ_SPI(39) | ||
255 | #define EXYNOS5_IRQ_TIMER4_VIC IRQ_SPI(40) | ||
256 | #define EXYNOS5_IRQ_RTIC IRQ_SPI(41) | ||
257 | #define EXYNOS5_IRQ_WDT IRQ_SPI(42) | ||
258 | #define EXYNOS5_IRQ_RTC_ALARM IRQ_SPI(43) | ||
259 | #define EXYNOS5_IRQ_RTC_TIC IRQ_SPI(44) | ||
260 | #define EXYNOS5_IRQ_GPIO_XB IRQ_SPI(45) | ||
261 | #define EXYNOS5_IRQ_GPIO_XA IRQ_SPI(46) | ||
262 | #define EXYNOS5_IRQ_GPIO IRQ_SPI(47) | ||
263 | #define EXYNOS5_IRQ_IEM_IEC IRQ_SPI(48) | ||
264 | #define EXYNOS5_IRQ_IEM_APC IRQ_SPI(49) | ||
265 | #define EXYNOS5_IRQ_GPIO_C2C IRQ_SPI(50) | ||
266 | #define EXYNOS5_IRQ_UART0 IRQ_SPI(51) | ||
267 | #define EXYNOS5_IRQ_UART1 IRQ_SPI(52) | ||
268 | #define EXYNOS5_IRQ_UART2 IRQ_SPI(53) | ||
269 | #define EXYNOS5_IRQ_UART3 IRQ_SPI(54) | ||
270 | #define EXYNOS5_IRQ_UART4 IRQ_SPI(55) | ||
271 | #define EXYNOS5_IRQ_IIC IRQ_SPI(56) | ||
272 | #define EXYNOS5_IRQ_IIC1 IRQ_SPI(57) | ||
273 | #define EXYNOS5_IRQ_IIC2 IRQ_SPI(58) | ||
274 | #define EXYNOS5_IRQ_IIC3 IRQ_SPI(59) | ||
275 | #define EXYNOS5_IRQ_IIC4 IRQ_SPI(60) | ||
276 | #define EXYNOS5_IRQ_IIC5 IRQ_SPI(61) | ||
277 | #define EXYNOS5_IRQ_IIC6 IRQ_SPI(62) | ||
278 | #define EXYNOS5_IRQ_IIC7 IRQ_SPI(63) | ||
279 | #define EXYNOS5_IRQ_IIC_HDMIPHY IRQ_SPI(64) | ||
280 | #define EXYNOS5_IRQ_TMU IRQ_SPI(65) | ||
281 | #define EXYNOS5_IRQ_FIQ_0 IRQ_SPI(66) | ||
282 | #define EXYNOS5_IRQ_FIQ_1 IRQ_SPI(67) | ||
283 | #define EXYNOS5_IRQ_SPI0 IRQ_SPI(68) | ||
284 | #define EXYNOS5_IRQ_SPI1 IRQ_SPI(69) | ||
285 | #define EXYNOS5_IRQ_SPI2 IRQ_SPI(70) | ||
286 | #define EXYNOS5_IRQ_USB_HOST IRQ_SPI(71) | ||
287 | #define EXYNOS5_IRQ_USB3_DRD IRQ_SPI(72) | ||
288 | #define EXYNOS5_IRQ_MIPI_HSI IRQ_SPI(73) | ||
289 | #define EXYNOS5_IRQ_USB_HSOTG IRQ_SPI(74) | ||
290 | #define EXYNOS5_IRQ_HSMMC0 IRQ_SPI(75) | ||
291 | #define EXYNOS5_IRQ_HSMMC1 IRQ_SPI(76) | ||
292 | #define EXYNOS5_IRQ_HSMMC2 IRQ_SPI(77) | ||
293 | #define EXYNOS5_IRQ_HSMMC3 IRQ_SPI(78) | ||
294 | #define EXYNOS5_IRQ_MIPICSI0 IRQ_SPI(79) | ||
295 | #define EXYNOS5_IRQ_MIPICSI1 IRQ_SPI(80) | ||
296 | #define EXYNOS5_IRQ_EFNFCON_DMA_ABORT IRQ_SPI(81) | ||
297 | #define EXYNOS5_IRQ_MIPIDSI0 IRQ_SPI(82) | ||
298 | #define EXYNOS5_IRQ_ROTATOR IRQ_SPI(84) | ||
299 | #define EXYNOS5_IRQ_GSC0 IRQ_SPI(85) | ||
300 | #define EXYNOS5_IRQ_GSC1 IRQ_SPI(86) | ||
301 | #define EXYNOS5_IRQ_GSC2 IRQ_SPI(87) | ||
302 | #define EXYNOS5_IRQ_GSC3 IRQ_SPI(88) | ||
303 | #define EXYNOS5_IRQ_JPEG IRQ_SPI(89) | ||
304 | #define EXYNOS5_IRQ_EFNFCON_DMA IRQ_SPI(90) | ||
305 | #define EXYNOS5_IRQ_2D IRQ_SPI(91) | ||
306 | #define EXYNOS5_IRQ_SFMC0 IRQ_SPI(92) | ||
307 | #define EXYNOS5_IRQ_SFMC1 IRQ_SPI(93) | ||
308 | #define EXYNOS5_IRQ_MIXER IRQ_SPI(94) | ||
309 | #define EXYNOS5_IRQ_HDMI IRQ_SPI(95) | ||
310 | #define EXYNOS5_IRQ_MFC IRQ_SPI(96) | ||
311 | #define EXYNOS5_IRQ_AUDIO_SS IRQ_SPI(97) | ||
312 | #define EXYNOS5_IRQ_I2S0 IRQ_SPI(98) | ||
313 | #define EXYNOS5_IRQ_I2S1 IRQ_SPI(99) | ||
314 | #define EXYNOS5_IRQ_I2S2 IRQ_SPI(100) | ||
315 | #define EXYNOS5_IRQ_AC97 IRQ_SPI(101) | ||
316 | #define EXYNOS5_IRQ_PCM0 IRQ_SPI(102) | ||
317 | #define EXYNOS5_IRQ_PCM1 IRQ_SPI(103) | ||
318 | #define EXYNOS5_IRQ_PCM2 IRQ_SPI(104) | ||
319 | #define EXYNOS5_IRQ_SPDIF IRQ_SPI(105) | ||
320 | #define EXYNOS5_IRQ_ADC0 IRQ_SPI(106) | ||
321 | |||
322 | #define EXYNOS5_IRQ_SATA_PHY IRQ_SPI(108) | ||
323 | #define EXYNOS5_IRQ_SATA_PMEMREQ IRQ_SPI(109) | ||
324 | #define EXYNOS5_IRQ_CAM_C IRQ_SPI(110) | ||
325 | #define EXYNOS5_IRQ_EAGLE_PMU IRQ_SPI(111) | ||
326 | #define EXYNOS5_IRQ_INTFEEDCTRL_SSS IRQ_SPI(112) | ||
327 | #define EXYNOS5_IRQ_DP1_INTP1 IRQ_SPI(113) | ||
328 | #define EXYNOS5_IRQ_CEC IRQ_SPI(114) | ||
329 | #define EXYNOS5_IRQ_SATA IRQ_SPI(115) | ||
330 | #define EXYNOS5_IRQ_NFCON IRQ_SPI(116) | ||
331 | |||
332 | #define EXYNOS5_IRQ_MMC44 IRQ_SPI(123) | ||
333 | #define EXYNOS5_IRQ_MDMA1 IRQ_SPI(124) | ||
334 | #define EXYNOS5_IRQ_FIMC_LITE0 IRQ_SPI(125) | ||
335 | #define EXYNOS5_IRQ_FIMC_LITE1 IRQ_SPI(126) | ||
336 | #define EXYNOS5_IRQ_RP_TIMER IRQ_SPI(127) | ||
337 | |||
338 | #define EXYNOS5_IRQ_PMU COMBINER_IRQ(1, 2) | ||
339 | #define EXYNOS5_IRQ_PMU_CPU1 COMBINER_IRQ(1, 6) | ||
340 | |||
341 | #define EXYNOS5_IRQ_SYSMMU_GSC0_0 COMBINER_IRQ(2, 0) | ||
342 | #define EXYNOS5_IRQ_SYSMMU_GSC0_1 COMBINER_IRQ(2, 1) | ||
343 | #define EXYNOS5_IRQ_SYSMMU_GSC1_0 COMBINER_IRQ(2, 2) | ||
344 | #define EXYNOS5_IRQ_SYSMMU_GSC1_1 COMBINER_IRQ(2, 3) | ||
345 | #define EXYNOS5_IRQ_SYSMMU_GSC2_0 COMBINER_IRQ(2, 4) | ||
346 | #define EXYNOS5_IRQ_SYSMMU_GSC2_1 COMBINER_IRQ(2, 5) | ||
347 | #define EXYNOS5_IRQ_SYSMMU_GSC3_0 COMBINER_IRQ(2, 6) | ||
348 | #define EXYNOS5_IRQ_SYSMMU_GSC3_1 COMBINER_IRQ(2, 7) | ||
349 | |||
350 | #define EXYNOS5_IRQ_SYSMMU_FIMD1_0 COMBINER_IRQ(3, 2) | ||
351 | #define EXYNOS5_IRQ_SYSMMU_FIMD1_1 COMBINER_IRQ(3, 3) | ||
352 | #define EXYNOS5_IRQ_SYSMMU_LITE0_0 COMBINER_IRQ(3, 4) | ||
353 | #define EXYNOS5_IRQ_SYSMMU_LITE0_1 COMBINER_IRQ(3, 5) | ||
354 | #define EXYNOS5_IRQ_SYSMMU_SCALERPISP_0 COMBINER_IRQ(3, 6) | ||
355 | #define EXYNOS5_IRQ_SYSMMU_SCALERPISP_1 COMBINER_IRQ(3, 7) | ||
356 | |||
357 | #define EXYNOS5_IRQ_SYSMMU_ROTATOR_0 COMBINER_IRQ(4, 0) | ||
358 | #define EXYNOS5_IRQ_SYSMMU_ROTATOR_1 COMBINER_IRQ(4, 1) | ||
359 | #define EXYNOS5_IRQ_SYSMMU_JPEG_0 COMBINER_IRQ(4, 2) | ||
360 | #define EXYNOS5_IRQ_SYSMMU_JPEG_1 COMBINER_IRQ(4, 3) | ||
361 | |||
362 | #define EXYNOS5_IRQ_SYSMMU_FD_0 COMBINER_IRQ(5, 0) | ||
363 | #define EXYNOS5_IRQ_SYSMMU_FD_1 COMBINER_IRQ(5, 1) | ||
364 | #define EXYNOS5_IRQ_SYSMMU_SCALERCISP_0 COMBINER_IRQ(5, 2) | ||
365 | #define EXYNOS5_IRQ_SYSMMU_SCALERCISP_1 COMBINER_IRQ(5, 3) | ||
366 | #define EXYNOS5_IRQ_SYSMMU_MCUISP_0 COMBINER_IRQ(5, 4) | ||
367 | #define EXYNOS5_IRQ_SYSMMU_MCUISP_1 COMBINER_IRQ(5, 5) | ||
368 | #define EXYNOS5_IRQ_SYSMMU_3DNR_0 COMBINER_IRQ(5, 6) | ||
369 | #define EXYNOS5_IRQ_SYSMMU_3DNR_1 COMBINER_IRQ(5, 7) | ||
370 | |||
371 | #define EXYNOS5_IRQ_SYSMMU_ARM_0 COMBINER_IRQ(6, 0) | ||
372 | #define EXYNOS5_IRQ_SYSMMU_ARM_1 COMBINER_IRQ(6, 1) | ||
373 | #define EXYNOS5_IRQ_SYSMMU_MFC_L_0 COMBINER_IRQ(6, 2) | ||
374 | #define EXYNOS5_IRQ_SYSMMU_MFC_L_1 COMBINER_IRQ(6, 3) | ||
375 | #define EXYNOS5_IRQ_SYSMMU_RTIC_0 COMBINER_IRQ(6, 4) | ||
376 | #define EXYNOS5_IRQ_SYSMMU_RTIC_1 COMBINER_IRQ(6, 5) | ||
377 | #define EXYNOS5_IRQ_SYSMMU_SSS_0 COMBINER_IRQ(6, 6) | ||
378 | #define EXYNOS5_IRQ_SYSMMU_SSS_1 COMBINER_IRQ(6, 7) | ||
379 | |||
380 | #define EXYNOS5_IRQ_SYSMMU_MDMA0_0 COMBINER_IRQ(7, 0) | ||
381 | #define EXYNOS5_IRQ_SYSMMU_MDMA0_1 COMBINER_IRQ(7, 1) | ||
382 | #define EXYNOS5_IRQ_SYSMMU_MDMA1_0 COMBINER_IRQ(7, 2) | ||
383 | #define EXYNOS5_IRQ_SYSMMU_MDMA1_1 COMBINER_IRQ(7, 3) | ||
384 | #define EXYNOS5_IRQ_SYSMMU_TV_0 COMBINER_IRQ(7, 4) | ||
385 | #define EXYNOS5_IRQ_SYSMMU_TV_1 COMBINER_IRQ(7, 5) | ||
386 | #define EXYNOS5_IRQ_SYSMMU_GPSX_0 COMBINER_IRQ(7, 6) | ||
387 | #define EXYNOS5_IRQ_SYSMMU_GPSX_1 COMBINER_IRQ(7, 7) | ||
388 | |||
389 | #define EXYNOS5_IRQ_SYSMMU_MFC_R_0 COMBINER_IRQ(8, 5) | ||
390 | #define EXYNOS5_IRQ_SYSMMU_MFC_R_1 COMBINER_IRQ(8, 6) | ||
391 | |||
392 | #define EXYNOS5_IRQ_SYSMMU_DIS1_0 COMBINER_IRQ(9, 4) | ||
393 | #define EXYNOS5_IRQ_SYSMMU_DIS1_1 COMBINER_IRQ(9, 5) | ||
394 | |||
395 | #define EXYNOS5_IRQ_DP COMBINER_IRQ(10, 3) | ||
396 | #define EXYNOS5_IRQ_SYSMMU_DIS0_0 COMBINER_IRQ(10, 4) | ||
397 | #define EXYNOS5_IRQ_SYSMMU_DIS0_1 COMBINER_IRQ(10, 5) | ||
398 | #define EXYNOS5_IRQ_SYSMMU_ISP_0 COMBINER_IRQ(10, 6) | ||
399 | #define EXYNOS5_IRQ_SYSMMU_ISP_1 COMBINER_IRQ(10, 7) | ||
400 | |||
401 | #define EXYNOS5_IRQ_SYSMMU_ODC_0 COMBINER_IRQ(11, 0) | ||
402 | #define EXYNOS5_IRQ_SYSMMU_ODC_1 COMBINER_IRQ(11, 1) | ||
403 | #define EXYNOS5_IRQ_SYSMMU_DRC_0 COMBINER_IRQ(11, 6) | ||
404 | #define EXYNOS5_IRQ_SYSMMU_DRC_1 COMBINER_IRQ(11, 7) | ||
405 | |||
406 | #define EXYNOS5_IRQ_FIMD1_FIFO COMBINER_IRQ(18, 4) | ||
407 | #define EXYNOS5_IRQ_FIMD1_VSYNC COMBINER_IRQ(18, 5) | ||
408 | #define EXYNOS5_IRQ_FIMD1_SYSTEM COMBINER_IRQ(18, 6) | ||
409 | |||
410 | #define EXYNOS5_IRQ_EINT0 COMBINER_IRQ(23, 0) | ||
411 | #define EXYNOS5_IRQ_MCT_L0 COMBINER_IRQ(23, 1) | ||
412 | #define EXYNOS5_IRQ_MCT_L1 COMBINER_IRQ(23, 2) | ||
413 | #define EXYNOS5_IRQ_MCT_G0 COMBINER_IRQ(23, 3) | ||
414 | #define EXYNOS5_IRQ_MCT_G1 COMBINER_IRQ(23, 4) | ||
415 | #define EXYNOS5_IRQ_MCT_G2 COMBINER_IRQ(23, 5) | ||
416 | #define EXYNOS5_IRQ_MCT_G3 COMBINER_IRQ(23, 6) | ||
417 | |||
418 | #define EXYNOS5_IRQ_EINT1 COMBINER_IRQ(24, 0) | ||
419 | #define EXYNOS5_IRQ_SYSMMU_LITE1_0 COMBINER_IRQ(24, 1) | ||
420 | #define EXYNOS5_IRQ_SYSMMU_LITE1_1 COMBINER_IRQ(24, 2) | ||
421 | #define EXYNOS5_IRQ_SYSMMU_2D_0 COMBINER_IRQ(24, 5) | ||
422 | #define EXYNOS5_IRQ_SYSMMU_2D_1 COMBINER_IRQ(24, 6) | ||
423 | |||
424 | #define EXYNOS5_IRQ_EINT2 COMBINER_IRQ(25, 0) | ||
425 | #define EXYNOS5_IRQ_EINT3 COMBINER_IRQ(25, 1) | ||
426 | |||
427 | #define EXYNOS5_IRQ_EINT4 COMBINER_IRQ(26, 0) | ||
428 | #define EXYNOS5_IRQ_EINT5 COMBINER_IRQ(26, 1) | ||
429 | |||
430 | #define EXYNOS5_IRQ_EINT6 COMBINER_IRQ(27, 0) | ||
431 | #define EXYNOS5_IRQ_EINT7 COMBINER_IRQ(27, 1) | ||
432 | |||
433 | #define EXYNOS5_IRQ_EINT8 COMBINER_IRQ(28, 0) | ||
434 | #define EXYNOS5_IRQ_EINT9 COMBINER_IRQ(28, 1) | ||
435 | |||
436 | #define EXYNOS5_IRQ_EINT10 COMBINER_IRQ(29, 0) | ||
437 | #define EXYNOS5_IRQ_EINT11 COMBINER_IRQ(29, 1) | ||
438 | |||
439 | #define EXYNOS5_IRQ_EINT12 COMBINER_IRQ(30, 0) | ||
440 | #define EXYNOS5_IRQ_EINT13 COMBINER_IRQ(30, 1) | ||
441 | |||
442 | #define EXYNOS5_IRQ_EINT14 COMBINER_IRQ(31, 0) | ||
443 | #define EXYNOS5_IRQ_EINT15 COMBINER_IRQ(31, 1) | ||
444 | |||
445 | #define EXYNOS5_MAX_COMBINER_NR 32 | ||
446 | |||
447 | #define EXYNOS5_IRQ_GPIO1_NR_GROUPS 13 | ||
448 | #define EXYNOS5_IRQ_GPIO2_NR_GROUPS 9 | ||
449 | #define EXYNOS5_IRQ_GPIO3_NR_GROUPS 5 | ||
450 | #define EXYNOS5_IRQ_GPIO4_NR_GROUPS 1 | ||
451 | |||
452 | #define MAX_COMBINER_NR (EXYNOS4_MAX_COMBINER_NR > EXYNOS5_MAX_COMBINER_NR ? \ | ||
453 | EXYNOS4_MAX_COMBINER_NR : EXYNOS5_MAX_COMBINER_NR) | ||
454 | |||
455 | #define S5P_EINT_BASE1 COMBINER_IRQ(MAX_COMBINER_NR, 0) | ||
456 | #define S5P_EINT_BASE2 (S5P_EINT_BASE1 + 16) | ||
457 | #define S5P_GPIOINT_BASE (S5P_EINT_BASE1 + 32) | ||
458 | #define IRQ_GPIO_END (S5P_GPIOINT_BASE + S5P_GPIOINT_COUNT) | ||
459 | #define IRQ_TIMER_BASE (IRQ_GPIO_END + 64) | ||
170 | 460 | ||
171 | /* Set the default NR_IRQS */ | 461 | /* Set the default NR_IRQS */ |
172 | #define NR_IRQS (IRQ_TIMER_BASE + IRQ_TIMER_COUNT) | 462 | |
463 | #define NR_IRQS (IRQ_TIMER_BASE + IRQ_TIMER_COUNT) | ||
173 | 464 | ||
174 | #endif /* __ASM_ARCH_IRQS_H */ | 465 | #endif /* __ASM_ARCH_IRQS_H */ |
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h index c754a22a2bb3..024d38ff1718 100644 --- a/arch/arm/mach-exynos/include/mach/map.h +++ b/arch/arm/mach-exynos/include/mach/map.h | |||
@@ -25,12 +25,17 @@ | |||
25 | 25 | ||
26 | #define EXYNOS4_PA_SYSRAM0 0x02025000 | 26 | #define EXYNOS4_PA_SYSRAM0 0x02025000 |
27 | #define EXYNOS4_PA_SYSRAM1 0x02020000 | 27 | #define EXYNOS4_PA_SYSRAM1 0x02020000 |
28 | #define EXYNOS5_PA_SYSRAM 0x02020000 | ||
28 | 29 | ||
29 | #define EXYNOS4_PA_FIMC0 0x11800000 | 30 | #define EXYNOS4_PA_FIMC0 0x11800000 |
30 | #define EXYNOS4_PA_FIMC1 0x11810000 | 31 | #define EXYNOS4_PA_FIMC1 0x11810000 |
31 | #define EXYNOS4_PA_FIMC2 0x11820000 | 32 | #define EXYNOS4_PA_FIMC2 0x11820000 |
32 | #define EXYNOS4_PA_FIMC3 0x11830000 | 33 | #define EXYNOS4_PA_FIMC3 0x11830000 |
33 | 34 | ||
35 | #define EXYNOS4_PA_JPEG 0x11840000 | ||
36 | |||
37 | #define EXYNOS4_PA_G2D 0x12800000 | ||
38 | |||
34 | #define EXYNOS4_PA_I2S0 0x03830000 | 39 | #define EXYNOS4_PA_I2S0 0x03830000 |
35 | #define EXYNOS4_PA_I2S1 0xE3100000 | 40 | #define EXYNOS4_PA_I2S1 0xE3100000 |
36 | #define EXYNOS4_PA_I2S2 0xE2A00000 | 41 | #define EXYNOS4_PA_I2S2 0xE2A00000 |
@@ -44,30 +49,44 @@ | |||
44 | #define EXYNOS4_PA_ONENAND 0x0C000000 | 49 | #define EXYNOS4_PA_ONENAND 0x0C000000 |
45 | #define EXYNOS4_PA_ONENAND_DMA 0x0C600000 | 50 | #define EXYNOS4_PA_ONENAND_DMA 0x0C600000 |
46 | 51 | ||
47 | #define EXYNOS4_PA_CHIPID 0x10000000 | 52 | #define EXYNOS_PA_CHIPID 0x10000000 |
48 | 53 | ||
49 | #define EXYNOS4_PA_SYSCON 0x10010000 | 54 | #define EXYNOS4_PA_SYSCON 0x10010000 |
55 | #define EXYNOS5_PA_SYSCON 0x10050100 | ||
56 | |||
50 | #define EXYNOS4_PA_PMU 0x10020000 | 57 | #define EXYNOS4_PA_PMU 0x10020000 |
58 | #define EXYNOS5_PA_PMU 0x10040000 | ||
59 | |||
51 | #define EXYNOS4_PA_CMU 0x10030000 | 60 | #define EXYNOS4_PA_CMU 0x10030000 |
61 | #define EXYNOS5_PA_CMU 0x10010000 | ||
52 | 62 | ||
53 | #define EXYNOS4_PA_SYSTIMER 0x10050000 | 63 | #define EXYNOS4_PA_SYSTIMER 0x10050000 |
64 | #define EXYNOS5_PA_SYSTIMER 0x101C0000 | ||
65 | |||
54 | #define EXYNOS4_PA_WATCHDOG 0x10060000 | 66 | #define EXYNOS4_PA_WATCHDOG 0x10060000 |
67 | #define EXYNOS5_PA_WATCHDOG 0x101D0000 | ||
68 | |||
55 | #define EXYNOS4_PA_RTC 0x10070000 | 69 | #define EXYNOS4_PA_RTC 0x10070000 |
56 | 70 | ||
57 | #define EXYNOS4_PA_KEYPAD 0x100A0000 | 71 | #define EXYNOS4_PA_KEYPAD 0x100A0000 |
58 | 72 | ||
59 | #define EXYNOS4_PA_DMC0 0x10400000 | 73 | #define EXYNOS4_PA_DMC0 0x10400000 |
74 | #define EXYNOS4_PA_DMC1 0x10410000 | ||
60 | 75 | ||
61 | #define EXYNOS4_PA_COMBINER 0x10440000 | 76 | #define EXYNOS4_PA_COMBINER 0x10440000 |
77 | #define EXYNOS5_PA_COMBINER 0x10440000 | ||
62 | 78 | ||
63 | #define EXYNOS4_PA_GIC_CPU 0x10480000 | 79 | #define EXYNOS4_PA_GIC_CPU 0x10480000 |
64 | #define EXYNOS4_PA_GIC_DIST 0x10490000 | 80 | #define EXYNOS4_PA_GIC_DIST 0x10490000 |
81 | #define EXYNOS5_PA_GIC_CPU 0x10480000 | ||
82 | #define EXYNOS5_PA_GIC_DIST 0x10490000 | ||
65 | 83 | ||
66 | #define EXYNOS4_PA_COREPERI 0x10500000 | 84 | #define EXYNOS4_PA_COREPERI 0x10500000 |
67 | #define EXYNOS4_PA_TWD 0x10500600 | 85 | #define EXYNOS4_PA_TWD 0x10500600 |
68 | #define EXYNOS4_PA_L2CC 0x10502000 | 86 | #define EXYNOS4_PA_L2CC 0x10502000 |
69 | 87 | ||
70 | #define EXYNOS4_PA_MDMA 0x10810000 | 88 | #define EXYNOS4_PA_MDMA0 0x10810000 |
89 | #define EXYNOS4_PA_MDMA1 0x12840000 | ||
71 | #define EXYNOS4_PA_PDMA0 0x12680000 | 90 | #define EXYNOS4_PA_PDMA0 0x12680000 |
72 | #define EXYNOS4_PA_PDMA1 0x12690000 | 91 | #define EXYNOS4_PA_PDMA1 0x12690000 |
73 | 92 | ||
@@ -91,10 +110,13 @@ | |||
91 | #define EXYNOS4_PA_SPI1 0x13930000 | 110 | #define EXYNOS4_PA_SPI1 0x13930000 |
92 | #define EXYNOS4_PA_SPI2 0x13940000 | 111 | #define EXYNOS4_PA_SPI2 0x13940000 |
93 | 112 | ||
94 | |||
95 | #define EXYNOS4_PA_GPIO1 0x11400000 | 113 | #define EXYNOS4_PA_GPIO1 0x11400000 |
96 | #define EXYNOS4_PA_GPIO2 0x11000000 | 114 | #define EXYNOS4_PA_GPIO2 0x11000000 |
97 | #define EXYNOS4_PA_GPIO3 0x03860000 | 115 | #define EXYNOS4_PA_GPIO3 0x03860000 |
116 | #define EXYNOS5_PA_GPIO1 0x11400000 | ||
117 | #define EXYNOS5_PA_GPIO2 0x13400000 | ||
118 | #define EXYNOS5_PA_GPIO3 0x10D10000 | ||
119 | #define EXYNOS5_PA_GPIO4 0x03860000 | ||
98 | 120 | ||
99 | #define EXYNOS4_PA_MIPI_CSIS0 0x11880000 | 121 | #define EXYNOS4_PA_MIPI_CSIS0 0x11880000 |
100 | #define EXYNOS4_PA_MIPI_CSIS1 0x11890000 | 122 | #define EXYNOS4_PA_MIPI_CSIS1 0x11890000 |
@@ -109,6 +131,7 @@ | |||
109 | #define EXYNOS4_PA_SATAPHY_CTRL 0x126B0000 | 131 | #define EXYNOS4_PA_SATAPHY_CTRL 0x126B0000 |
110 | 132 | ||
111 | #define EXYNOS4_PA_SROMC 0x12570000 | 133 | #define EXYNOS4_PA_SROMC 0x12570000 |
134 | #define EXYNOS5_PA_SROMC 0x12250000 | ||
112 | 135 | ||
113 | #define EXYNOS4_PA_EHCI 0x12580000 | 136 | #define EXYNOS4_PA_EHCI 0x12580000 |
114 | #define EXYNOS4_PA_OHCI 0x12590000 | 137 | #define EXYNOS4_PA_OHCI 0x12590000 |
@@ -116,6 +139,7 @@ | |||
116 | #define EXYNOS4_PA_MFC 0x13400000 | 139 | #define EXYNOS4_PA_MFC 0x13400000 |
117 | 140 | ||
118 | #define EXYNOS4_PA_UART 0x13800000 | 141 | #define EXYNOS4_PA_UART 0x13800000 |
142 | #define EXYNOS5_PA_UART 0x12C00000 | ||
119 | 143 | ||
120 | #define EXYNOS4_PA_VP 0x12C00000 | 144 | #define EXYNOS4_PA_VP 0x12C00000 |
121 | #define EXYNOS4_PA_MIXER 0x12C10000 | 145 | #define EXYNOS4_PA_MIXER 0x12C10000 |
@@ -124,6 +148,7 @@ | |||
124 | #define EXYNOS4_PA_IIC_HDMIPHY 0x138E0000 | 148 | #define EXYNOS4_PA_IIC_HDMIPHY 0x138E0000 |
125 | 149 | ||
126 | #define EXYNOS4_PA_IIC(x) (0x13860000 + ((x) * 0x10000)) | 150 | #define EXYNOS4_PA_IIC(x) (0x13860000 + ((x) * 0x10000)) |
151 | #define EXYNOS5_PA_IIC(x) (0x12C60000 + ((x) * 0x10000)) | ||
127 | 152 | ||
128 | #define EXYNOS4_PA_ADC 0x13910000 | 153 | #define EXYNOS4_PA_ADC 0x13910000 |
129 | #define EXYNOS4_PA_ADC1 0x13911000 | 154 | #define EXYNOS4_PA_ADC1 0x13911000 |
@@ -133,8 +158,10 @@ | |||
133 | #define EXYNOS4_PA_SPDIF 0x139B0000 | 158 | #define EXYNOS4_PA_SPDIF 0x139B0000 |
134 | 159 | ||
135 | #define EXYNOS4_PA_TIMER 0x139D0000 | 160 | #define EXYNOS4_PA_TIMER 0x139D0000 |
161 | #define EXYNOS5_PA_TIMER 0x12DD0000 | ||
136 | 162 | ||
137 | #define EXYNOS4_PA_SDRAM 0x40000000 | 163 | #define EXYNOS4_PA_SDRAM 0x40000000 |
164 | #define EXYNOS5_PA_SDRAM 0x40000000 | ||
138 | 165 | ||
139 | /* Compatibiltiy Defines */ | 166 | /* Compatibiltiy Defines */ |
140 | 167 | ||
@@ -152,7 +179,6 @@ | |||
152 | #define S3C_PA_IIC7 EXYNOS4_PA_IIC(7) | 179 | #define S3C_PA_IIC7 EXYNOS4_PA_IIC(7) |
153 | #define S3C_PA_RTC EXYNOS4_PA_RTC | 180 | #define S3C_PA_RTC EXYNOS4_PA_RTC |
154 | #define S3C_PA_WDT EXYNOS4_PA_WATCHDOG | 181 | #define S3C_PA_WDT EXYNOS4_PA_WATCHDOG |
155 | #define S3C_PA_UART EXYNOS4_PA_UART | ||
156 | #define S3C_PA_SPI0 EXYNOS4_PA_SPI0 | 182 | #define S3C_PA_SPI0 EXYNOS4_PA_SPI0 |
157 | #define S3C_PA_SPI1 EXYNOS4_PA_SPI1 | 183 | #define S3C_PA_SPI1 EXYNOS4_PA_SPI1 |
158 | #define S3C_PA_SPI2 EXYNOS4_PA_SPI2 | 184 | #define S3C_PA_SPI2 EXYNOS4_PA_SPI2 |
@@ -162,6 +188,8 @@ | |||
162 | #define S5P_PA_FIMC1 EXYNOS4_PA_FIMC1 | 188 | #define S5P_PA_FIMC1 EXYNOS4_PA_FIMC1 |
163 | #define S5P_PA_FIMC2 EXYNOS4_PA_FIMC2 | 189 | #define S5P_PA_FIMC2 EXYNOS4_PA_FIMC2 |
164 | #define S5P_PA_FIMC3 EXYNOS4_PA_FIMC3 | 190 | #define S5P_PA_FIMC3 EXYNOS4_PA_FIMC3 |
191 | #define S5P_PA_JPEG EXYNOS4_PA_JPEG | ||
192 | #define S5P_PA_G2D EXYNOS4_PA_G2D | ||
165 | #define S5P_PA_FIMD0 EXYNOS4_PA_FIMD0 | 193 | #define S5P_PA_FIMD0 EXYNOS4_PA_FIMD0 |
166 | #define S5P_PA_HDMI EXYNOS4_PA_HDMI | 194 | #define S5P_PA_HDMI EXYNOS4_PA_HDMI |
167 | #define S5P_PA_IIC_HDMIPHY EXYNOS4_PA_IIC_HDMIPHY | 195 | #define S5P_PA_IIC_HDMIPHY EXYNOS4_PA_IIC_HDMIPHY |
@@ -181,15 +209,18 @@ | |||
181 | 209 | ||
182 | /* Compatibility UART */ | 210 | /* Compatibility UART */ |
183 | 211 | ||
184 | #define S3C_VA_UARTx(x) (S3C_VA_UART + ((x) * S3C_UART_OFFSET)) | 212 | #define EXYNOS4_PA_UART0 0x13800000 |
213 | #define EXYNOS4_PA_UART1 0x13810000 | ||
214 | #define EXYNOS4_PA_UART2 0x13820000 | ||
215 | #define EXYNOS4_PA_UART3 0x13830000 | ||
216 | #define EXYNOS4_SZ_UART SZ_256 | ||
185 | 217 | ||
186 | #define S5P_PA_UART(x) (EXYNOS4_PA_UART + ((x) * S3C_UART_OFFSET)) | 218 | #define EXYNOS5_PA_UART0 0x12C00000 |
187 | #define S5P_PA_UART0 S5P_PA_UART(0) | 219 | #define EXYNOS5_PA_UART1 0x12C10000 |
188 | #define S5P_PA_UART1 S5P_PA_UART(1) | 220 | #define EXYNOS5_PA_UART2 0x12C20000 |
189 | #define S5P_PA_UART2 S5P_PA_UART(2) | 221 | #define EXYNOS5_PA_UART3 0x12C30000 |
190 | #define S5P_PA_UART3 S5P_PA_UART(3) | 222 | #define EXYNOS5_SZ_UART SZ_256 |
191 | #define S5P_PA_UART4 S5P_PA_UART(4) | ||
192 | 223 | ||
193 | #define S5P_SZ_UART SZ_256 | 224 | #define S3C_VA_UARTx(x) (S3C_VA_UART + ((x) * S3C_UART_OFFSET)) |
194 | 225 | ||
195 | #endif /* __ASM_ARCH_MAP_H */ | 226 | #endif /* __ASM_ARCH_MAP_H */ |
diff --git a/arch/arm/mach-exynos/include/mach/pmu.h b/arch/arm/mach-exynos/include/mach/pmu.h index 632dd5630138..e76b7faba66b 100644 --- a/arch/arm/mach-exynos/include/mach/pmu.h +++ b/arch/arm/mach-exynos/include/mach/pmu.h | |||
@@ -22,11 +22,13 @@ enum sys_powerdown { | |||
22 | NUM_SYS_POWERDOWN, | 22 | NUM_SYS_POWERDOWN, |
23 | }; | 23 | }; |
24 | 24 | ||
25 | extern unsigned long l2x0_regs_phys; | ||
25 | struct exynos4_pmu_conf { | 26 | struct exynos4_pmu_conf { |
26 | void __iomem *reg; | 27 | void __iomem *reg; |
27 | unsigned int val[NUM_SYS_POWERDOWN]; | 28 | unsigned int val[NUM_SYS_POWERDOWN]; |
28 | }; | 29 | }; |
29 | 30 | ||
30 | extern void exynos4_sys_powerdown_conf(enum sys_powerdown mode); | 31 | extern void exynos4_sys_powerdown_conf(enum sys_powerdown mode); |
32 | extern void s3c_cpu_resume(void); | ||
31 | 33 | ||
32 | #endif /* __ASM_ARCH_PMU_H */ | 34 | #endif /* __ASM_ARCH_PMU_H */ |
diff --git a/arch/arm/mach-exynos/include/mach/regs-clock.h b/arch/arm/mach-exynos/include/mach/regs-clock.h index 6c37ebe94829..e141c1fd68d8 100644 --- a/arch/arm/mach-exynos/include/mach/regs-clock.h +++ b/arch/arm/mach-exynos/include/mach/regs-clock.h | |||
@@ -16,195 +16,309 @@ | |||
16 | #include <plat/cpu.h> | 16 | #include <plat/cpu.h> |
17 | #include <mach/map.h> | 17 | #include <mach/map.h> |
18 | 18 | ||
19 | #define S5P_CLKREG(x) (S5P_VA_CMU + (x)) | 19 | #define EXYNOS_CLKREG(x) (S5P_VA_CMU + (x)) |
20 | 20 | ||
21 | #define S5P_CLKDIV_LEFTBUS S5P_CLKREG(0x04500) | 21 | #define EXYNOS4_CLKDIV_LEFTBUS EXYNOS_CLKREG(0x04500) |
22 | #define S5P_CLKDIV_STAT_LEFTBUS S5P_CLKREG(0x04600) | 22 | #define EXYNOS4_CLKDIV_STAT_LEFTBUS EXYNOS_CLKREG(0x04600) |
23 | #define S5P_CLKGATE_IP_LEFTBUS S5P_CLKREG(0x04800) | 23 | #define EXYNOS4_CLKGATE_IP_LEFTBUS EXYNOS_CLKREG(0x04800) |
24 | 24 | ||
25 | #define S5P_CLKDIV_RIGHTBUS S5P_CLKREG(0x08500) | 25 | #define EXYNOS4_CLKDIV_RIGHTBUS EXYNOS_CLKREG(0x08500) |
26 | #define S5P_CLKDIV_STAT_RIGHTBUS S5P_CLKREG(0x08600) | 26 | #define EXYNOS4_CLKDIV_STAT_RIGHTBUS EXYNOS_CLKREG(0x08600) |
27 | #define S5P_CLKGATE_IP_RIGHTBUS S5P_CLKREG(0x08800) | 27 | #define EXYNOS4_CLKGATE_IP_RIGHTBUS EXYNOS_CLKREG(0x08800) |
28 | 28 | ||
29 | #define S5P_EPLL_LOCK S5P_CLKREG(0x0C010) | 29 | #define EXYNOS4_EPLL_LOCK EXYNOS_CLKREG(0x0C010) |
30 | #define S5P_VPLL_LOCK S5P_CLKREG(0x0C020) | 30 | #define EXYNOS4_VPLL_LOCK EXYNOS_CLKREG(0x0C020) |
31 | 31 | ||
32 | #define S5P_EPLL_CON0 S5P_CLKREG(0x0C110) | 32 | #define EXYNOS4_EPLL_CON0 EXYNOS_CLKREG(0x0C110) |
33 | #define S5P_EPLL_CON1 S5P_CLKREG(0x0C114) | 33 | #define EXYNOS4_EPLL_CON1 EXYNOS_CLKREG(0x0C114) |
34 | #define S5P_VPLL_CON0 S5P_CLKREG(0x0C120) | 34 | #define EXYNOS4_VPLL_CON0 EXYNOS_CLKREG(0x0C120) |
35 | #define S5P_VPLL_CON1 S5P_CLKREG(0x0C124) | 35 | #define EXYNOS4_VPLL_CON1 EXYNOS_CLKREG(0x0C124) |
36 | 36 | ||
37 | #define S5P_CLKSRC_TOP0 S5P_CLKREG(0x0C210) | 37 | #define EXYNOS4_CLKSRC_TOP0 EXYNOS_CLKREG(0x0C210) |
38 | #define S5P_CLKSRC_TOP1 S5P_CLKREG(0x0C214) | 38 | #define EXYNOS4_CLKSRC_TOP1 EXYNOS_CLKREG(0x0C214) |
39 | #define S5P_CLKSRC_CAM S5P_CLKREG(0x0C220) | 39 | #define EXYNOS4_CLKSRC_CAM EXYNOS_CLKREG(0x0C220) |
40 | #define S5P_CLKSRC_TV S5P_CLKREG(0x0C224) | 40 | #define EXYNOS4_CLKSRC_TV EXYNOS_CLKREG(0x0C224) |
41 | #define S5P_CLKSRC_MFC S5P_CLKREG(0x0C228) | 41 | #define EXYNOS4_CLKSRC_MFC EXYNOS_CLKREG(0x0C228) |
42 | #define S5P_CLKSRC_G3D S5P_CLKREG(0x0C22C) | 42 | #define EXYNOS4_CLKSRC_G3D EXYNOS_CLKREG(0x0C22C) |
43 | #define S5P_CLKSRC_IMAGE S5P_CLKREG(0x0C230) | 43 | #define EXYNOS4_CLKSRC_IMAGE EXYNOS_CLKREG(0x0C230) |
44 | #define S5P_CLKSRC_LCD0 S5P_CLKREG(0x0C234) | 44 | #define EXYNOS4_CLKSRC_LCD0 EXYNOS_CLKREG(0x0C234) |
45 | #define S5P_CLKSRC_MAUDIO S5P_CLKREG(0x0C23C) | 45 | #define EXYNOS4_CLKSRC_MAUDIO EXYNOS_CLKREG(0x0C23C) |
46 | #define S5P_CLKSRC_FSYS S5P_CLKREG(0x0C240) | 46 | #define EXYNOS4_CLKSRC_FSYS EXYNOS_CLKREG(0x0C240) |
47 | #define S5P_CLKSRC_PERIL0 S5P_CLKREG(0x0C250) | 47 | #define EXYNOS4_CLKSRC_PERIL0 EXYNOS_CLKREG(0x0C250) |
48 | #define S5P_CLKSRC_PERIL1 S5P_CLKREG(0x0C254) | 48 | #define EXYNOS4_CLKSRC_PERIL1 EXYNOS_CLKREG(0x0C254) |
49 | 49 | ||
50 | #define S5P_CLKSRC_MASK_TOP S5P_CLKREG(0x0C310) | 50 | #define EXYNOS4_CLKSRC_MASK_TOP EXYNOS_CLKREG(0x0C310) |
51 | #define S5P_CLKSRC_MASK_CAM S5P_CLKREG(0x0C320) | 51 | #define EXYNOS4_CLKSRC_MASK_CAM EXYNOS_CLKREG(0x0C320) |
52 | #define S5P_CLKSRC_MASK_TV S5P_CLKREG(0x0C324) | 52 | #define EXYNOS4_CLKSRC_MASK_TV EXYNOS_CLKREG(0x0C324) |
53 | #define S5P_CLKSRC_MASK_LCD0 S5P_CLKREG(0x0C334) | 53 | #define EXYNOS4_CLKSRC_MASK_LCD0 EXYNOS_CLKREG(0x0C334) |
54 | #define S5P_CLKSRC_MASK_MAUDIO S5P_CLKREG(0x0C33C) | 54 | #define EXYNOS4_CLKSRC_MASK_MAUDIO EXYNOS_CLKREG(0x0C33C) |
55 | #define S5P_CLKSRC_MASK_FSYS S5P_CLKREG(0x0C340) | 55 | #define EXYNOS4_CLKSRC_MASK_FSYS EXYNOS_CLKREG(0x0C340) |
56 | #define S5P_CLKSRC_MASK_PERIL0 S5P_CLKREG(0x0C350) | 56 | #define EXYNOS4_CLKSRC_MASK_PERIL0 EXYNOS_CLKREG(0x0C350) |
57 | #define S5P_CLKSRC_MASK_PERIL1 S5P_CLKREG(0x0C354) | 57 | #define EXYNOS4_CLKSRC_MASK_PERIL1 EXYNOS_CLKREG(0x0C354) |
58 | 58 | ||
59 | #define S5P_CLKDIV_TOP S5P_CLKREG(0x0C510) | 59 | #define EXYNOS4_CLKDIV_TOP EXYNOS_CLKREG(0x0C510) |
60 | #define S5P_CLKDIV_CAM S5P_CLKREG(0x0C520) | 60 | #define EXYNOS4_CLKDIV_CAM EXYNOS_CLKREG(0x0C520) |
61 | #define S5P_CLKDIV_TV S5P_CLKREG(0x0C524) | 61 | #define EXYNOS4_CLKDIV_TV EXYNOS_CLKREG(0x0C524) |
62 | #define S5P_CLKDIV_MFC S5P_CLKREG(0x0C528) | 62 | #define EXYNOS4_CLKDIV_MFC EXYNOS_CLKREG(0x0C528) |
63 | #define S5P_CLKDIV_G3D S5P_CLKREG(0x0C52C) | 63 | #define EXYNOS4_CLKDIV_G3D EXYNOS_CLKREG(0x0C52C) |
64 | #define S5P_CLKDIV_IMAGE S5P_CLKREG(0x0C530) | 64 | #define EXYNOS4_CLKDIV_IMAGE EXYNOS_CLKREG(0x0C530) |
65 | #define S5P_CLKDIV_LCD0 S5P_CLKREG(0x0C534) | 65 | #define EXYNOS4_CLKDIV_LCD0 EXYNOS_CLKREG(0x0C534) |
66 | #define S5P_CLKDIV_MAUDIO S5P_CLKREG(0x0C53C) | 66 | #define EXYNOS4_CLKDIV_MAUDIO EXYNOS_CLKREG(0x0C53C) |
67 | #define S5P_CLKDIV_FSYS0 S5P_CLKREG(0x0C540) | 67 | #define EXYNOS4_CLKDIV_FSYS0 EXYNOS_CLKREG(0x0C540) |
68 | #define S5P_CLKDIV_FSYS1 S5P_CLKREG(0x0C544) | 68 | #define EXYNOS4_CLKDIV_FSYS1 EXYNOS_CLKREG(0x0C544) |
69 | #define S5P_CLKDIV_FSYS2 S5P_CLKREG(0x0C548) | 69 | #define EXYNOS4_CLKDIV_FSYS2 EXYNOS_CLKREG(0x0C548) |
70 | #define S5P_CLKDIV_FSYS3 S5P_CLKREG(0x0C54C) | 70 | #define EXYNOS4_CLKDIV_FSYS3 EXYNOS_CLKREG(0x0C54C) |
71 | #define S5P_CLKDIV_PERIL0 S5P_CLKREG(0x0C550) | 71 | #define EXYNOS4_CLKDIV_PERIL0 EXYNOS_CLKREG(0x0C550) |
72 | #define S5P_CLKDIV_PERIL1 S5P_CLKREG(0x0C554) | 72 | #define EXYNOS4_CLKDIV_PERIL1 EXYNOS_CLKREG(0x0C554) |
73 | #define S5P_CLKDIV_PERIL2 S5P_CLKREG(0x0C558) | 73 | #define EXYNOS4_CLKDIV_PERIL2 EXYNOS_CLKREG(0x0C558) |
74 | #define S5P_CLKDIV_PERIL3 S5P_CLKREG(0x0C55C) | 74 | #define EXYNOS4_CLKDIV_PERIL3 EXYNOS_CLKREG(0x0C55C) |
75 | #define S5P_CLKDIV_PERIL4 S5P_CLKREG(0x0C560) | 75 | #define EXYNOS4_CLKDIV_PERIL4 EXYNOS_CLKREG(0x0C560) |
76 | #define S5P_CLKDIV_PERIL5 S5P_CLKREG(0x0C564) | 76 | #define EXYNOS4_CLKDIV_PERIL5 EXYNOS_CLKREG(0x0C564) |
77 | #define S5P_CLKDIV2_RATIO S5P_CLKREG(0x0C580) | 77 | #define EXYNOS4_CLKDIV2_RATIO EXYNOS_CLKREG(0x0C580) |
78 | 78 | ||
79 | #define S5P_CLKDIV_STAT_TOP S5P_CLKREG(0x0C610) | 79 | #define EXYNOS4_CLKDIV_STAT_TOP EXYNOS_CLKREG(0x0C610) |
80 | 80 | #define EXYNOS4_CLKDIV_STAT_MFC EXYNOS_CLKREG(0x0C628) | |
81 | #define S5P_CLKGATE_SCLKCAM S5P_CLKREG(0x0C820) | 81 | |
82 | #define S5P_CLKGATE_IP_CAM S5P_CLKREG(0x0C920) | 82 | #define EXYNOS4_CLKGATE_SCLKCAM EXYNOS_CLKREG(0x0C820) |
83 | #define S5P_CLKGATE_IP_TV S5P_CLKREG(0x0C924) | 83 | #define EXYNOS4_CLKGATE_IP_CAM EXYNOS_CLKREG(0x0C920) |
84 | #define S5P_CLKGATE_IP_MFC S5P_CLKREG(0x0C928) | 84 | #define EXYNOS4_CLKGATE_IP_TV EXYNOS_CLKREG(0x0C924) |
85 | #define S5P_CLKGATE_IP_G3D S5P_CLKREG(0x0C92C) | 85 | #define EXYNOS4_CLKGATE_IP_MFC EXYNOS_CLKREG(0x0C928) |
86 | #define S5P_CLKGATE_IP_IMAGE (soc_is_exynos4210() ? \ | 86 | #define EXYNOS4_CLKGATE_IP_G3D EXYNOS_CLKREG(0x0C92C) |
87 | S5P_CLKREG(0x0C930) : \ | 87 | #define EXYNOS4_CLKGATE_IP_IMAGE (soc_is_exynos4210() ? \ |
88 | S5P_CLKREG(0x04930)) | 88 | EXYNOS_CLKREG(0x0C930) : \ |
89 | #define S5P_CLKGATE_IP_IMAGE_4210 S5P_CLKREG(0x0C930) | 89 | EXYNOS_CLKREG(0x04930)) |
90 | #define S5P_CLKGATE_IP_IMAGE_4212 S5P_CLKREG(0x04930) | 90 | #define EXYNOS4210_CLKGATE_IP_IMAGE EXYNOS_CLKREG(0x0C930) |
91 | #define S5P_CLKGATE_IP_LCD0 S5P_CLKREG(0x0C934) | 91 | #define EXYNOS4212_CLKGATE_IP_IMAGE EXYNOS_CLKREG(0x04930) |
92 | #define S5P_CLKGATE_IP_FSYS S5P_CLKREG(0x0C940) | 92 | #define EXYNOS4_CLKGATE_IP_LCD0 EXYNOS_CLKREG(0x0C934) |
93 | #define S5P_CLKGATE_IP_GPS S5P_CLKREG(0x0C94C) | 93 | #define EXYNOS4_CLKGATE_IP_FSYS EXYNOS_CLKREG(0x0C940) |
94 | #define S5P_CLKGATE_IP_PERIL S5P_CLKREG(0x0C950) | 94 | #define EXYNOS4_CLKGATE_IP_GPS EXYNOS_CLKREG(0x0C94C) |
95 | #define S5P_CLKGATE_IP_PERIR (soc_is_exynos4210() ? \ | 95 | #define EXYNOS4_CLKGATE_IP_PERIL EXYNOS_CLKREG(0x0C950) |
96 | S5P_CLKREG(0x0C960) : \ | 96 | #define EXYNOS4_CLKGATE_IP_PERIR (soc_is_exynos4210() ? \ |
97 | S5P_CLKREG(0x08960)) | 97 | EXYNOS_CLKREG(0x0C960) : \ |
98 | #define S5P_CLKGATE_IP_PERIR_4210 S5P_CLKREG(0x0C960) | 98 | EXYNOS_CLKREG(0x08960)) |
99 | #define S5P_CLKGATE_IP_PERIR_4212 S5P_CLKREG(0x08960) | 99 | #define EXYNOS4210_CLKGATE_IP_PERIR EXYNOS_CLKREG(0x0C960) |
100 | #define S5P_CLKGATE_BLOCK S5P_CLKREG(0x0C970) | 100 | #define EXYNOS4212_CLKGATE_IP_PERIR EXYNOS_CLKREG(0x08960) |
101 | 101 | #define EXYNOS4_CLKGATE_BLOCK EXYNOS_CLKREG(0x0C970) | |
102 | #define S5P_CLKSRC_MASK_DMC S5P_CLKREG(0x10300) | 102 | |
103 | #define S5P_CLKSRC_DMC S5P_CLKREG(0x10200) | 103 | #define EXYNOS4_CLKSRC_MASK_DMC EXYNOS_CLKREG(0x10300) |
104 | #define S5P_CLKDIV_DMC0 S5P_CLKREG(0x10500) | 104 | #define EXYNOS4_CLKSRC_DMC EXYNOS_CLKREG(0x10200) |
105 | #define S5P_CLKDIV_DMC1 S5P_CLKREG(0x10504) | 105 | #define EXYNOS4_CLKDIV_DMC0 EXYNOS_CLKREG(0x10500) |
106 | #define S5P_CLKDIV_STAT_DMC0 S5P_CLKREG(0x10600) | 106 | #define EXYNOS4_CLKDIV_DMC1 EXYNOS_CLKREG(0x10504) |
107 | #define S5P_CLKGATE_IP_DMC S5P_CLKREG(0x10900) | 107 | #define EXYNOS4_CLKDIV_STAT_DMC0 EXYNOS_CLKREG(0x10600) |
108 | 108 | #define EXYNOS4_CLKDIV_STAT_DMC1 EXYNOS_CLKREG(0x10604) | |
109 | #define S5P_APLL_LOCK S5P_CLKREG(0x14000) | 109 | #define EXYNOS4_CLKGATE_IP_DMC EXYNOS_CLKREG(0x10900) |
110 | #define S5P_MPLL_LOCK (soc_is_exynos4210() ? \ | 110 | |
111 | S5P_CLKREG(0x14004) : \ | 111 | #define EXYNOS4_DMC_PAUSE_CTRL EXYNOS_CLKREG(0x11094) |
112 | S5P_CLKREG(0x10008)) | 112 | #define EXYNOS4_DMC_PAUSE_ENABLE (1 << 0) |
113 | #define S5P_APLL_CON0 S5P_CLKREG(0x14100) | 113 | |
114 | #define S5P_APLL_CON1 S5P_CLKREG(0x14104) | 114 | #define EXYNOS4_APLL_LOCK EXYNOS_CLKREG(0x14000) |
115 | #define S5P_MPLL_CON0 (soc_is_exynos4210() ? \ | 115 | #define EXYNOS4_MPLL_LOCK (soc_is_exynos4210() ? \ |
116 | S5P_CLKREG(0x14108) : \ | 116 | EXYNOS_CLKREG(0x14004) : \ |
117 | S5P_CLKREG(0x10108)) | 117 | EXYNOS_CLKREG(0x10008)) |
118 | #define S5P_MPLL_CON1 (soc_is_exynos4210() ? \ | 118 | #define EXYNOS4_APLL_CON0 EXYNOS_CLKREG(0x14100) |
119 | S5P_CLKREG(0x1410C) : \ | 119 | #define EXYNOS4_APLL_CON1 EXYNOS_CLKREG(0x14104) |
120 | S5P_CLKREG(0x1010C)) | 120 | #define EXYNOS4_MPLL_CON0 (soc_is_exynos4210() ? \ |
121 | 121 | EXYNOS_CLKREG(0x14108) : \ | |
122 | #define S5P_CLKSRC_CPU S5P_CLKREG(0x14200) | 122 | EXYNOS_CLKREG(0x10108)) |
123 | #define S5P_CLKMUX_STATCPU S5P_CLKREG(0x14400) | 123 | #define EXYNOS4_MPLL_CON1 (soc_is_exynos4210() ? \ |
124 | 124 | EXYNOS_CLKREG(0x1410C) : \ | |
125 | #define S5P_CLKDIV_CPU S5P_CLKREG(0x14500) | 125 | EXYNOS_CLKREG(0x1010C)) |
126 | #define S5P_CLKDIV_CPU1 S5P_CLKREG(0x14504) | 126 | |
127 | #define S5P_CLKDIV_STATCPU S5P_CLKREG(0x14600) | 127 | #define EXYNOS4_CLKSRC_CPU EXYNOS_CLKREG(0x14200) |
128 | #define S5P_CLKDIV_STATCPU1 S5P_CLKREG(0x14604) | 128 | #define EXYNOS4_CLKMUX_STATCPU EXYNOS_CLKREG(0x14400) |
129 | 129 | ||
130 | #define S5P_CLKGATE_SCLKCPU S5P_CLKREG(0x14800) | 130 | #define EXYNOS4_CLKDIV_CPU EXYNOS_CLKREG(0x14500) |
131 | #define S5P_CLKGATE_IP_CPU S5P_CLKREG(0x14900) | 131 | #define EXYNOS4_CLKDIV_CPU1 EXYNOS_CLKREG(0x14504) |
132 | 132 | #define EXYNOS4_CLKDIV_STATCPU EXYNOS_CLKREG(0x14600) | |
133 | #define S5P_APLL_LOCKTIME (0x1C20) /* 300us */ | 133 | #define EXYNOS4_CLKDIV_STATCPU1 EXYNOS_CLKREG(0x14604) |
134 | 134 | ||
135 | #define S5P_APLLCON0_ENABLE_SHIFT (31) | 135 | #define EXYNOS4_CLKGATE_SCLKCPU EXYNOS_CLKREG(0x14800) |
136 | #define S5P_APLLCON0_LOCKED_SHIFT (29) | 136 | #define EXYNOS4_CLKGATE_IP_CPU EXYNOS_CLKREG(0x14900) |
137 | #define S5P_APLL_VAL_1000 ((250 << 16) | (6 << 8) | 1) | 137 | |
138 | #define S5P_APLL_VAL_800 ((200 << 16) | (6 << 8) | 1) | 138 | #define EXYNOS4_APLL_LOCKTIME (0x1C20) /* 300us */ |
139 | 139 | ||
140 | #define S5P_EPLLCON0_ENABLE_SHIFT (31) | 140 | #define EXYNOS4_APLLCON0_ENABLE_SHIFT (31) |
141 | #define S5P_EPLLCON0_LOCKED_SHIFT (29) | 141 | #define EXYNOS4_APLLCON0_LOCKED_SHIFT (29) |
142 | 142 | #define EXYNOS4_APLL_VAL_1000 ((250 << 16) | (6 << 8) | 1) | |
143 | #define S5P_VPLLCON0_ENABLE_SHIFT (31) | 143 | #define EXYNOS4_APLL_VAL_800 ((200 << 16) | (6 << 8) | 1) |
144 | #define S5P_VPLLCON0_LOCKED_SHIFT (29) | 144 | |
145 | 145 | #define EXYNOS4_EPLLCON0_ENABLE_SHIFT (31) | |
146 | #define S5P_CLKSRC_CPU_MUXCORE_SHIFT (16) | 146 | #define EXYNOS4_EPLLCON0_LOCKED_SHIFT (29) |
147 | #define S5P_CLKMUX_STATCPU_MUXCORE_MASK (0x7 << S5P_CLKSRC_CPU_MUXCORE_SHIFT) | 147 | |
148 | 148 | #define EXYNOS4_VPLLCON0_ENABLE_SHIFT (31) | |
149 | #define S5P_CLKDIV_CPU0_CORE_SHIFT (0) | 149 | #define EXYNOS4_VPLLCON0_LOCKED_SHIFT (29) |
150 | #define S5P_CLKDIV_CPU0_CORE_MASK (0x7 << S5P_CLKDIV_CPU0_CORE_SHIFT) | 150 | |
151 | #define S5P_CLKDIV_CPU0_COREM0_SHIFT (4) | 151 | #define EXYNOS4_CLKSRC_CPU_MUXCORE_SHIFT (16) |
152 | #define S5P_CLKDIV_CPU0_COREM0_MASK (0x7 << S5P_CLKDIV_CPU0_COREM0_SHIFT) | 152 | #define EXYNOS4_CLKMUX_STATCPU_MUXCORE_MASK (0x7 << EXYNOS4_CLKSRC_CPU_MUXCORE_SHIFT) |
153 | #define S5P_CLKDIV_CPU0_COREM1_SHIFT (8) | 153 | |
154 | #define S5P_CLKDIV_CPU0_COREM1_MASK (0x7 << S5P_CLKDIV_CPU0_COREM1_SHIFT) | 154 | #define EXYNOS4_CLKDIV_CPU0_CORE_SHIFT (0) |
155 | #define S5P_CLKDIV_CPU0_PERIPH_SHIFT (12) | 155 | #define EXYNOS4_CLKDIV_CPU0_CORE_MASK (0x7 << EXYNOS4_CLKDIV_CPU0_CORE_SHIFT) |
156 | #define S5P_CLKDIV_CPU0_PERIPH_MASK (0x7 << S5P_CLKDIV_CPU0_PERIPH_SHIFT) | 156 | #define EXYNOS4_CLKDIV_CPU0_COREM0_SHIFT (4) |
157 | #define S5P_CLKDIV_CPU0_ATB_SHIFT (16) | 157 | #define EXYNOS4_CLKDIV_CPU0_COREM0_MASK (0x7 << EXYNOS4_CLKDIV_CPU0_COREM0_SHIFT) |
158 | #define S5P_CLKDIV_CPU0_ATB_MASK (0x7 << S5P_CLKDIV_CPU0_ATB_SHIFT) | 158 | #define EXYNOS4_CLKDIV_CPU0_COREM1_SHIFT (8) |
159 | #define S5P_CLKDIV_CPU0_PCLKDBG_SHIFT (20) | 159 | #define EXYNOS4_CLKDIV_CPU0_COREM1_MASK (0x7 << EXYNOS4_CLKDIV_CPU0_COREM1_SHIFT) |
160 | #define S5P_CLKDIV_CPU0_PCLKDBG_MASK (0x7 << S5P_CLKDIV_CPU0_PCLKDBG_SHIFT) | 160 | #define EXYNOS4_CLKDIV_CPU0_PERIPH_SHIFT (12) |
161 | #define S5P_CLKDIV_CPU0_APLL_SHIFT (24) | 161 | #define EXYNOS4_CLKDIV_CPU0_PERIPH_MASK (0x7 << EXYNOS4_CLKDIV_CPU0_PERIPH_SHIFT) |
162 | #define S5P_CLKDIV_CPU0_APLL_MASK (0x7 << S5P_CLKDIV_CPU0_APLL_SHIFT) | 162 | #define EXYNOS4_CLKDIV_CPU0_ATB_SHIFT (16) |
163 | 163 | #define EXYNOS4_CLKDIV_CPU0_ATB_MASK (0x7 << EXYNOS4_CLKDIV_CPU0_ATB_SHIFT) | |
164 | #define S5P_CLKDIV_DMC0_ACP_SHIFT (0) | 164 | #define EXYNOS4_CLKDIV_CPU0_PCLKDBG_SHIFT (20) |
165 | #define S5P_CLKDIV_DMC0_ACP_MASK (0x7 << S5P_CLKDIV_DMC0_ACP_SHIFT) | 165 | #define EXYNOS4_CLKDIV_CPU0_PCLKDBG_MASK (0x7 << EXYNOS4_CLKDIV_CPU0_PCLKDBG_SHIFT) |
166 | #define S5P_CLKDIV_DMC0_ACPPCLK_SHIFT (4) | 166 | #define EXYNOS4_CLKDIV_CPU0_APLL_SHIFT (24) |
167 | #define S5P_CLKDIV_DMC0_ACPPCLK_MASK (0x7 << S5P_CLKDIV_DMC0_ACPPCLK_SHIFT) | 167 | #define EXYNOS4_CLKDIV_CPU0_APLL_MASK (0x7 << EXYNOS4_CLKDIV_CPU0_APLL_SHIFT) |
168 | #define S5P_CLKDIV_DMC0_DPHY_SHIFT (8) | 168 | #define EXYNOS4_CLKDIV_CPU0_CORE2_SHIFT 28 |
169 | #define S5P_CLKDIV_DMC0_DPHY_MASK (0x7 << S5P_CLKDIV_DMC0_DPHY_SHIFT) | 169 | #define EXYNOS4_CLKDIV_CPU0_CORE2_MASK (0x7 << EXYNOS4_CLKDIV_CPU0_CORE2_SHIFT) |
170 | #define S5P_CLKDIV_DMC0_DMC_SHIFT (12) | 170 | |
171 | #define S5P_CLKDIV_DMC0_DMC_MASK (0x7 << S5P_CLKDIV_DMC0_DMC_SHIFT) | 171 | #define EXYNOS4_CLKDIV_CPU1_COPY_SHIFT 0 |
172 | #define S5P_CLKDIV_DMC0_DMCD_SHIFT (16) | 172 | #define EXYNOS4_CLKDIV_CPU1_COPY_MASK (0x7 << EXYNOS4_CLKDIV_CPU1_COPY_SHIFT) |
173 | #define S5P_CLKDIV_DMC0_DMCD_MASK (0x7 << S5P_CLKDIV_DMC0_DMCD_SHIFT) | 173 | #define EXYNOS4_CLKDIV_CPU1_HPM_SHIFT 4 |
174 | #define S5P_CLKDIV_DMC0_DMCP_SHIFT (20) | 174 | #define EXYNOS4_CLKDIV_CPU1_HPM_MASK (0x7 << EXYNOS4_CLKDIV_CPU1_HPM_SHIFT) |
175 | #define S5P_CLKDIV_DMC0_DMCP_MASK (0x7 << S5P_CLKDIV_DMC0_DMCP_SHIFT) | 175 | #define EXYNOS4_CLKDIV_CPU1_CORES_SHIFT 8 |
176 | #define S5P_CLKDIV_DMC0_COPY2_SHIFT (24) | 176 | #define EXYNOS4_CLKDIV_CPU1_CORES_MASK (0x7 << EXYNOS4_CLKDIV_CPU1_CORES_SHIFT) |
177 | #define S5P_CLKDIV_DMC0_COPY2_MASK (0x7 << S5P_CLKDIV_DMC0_COPY2_SHIFT) | 177 | |
178 | #define S5P_CLKDIV_DMC0_CORETI_SHIFT (28) | 178 | #define EXYNOS4_CLKDIV_DMC0_ACP_SHIFT (0) |
179 | #define S5P_CLKDIV_DMC0_CORETI_MASK (0x7 << S5P_CLKDIV_DMC0_CORETI_SHIFT) | 179 | #define EXYNOS4_CLKDIV_DMC0_ACP_MASK (0x7 << EXYNOS4_CLKDIV_DMC0_ACP_SHIFT) |
180 | 180 | #define EXYNOS4_CLKDIV_DMC0_ACPPCLK_SHIFT (4) | |
181 | #define S5P_CLKDIV_TOP_ACLK200_SHIFT (0) | 181 | #define EXYNOS4_CLKDIV_DMC0_ACPPCLK_MASK (0x7 << EXYNOS4_CLKDIV_DMC0_ACPPCLK_SHIFT) |
182 | #define S5P_CLKDIV_TOP_ACLK200_MASK (0x7 << S5P_CLKDIV_TOP_ACLK200_SHIFT) | 182 | #define EXYNOS4_CLKDIV_DMC0_DPHY_SHIFT (8) |
183 | #define S5P_CLKDIV_TOP_ACLK100_SHIFT (4) | 183 | #define EXYNOS4_CLKDIV_DMC0_DPHY_MASK (0x7 << EXYNOS4_CLKDIV_DMC0_DPHY_SHIFT) |
184 | #define S5P_CLKDIV_TOP_ACLK100_MASK (0xf << S5P_CLKDIV_TOP_ACLK100_SHIFT) | 184 | #define EXYNOS4_CLKDIV_DMC0_DMC_SHIFT (12) |
185 | #define S5P_CLKDIV_TOP_ACLK160_SHIFT (8) | 185 | #define EXYNOS4_CLKDIV_DMC0_DMC_MASK (0x7 << EXYNOS4_CLKDIV_DMC0_DMC_SHIFT) |
186 | #define S5P_CLKDIV_TOP_ACLK160_MASK (0x7 << S5P_CLKDIV_TOP_ACLK160_SHIFT) | 186 | #define EXYNOS4_CLKDIV_DMC0_DMCD_SHIFT (16) |
187 | #define S5P_CLKDIV_TOP_ACLK133_SHIFT (12) | 187 | #define EXYNOS4_CLKDIV_DMC0_DMCD_MASK (0x7 << EXYNOS4_CLKDIV_DMC0_DMCD_SHIFT) |
188 | #define S5P_CLKDIV_TOP_ACLK133_MASK (0x7 << S5P_CLKDIV_TOP_ACLK133_SHIFT) | 188 | #define EXYNOS4_CLKDIV_DMC0_DMCP_SHIFT (20) |
189 | #define S5P_CLKDIV_TOP_ONENAND_SHIFT (16) | 189 | #define EXYNOS4_CLKDIV_DMC0_DMCP_MASK (0x7 << EXYNOS4_CLKDIV_DMC0_DMCP_SHIFT) |
190 | #define S5P_CLKDIV_TOP_ONENAND_MASK (0x7 << S5P_CLKDIV_TOP_ONENAND_SHIFT) | 190 | #define EXYNOS4_CLKDIV_DMC0_COPY2_SHIFT (24) |
191 | 191 | #define EXYNOS4_CLKDIV_DMC0_COPY2_MASK (0x7 << EXYNOS4_CLKDIV_DMC0_COPY2_SHIFT) | |
192 | #define S5P_CLKDIV_BUS_GDLR_SHIFT (0) | 192 | #define EXYNOS4_CLKDIV_DMC0_CORETI_SHIFT (28) |
193 | #define S5P_CLKDIV_BUS_GDLR_MASK (0x7 << S5P_CLKDIV_BUS_GDLR_SHIFT) | 193 | #define EXYNOS4_CLKDIV_DMC0_CORETI_MASK (0x7 << EXYNOS4_CLKDIV_DMC0_CORETI_SHIFT) |
194 | #define S5P_CLKDIV_BUS_GPLR_SHIFT (4) | 194 | |
195 | #define S5P_CLKDIV_BUS_GPLR_MASK (0x7 << S5P_CLKDIV_BUS_GPLR_SHIFT) | 195 | #define EXYNOS4_CLKDIV_DMC1_G2D_ACP_SHIFT (0) |
196 | #define EXYNOS4_CLKDIV_DMC1_G2D_ACP_MASK (0xf << EXYNOS4_CLKDIV_DMC1_G2D_ACP_SHIFT) | ||
197 | #define EXYNOS4_CLKDIV_DMC1_C2C_SHIFT (4) | ||
198 | #define EXYNOS4_CLKDIV_DMC1_C2C_MASK (0x7 << EXYNOS4_CLKDIV_DMC1_C2C_SHIFT) | ||
199 | #define EXYNOS4_CLKDIV_DMC1_PWI_SHIFT (8) | ||
200 | #define EXYNOS4_CLKDIV_DMC1_PWI_MASK (0xf << EXYNOS4_CLKDIV_DMC1_PWI_SHIFT) | ||
201 | #define EXYNOS4_CLKDIV_DMC1_C2CACLK_SHIFT (12) | ||
202 | #define EXYNOS4_CLKDIV_DMC1_C2CACLK_MASK (0x7 << EXYNOS4_CLKDIV_DMC1_C2CACLK_SHIFT) | ||
203 | #define EXYNOS4_CLKDIV_DMC1_DVSEM_SHIFT (16) | ||
204 | #define EXYNOS4_CLKDIV_DMC1_DVSEM_MASK (0x7f << EXYNOS4_CLKDIV_DMC1_DVSEM_SHIFT) | ||
205 | #define EXYNOS4_CLKDIV_DMC1_DPM_SHIFT (24) | ||
206 | #define EXYNOS4_CLKDIV_DMC1_DPM_MASK (0x7f << EXYNOS4_CLKDIV_DMC1_DPM_SHIFT) | ||
207 | |||
208 | #define EXYNOS4_CLKDIV_MFC_SHIFT (0) | ||
209 | #define EXYNOS4_CLKDIV_MFC_MASK (0x7 << EXYNOS4_CLKDIV_MFC_SHIFT) | ||
210 | |||
211 | #define EXYNOS4_CLKDIV_TOP_ACLK200_SHIFT (0) | ||
212 | #define EXYNOS4_CLKDIV_TOP_ACLK200_MASK (0x7 << EXYNOS4_CLKDIV_TOP_ACLK200_SHIFT) | ||
213 | #define EXYNOS4_CLKDIV_TOP_ACLK100_SHIFT (4) | ||
214 | #define EXYNOS4_CLKDIV_TOP_ACLK100_MASK (0xF << EXYNOS4_CLKDIV_TOP_ACLK100_SHIFT) | ||
215 | #define EXYNOS4_CLKDIV_TOP_ACLK160_SHIFT (8) | ||
216 | #define EXYNOS4_CLKDIV_TOP_ACLK160_MASK (0x7 << EXYNOS4_CLKDIV_TOP_ACLK160_SHIFT) | ||
217 | #define EXYNOS4_CLKDIV_TOP_ACLK133_SHIFT (12) | ||
218 | #define EXYNOS4_CLKDIV_TOP_ACLK133_MASK (0x7 << EXYNOS4_CLKDIV_TOP_ACLK133_SHIFT) | ||
219 | #define EXYNOS4_CLKDIV_TOP_ONENAND_SHIFT (16) | ||
220 | #define EXYNOS4_CLKDIV_TOP_ONENAND_MASK (0x7 << EXYNOS4_CLKDIV_TOP_ONENAND_SHIFT) | ||
221 | #define EXYNOS4_CLKDIV_TOP_ACLK266_GPS_SHIFT (20) | ||
222 | #define EXYNOS4_CLKDIV_TOP_ACLK266_GPS_MASK (0x7 << EXYNOS4_CLKDIV_TOP_ACLK266_GPS_SHIFT) | ||
223 | #define EXYNOS4_CLKDIV_TOP_ACLK400_MCUISP_SHIFT (24) | ||
224 | #define EXYNOS4_CLKDIV_TOP_ACLK400_MCUISP_MASK (0x7 << EXYNOS4_CLKDIV_TOP_ACLK400_MCUISP_SHIFT) | ||
225 | |||
226 | #define EXYNOS4_CLKDIV_BUS_GDLR_SHIFT (0) | ||
227 | #define EXYNOS4_CLKDIV_BUS_GDLR_MASK (0x7 << EXYNOS4_CLKDIV_BUS_GDLR_SHIFT) | ||
228 | #define EXYNOS4_CLKDIV_BUS_GPLR_SHIFT (4) | ||
229 | #define EXYNOS4_CLKDIV_BUS_GPLR_MASK (0x7 << EXYNOS4_CLKDIV_BUS_GPLR_SHIFT) | ||
230 | |||
231 | #define EXYNOS4_CLKDIV_CAM_FIMC0_SHIFT (0) | ||
232 | #define EXYNOS4_CLKDIV_CAM_FIMC0_MASK (0xf << EXYNOS4_CLKDIV_CAM_FIMC0_SHIFT) | ||
233 | #define EXYNOS4_CLKDIV_CAM_FIMC1_SHIFT (4) | ||
234 | #define EXYNOS4_CLKDIV_CAM_FIMC1_MASK (0xf << EXYNOS4_CLKDIV_CAM_FIMC1_SHIFT) | ||
235 | #define EXYNOS4_CLKDIV_CAM_FIMC2_SHIFT (8) | ||
236 | #define EXYNOS4_CLKDIV_CAM_FIMC2_MASK (0xf << EXYNOS4_CLKDIV_CAM_FIMC2_SHIFT) | ||
237 | #define EXYNOS4_CLKDIV_CAM_FIMC3_SHIFT (12) | ||
238 | #define EXYNOS4_CLKDIV_CAM_FIMC3_MASK (0xf << EXYNOS4_CLKDIV_CAM_FIMC3_SHIFT) | ||
196 | 239 | ||
197 | /* Only for EXYNOS4210 */ | 240 | /* Only for EXYNOS4210 */ |
198 | 241 | ||
199 | #define S5P_CLKSRC_LCD1 S5P_CLKREG(0x0C238) | 242 | #define EXYNOS4210_CLKSRC_LCD1 EXYNOS_CLKREG(0x0C238) |
200 | #define S5P_CLKSRC_MASK_LCD1 S5P_CLKREG(0x0C338) | 243 | #define EXYNOS4210_CLKSRC_MASK_LCD1 EXYNOS_CLKREG(0x0C338) |
201 | #define S5P_CLKDIV_LCD1 S5P_CLKREG(0x0C538) | 244 | #define EXYNOS4210_CLKDIV_LCD1 EXYNOS_CLKREG(0x0C538) |
202 | #define S5P_CLKGATE_IP_LCD1 S5P_CLKREG(0x0C938) | 245 | #define EXYNOS4210_CLKGATE_IP_LCD1 EXYNOS_CLKREG(0x0C938) |
246 | |||
247 | /* Only for EXYNOS4212 */ | ||
248 | |||
249 | #define EXYNOS4_CLKDIV_CAM1 EXYNOS_CLKREG(0x0C568) | ||
250 | |||
251 | #define EXYNOS4_CLKDIV_STAT_CAM1 EXYNOS_CLKREG(0x0C668) | ||
252 | |||
253 | #define EXYNOS4_CLKDIV_CAM1_JPEG_SHIFT (0) | ||
254 | #define EXYNOS4_CLKDIV_CAM1_JPEG_MASK (0xf << EXYNOS4_CLKDIV_CAM1_JPEG_SHIFT) | ||
255 | |||
256 | /* For EXYNOS5250 */ | ||
257 | |||
258 | #define EXYNOS5_APLL_CON0 EXYNOS_CLKREG(0x00100) | ||
259 | #define EXYNOS5_CLKSRC_CPU EXYNOS_CLKREG(0x00200) | ||
260 | #define EXYNOS5_CLKDIV_CPU0 EXYNOS_CLKREG(0x00500) | ||
261 | #define EXYNOS5_MPLL_CON0 EXYNOS_CLKREG(0x04100) | ||
262 | #define EXYNOS5_CLKSRC_CORE1 EXYNOS_CLKREG(0x04204) | ||
263 | |||
264 | #define EXYNOS5_CLKGATE_IP_CORE EXYNOS_CLKREG(0x04900) | ||
265 | |||
266 | #define EXYNOS5_CLKDIV_ACP EXYNOS_CLKREG(0x08500) | ||
267 | |||
268 | #define EXYNOS5_CLKSRC_TOP2 EXYNOS_CLKREG(0x10218) | ||
269 | #define EXYNOS5_EPLL_CON0 EXYNOS_CLKREG(0x10130) | ||
270 | #define EXYNOS5_EPLL_CON1 EXYNOS_CLKREG(0x10134) | ||
271 | #define EXYNOS5_VPLL_CON0 EXYNOS_CLKREG(0x10140) | ||
272 | #define EXYNOS5_VPLL_CON1 EXYNOS_CLKREG(0x10144) | ||
273 | #define EXYNOS5_CPLL_CON0 EXYNOS_CLKREG(0x10120) | ||
274 | |||
275 | #define EXYNOS5_CLKSRC_TOP0 EXYNOS_CLKREG(0x10210) | ||
276 | #define EXYNOS5_CLKSRC_TOP3 EXYNOS_CLKREG(0x1021C) | ||
277 | #define EXYNOS5_CLKSRC_GSCL EXYNOS_CLKREG(0x10220) | ||
278 | #define EXYNOS5_CLKSRC_DISP1_0 EXYNOS_CLKREG(0x1022C) | ||
279 | #define EXYNOS5_CLKSRC_FSYS EXYNOS_CLKREG(0x10244) | ||
280 | #define EXYNOS5_CLKSRC_PERIC0 EXYNOS_CLKREG(0x10250) | ||
281 | |||
282 | #define EXYNOS5_CLKSRC_MASK_TOP EXYNOS_CLKREG(0x10310) | ||
283 | #define EXYNOS5_CLKSRC_MASK_GSCL EXYNOS_CLKREG(0x10320) | ||
284 | #define EXYNOS5_CLKSRC_MASK_DISP1_0 EXYNOS_CLKREG(0x1032C) | ||
285 | #define EXYNOS5_CLKSRC_MASK_FSYS EXYNOS_CLKREG(0x10340) | ||
286 | #define EXYNOS5_CLKSRC_MASK_PERIC0 EXYNOS_CLKREG(0x10350) | ||
287 | |||
288 | #define EXYNOS5_CLKDIV_TOP0 EXYNOS_CLKREG(0x10510) | ||
289 | #define EXYNOS5_CLKDIV_TOP1 EXYNOS_CLKREG(0x10514) | ||
290 | #define EXYNOS5_CLKDIV_GSCL EXYNOS_CLKREG(0x10520) | ||
291 | #define EXYNOS5_CLKDIV_DISP1_0 EXYNOS_CLKREG(0x1052C) | ||
292 | #define EXYNOS5_CLKDIV_GEN EXYNOS_CLKREG(0x1053C) | ||
293 | #define EXYNOS5_CLKDIV_FSYS0 EXYNOS_CLKREG(0x10548) | ||
294 | #define EXYNOS5_CLKDIV_FSYS1 EXYNOS_CLKREG(0x1054C) | ||
295 | #define EXYNOS5_CLKDIV_FSYS2 EXYNOS_CLKREG(0x10550) | ||
296 | #define EXYNOS5_CLKDIV_FSYS3 EXYNOS_CLKREG(0x10554) | ||
297 | #define EXYNOS5_CLKDIV_PERIC0 EXYNOS_CLKREG(0x10558) | ||
298 | |||
299 | #define EXYNOS5_CLKGATE_IP_ACP EXYNOS_CLKREG(0x08800) | ||
300 | #define EXYNOS5_CLKGATE_IP_GSCL EXYNOS_CLKREG(0x10920) | ||
301 | #define EXYNOS5_CLKGATE_IP_DISP1 EXYNOS_CLKREG(0x10928) | ||
302 | #define EXYNOS5_CLKGATE_IP_MFC EXYNOS_CLKREG(0x1092C) | ||
303 | #define EXYNOS5_CLKGATE_IP_GEN EXYNOS_CLKREG(0x10934) | ||
304 | #define EXYNOS5_CLKGATE_IP_FSYS EXYNOS_CLKREG(0x10944) | ||
305 | #define EXYNOS5_CLKGATE_IP_GPS EXYNOS_CLKREG(0x1094C) | ||
306 | #define EXYNOS5_CLKGATE_IP_PERIC EXYNOS_CLKREG(0x10950) | ||
307 | #define EXYNOS5_CLKGATE_IP_PERIS EXYNOS_CLKREG(0x10960) | ||
308 | #define EXYNOS5_CLKGATE_BLOCK EXYNOS_CLKREG(0x10980) | ||
309 | |||
310 | #define EXYNOS5_BPLL_CON0 EXYNOS_CLKREG(0x20110) | ||
311 | #define EXYNOS5_CLKSRC_CDREX EXYNOS_CLKREG(0x20200) | ||
312 | #define EXYNOS5_CLKDIV_CDREX EXYNOS_CLKREG(0x20500) | ||
313 | |||
314 | #define EXYNOS5_EPLL_LOCK EXYNOS_CLKREG(0x10030) | ||
315 | |||
316 | #define EXYNOS5_EPLLCON0_LOCKED_SHIFT (29) | ||
203 | 317 | ||
204 | /* Compatibility defines and inclusion */ | 318 | /* Compatibility defines and inclusion */ |
205 | 319 | ||
206 | #include <mach/regs-pmu.h> | 320 | #include <mach/regs-pmu.h> |
207 | 321 | ||
208 | #define S5P_EPLL_CON S5P_EPLL_CON0 | 322 | #define S5P_EPLL_CON EXYNOS4_EPLL_CON0 |
209 | 323 | ||
210 | #endif /* __ASM_ARCH_REGS_CLOCK_H */ | 324 | #endif /* __ASM_ARCH_REGS_CLOCK_H */ |
diff --git a/arch/arm/mach-exynos/include/mach/regs-gpio.h b/arch/arm/mach-exynos/include/mach/regs-gpio.h index 1401b21663a5..e4b5b60dcb85 100644 --- a/arch/arm/mach-exynos/include/mach/regs-gpio.h +++ b/arch/arm/mach-exynos/include/mach/regs-gpio.h | |||
@@ -16,6 +16,15 @@ | |||
16 | #include <mach/map.h> | 16 | #include <mach/map.h> |
17 | #include <mach/irqs.h> | 17 | #include <mach/irqs.h> |
18 | 18 | ||
19 | #define EINT_REG_NR(x) (EINT_OFFSET(x) >> 3) | ||
20 | #define EINT_CON(b, x) (b + 0xE00 + (EINT_REG_NR(x) * 4)) | ||
21 | #define EINT_FLTCON(b, x) (b + 0xE80 + (EINT_REG_NR(x) * 4)) | ||
22 | #define EINT_MASK(b, x) (b + 0xF00 + (EINT_REG_NR(x) * 4)) | ||
23 | #define EINT_PEND(b, x) (b + 0xF40 + (EINT_REG_NR(x) * 4)) | ||
24 | |||
25 | #define EINT_OFFSET_BIT(x) (1 << (EINT_OFFSET(x) & 0x7)) | ||
26 | |||
27 | /* compatibility for plat-s5p/irq-pm.c */ | ||
19 | #define EXYNOS4_EINT40CON (S5P_VA_GPIO2 + 0xE00) | 28 | #define EXYNOS4_EINT40CON (S5P_VA_GPIO2 + 0xE00) |
20 | #define S5P_EINT_CON(x) (EXYNOS4_EINT40CON + ((x) * 0x4)) | 29 | #define S5P_EINT_CON(x) (EXYNOS4_EINT40CON + ((x) * 0x4)) |
21 | 30 | ||
@@ -28,15 +37,4 @@ | |||
28 | #define EXYNOS4_EINT40PEND (S5P_VA_GPIO2 + 0xF40) | 37 | #define EXYNOS4_EINT40PEND (S5P_VA_GPIO2 + 0xF40) |
29 | #define S5P_EINT_PEND(x) (EXYNOS4_EINT40PEND + ((x) * 0x4)) | 38 | #define S5P_EINT_PEND(x) (EXYNOS4_EINT40PEND + ((x) * 0x4)) |
30 | 39 | ||
31 | #define EINT_REG_NR(x) (EINT_OFFSET(x) >> 3) | ||
32 | |||
33 | #define eint_irq_to_bit(irq) (1 << (EINT_OFFSET(irq) & 0x7)) | ||
34 | |||
35 | #define EINT_MODE S3C_GPIO_SFN(0xf) | ||
36 | |||
37 | #define EINT_GPIO_0(x) EXYNOS4_GPX0(x) | ||
38 | #define EINT_GPIO_1(x) EXYNOS4_GPX1(x) | ||
39 | #define EINT_GPIO_2(x) EXYNOS4_GPX2(x) | ||
40 | #define EINT_GPIO_3(x) EXYNOS4_GPX3(x) | ||
41 | |||
42 | #endif /* __ASM_ARCH_REGS_GPIO_H */ | 40 | #endif /* __ASM_ARCH_REGS_GPIO_H */ |
diff --git a/arch/arm/mach-exynos/include/mach/regs-pmu.h b/arch/arm/mach-exynos/include/mach/regs-pmu.h index 4fff8e938fec..4c53f38b5a9e 100644 --- a/arch/arm/mach-exynos/include/mach/regs-pmu.h +++ b/arch/arm/mach-exynos/include/mach/regs-pmu.h | |||
@@ -31,6 +31,7 @@ | |||
31 | #define S5P_USE_STANDBYWFE_ISP_ARM (1 << 26) | 31 | #define S5P_USE_STANDBYWFE_ISP_ARM (1 << 26) |
32 | 32 | ||
33 | #define S5P_SWRESET S5P_PMUREG(0x0400) | 33 | #define S5P_SWRESET S5P_PMUREG(0x0400) |
34 | #define EXYNOS_SWRESET S5P_PMUREG(0x0400) | ||
34 | 35 | ||
35 | #define S5P_WAKEUP_STAT S5P_PMUREG(0x0600) | 36 | #define S5P_WAKEUP_STAT S5P_PMUREG(0x0600) |
36 | #define S5P_EINT_WAKEUP_MASK S5P_PMUREG(0x0604) | 37 | #define S5P_EINT_WAKEUP_MASK S5P_PMUREG(0x0604) |
diff --git a/arch/arm/mach-exynos/include/mach/system.h b/arch/arm/mach-exynos/include/mach/system.h deleted file mode 100644 index 0063a6de3dc8..000000000000 --- a/arch/arm/mach-exynos/include/mach/system.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-exynos4/include/mach/system.h | ||
2 | * | ||
3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | ||
5 | * | ||
6 | * EXYNOS4 - system support header | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_SYSTEM_H | ||
14 | #define __ASM_ARCH_SYSTEM_H __FILE__ | ||
15 | |||
16 | static void arch_idle(void) | ||
17 | { | ||
18 | /* nothing here yet */ | ||
19 | } | ||
20 | #endif /* __ASM_ARCH_SYSTEM_H */ | ||
diff --git a/arch/arm/mach-exynos/include/mach/uncompress.h b/arch/arm/mach-exynos/include/mach/uncompress.h index 21d97bcd9acb..493f4f365ddf 100644 --- a/arch/arm/mach-exynos/include/mach/uncompress.h +++ b/arch/arm/mach-exynos/include/mach/uncompress.h | |||
@@ -1,9 +1,8 @@ | |||
1 | /* linux/arch/arm/mach-exynos4/include/mach/uncompress.h | 1 | /* |
2 | * | 2 | * Copyright (c) 2010-2012 Samsung Electronics Co., Ltd. |
3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | 3 | * http://www.samsung.com |
5 | * | 4 | * |
6 | * EXYNOS4 - uncompress code | 5 | * EXYNOS - uncompress code |
7 | * | 6 | * |
8 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 8 | * it under the terms of the GNU General Public License version 2 as |
@@ -13,12 +12,20 @@ | |||
13 | #ifndef __ASM_ARCH_UNCOMPRESS_H | 12 | #ifndef __ASM_ARCH_UNCOMPRESS_H |
14 | #define __ASM_ARCH_UNCOMPRESS_H __FILE__ | 13 | #define __ASM_ARCH_UNCOMPRESS_H __FILE__ |
15 | 14 | ||
15 | #include <asm/mach-types.h> | ||
16 | |||
16 | #include <mach/map.h> | 17 | #include <mach/map.h> |
18 | |||
19 | volatile u8 *uart_base; | ||
20 | |||
17 | #include <plat/uncompress.h> | 21 | #include <plat/uncompress.h> |
18 | 22 | ||
19 | static void arch_detect_cpu(void) | 23 | static void arch_detect_cpu(void) |
20 | { | 24 | { |
21 | /* we do not need to do any cpu detection here at the moment. */ | 25 | if (machine_is_smdk5250()) |
26 | uart_base = (volatile u8 *)EXYNOS5_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT); | ||
27 | else | ||
28 | uart_base = (volatile u8 *)EXYNOS4_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT); | ||
22 | 29 | ||
23 | /* | 30 | /* |
24 | * For preventing FIFO overrun or infinite loop of UART console, | 31 | * For preventing FIFO overrun or infinite loop of UART console, |