diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2012-09-19 13:31:19 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-01-29 12:47:37 -0500 |
commit | 7a4f26097d389c16c9956bc03b81532698d97d64 (patch) | |
tree | 7b8ef72b5ab68de1724fa7afc3dcf6926c278ee2 | |
parent | b5bbd41784cb607dd4499e893a660a04873d830b (diff) |
ARM: ux500: de-globalize <mach/id.h>
This removes the file <mach/id.h> from the global kernel include
scope, making it a pure mach-ux500 detail. All ASIC specifics
needed by drivers shall henceforth be passed from either platform
data or the device tree.
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-uib.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cache-l2x0.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu-db8500.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ux500/id.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/id.h (renamed from arch/arm/mach-ux500/include/mach/id.h) | 0 | ||||
-rw-r--r-- | arch/arm/mach-ux500/include/mach/hardware.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-ux500/platsmp.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-ux500/timer.c | 2 | ||||
-rw-r--r-- | drivers/cpufreq/db8500-cpufreq.c | 3 | ||||
-rw-r--r-- | drivers/mfd/db8500-prcmu.c | 17 | ||||
-rw-r--r-- | include/linux/mfd/dbx500-prcmu.h | 2 |
12 files changed, 19 insertions, 18 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-uib.c b/arch/arm/mach-ux500/board-mop500-uib.c index 1f47d962e3a1..7037d3687e9f 100644 --- a/arch/arm/mach-ux500/board-mop500-uib.c +++ b/arch/arm/mach-ux500/board-mop500-uib.c | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | #include <mach/hardware.h> | 14 | #include <mach/hardware.h> |
15 | #include "board-mop500.h" | 15 | #include "board-mop500.h" |
16 | #include "id.h" | ||
16 | 17 | ||
17 | enum mop500_uib { | 18 | enum mop500_uib { |
18 | STUIB, | 19 | STUIB, |
diff --git a/arch/arm/mach-ux500/cache-l2x0.c b/arch/arm/mach-ux500/cache-l2x0.c index 75d5b512a3d5..1c1609da76ce 100644 --- a/arch/arm/mach-ux500/cache-l2x0.c +++ b/arch/arm/mach-ux500/cache-l2x0.c | |||
@@ -10,7 +10,8 @@ | |||
10 | #include <asm/cacheflush.h> | 10 | #include <asm/cacheflush.h> |
11 | #include <asm/hardware/cache-l2x0.h> | 11 | #include <asm/hardware/cache-l2x0.h> |
12 | #include <mach/hardware.h> | 12 | #include <mach/hardware.h> |
13 | #include <mach/id.h> | 13 | |
14 | #include "id.h" | ||
14 | 15 | ||
15 | static void __iomem *l2x0_base; | 16 | static void __iomem *l2x0_base; |
16 | 17 | ||
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index db0bb75e2c76..09c3fee726d4 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c | |||
@@ -37,7 +37,9 @@ | |||
37 | 37 | ||
38 | #include "devices-db8500.h" | 38 | #include "devices-db8500.h" |
39 | #include "ste-dma40-db8500.h" | 39 | #include "ste-dma40-db8500.h" |
40 | |||
40 | #include "board-mop500.h" | 41 | #include "board-mop500.h" |
42 | #include "id.h" | ||
41 | 43 | ||
42 | /* minimum static i/o mapping required to boot U8500 platforms */ | 44 | /* minimum static i/o mapping required to boot U8500 platforms */ |
43 | static struct map_desc u8500_uart_io_desc[] __initdata = { | 45 | static struct map_desc u8500_uart_io_desc[] __initdata = { |
diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c index 721e7b4275f3..14b7d686f527 100644 --- a/arch/arm/mach-ux500/cpu.c +++ b/arch/arm/mach-ux500/cpu.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <mach/devices.h> | 27 | #include <mach/devices.h> |
28 | 28 | ||
29 | #include "board-mop500.h" | 29 | #include "board-mop500.h" |
30 | #include "id.h" | ||
30 | 31 | ||
31 | void __iomem *_PRCMU_BASE; | 32 | void __iomem *_PRCMU_BASE; |
32 | 33 | ||
diff --git a/arch/arm/mach-ux500/id.c b/arch/arm/mach-ux500/id.c index d1579920139f..9f951842e1e5 100644 --- a/arch/arm/mach-ux500/id.c +++ b/arch/arm/mach-ux500/id.c | |||
@@ -17,6 +17,8 @@ | |||
17 | #include <mach/hardware.h> | 17 | #include <mach/hardware.h> |
18 | #include <mach/setup.h> | 18 | #include <mach/setup.h> |
19 | 19 | ||
20 | #include "id.h" | ||
21 | |||
20 | struct dbx500_asic_id dbx500_id; | 22 | struct dbx500_asic_id dbx500_id; |
21 | 23 | ||
22 | static unsigned int ux500_read_asicid(phys_addr_t addr) | 24 | static unsigned int ux500_read_asicid(phys_addr_t addr) |
diff --git a/arch/arm/mach-ux500/include/mach/id.h b/arch/arm/mach-ux500/id.h index bcc58a8cccbc..bcc58a8cccbc 100644 --- a/arch/arm/mach-ux500/include/mach/id.h +++ b/arch/arm/mach-ux500/id.h | |||
diff --git a/arch/arm/mach-ux500/include/mach/hardware.h b/arch/arm/mach-ux500/include/mach/hardware.h index 28d16e744bfd..5201ddace503 100644 --- a/arch/arm/mach-ux500/include/mach/hardware.h +++ b/arch/arm/mach-ux500/include/mach/hardware.h | |||
@@ -39,7 +39,6 @@ | |||
39 | 39 | ||
40 | #ifndef __ASSEMBLY__ | 40 | #ifndef __ASSEMBLY__ |
41 | 41 | ||
42 | #include <mach/id.h> | ||
43 | extern void __iomem *_PRCMU_BASE; | 42 | extern void __iomem *_PRCMU_BASE; |
44 | 43 | ||
45 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) | 44 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
diff --git a/arch/arm/mach-ux500/platsmp.c b/arch/arm/mach-ux500/platsmp.c index 3db7782f3afb..1a92e071bd61 100644 --- a/arch/arm/mach-ux500/platsmp.c +++ b/arch/arm/mach-ux500/platsmp.c | |||
@@ -21,9 +21,12 @@ | |||
21 | #include <asm/hardware/gic.h> | 21 | #include <asm/hardware/gic.h> |
22 | #include <asm/smp_plat.h> | 22 | #include <asm/smp_plat.h> |
23 | #include <asm/smp_scu.h> | 23 | #include <asm/smp_scu.h> |
24 | |||
24 | #include <mach/hardware.h> | 25 | #include <mach/hardware.h> |
25 | #include <mach/setup.h> | 26 | #include <mach/setup.h> |
26 | 27 | ||
28 | #include "id.h" | ||
29 | |||
27 | /* This is called from headsmp.S to wakeup the secondary core */ | 30 | /* This is called from headsmp.S to wakeup the secondary core */ |
28 | extern void u8500_secondary_startup(void); | 31 | extern void u8500_secondary_startup(void); |
29 | 32 | ||
diff --git a/arch/arm/mach-ux500/timer.c b/arch/arm/mach-ux500/timer.c index 875309acb022..c685ad1a2099 100644 --- a/arch/arm/mach-ux500/timer.c +++ b/arch/arm/mach-ux500/timer.c | |||
@@ -17,6 +17,8 @@ | |||
17 | #include <mach/hardware.h> | 17 | #include <mach/hardware.h> |
18 | #include <mach/irqs.h> | 18 | #include <mach/irqs.h> |
19 | 19 | ||
20 | #include "id.h" | ||
21 | |||
20 | #ifdef CONFIG_HAVE_ARM_TWD | 22 | #ifdef CONFIG_HAVE_ARM_TWD |
21 | static DEFINE_TWD_LOCAL_TIMER(u8500_twd_local_timer, | 23 | static DEFINE_TWD_LOCAL_TIMER(u8500_twd_local_timer, |
22 | U8500_TWD_BASE, IRQ_LOCALTIMER); | 24 | U8500_TWD_BASE, IRQ_LOCALTIMER); |
diff --git a/drivers/cpufreq/db8500-cpufreq.c b/drivers/cpufreq/db8500-cpufreq.c index 4f154bc0ebe4..523c9403bfce 100644 --- a/drivers/cpufreq/db8500-cpufreq.c +++ b/drivers/cpufreq/db8500-cpufreq.c | |||
@@ -167,9 +167,6 @@ static struct platform_driver db8500_cpufreq_plat_driver = { | |||
167 | 167 | ||
168 | static int __init db8500_cpufreq_register(void) | 168 | static int __init db8500_cpufreq_register(void) |
169 | { | 169 | { |
170 | if (!cpu_is_u8500_family()) | ||
171 | return -ENODEV; | ||
172 | |||
173 | pr_info("cpufreq for DB8500 started\n"); | 170 | pr_info("cpufreq for DB8500 started\n"); |
174 | return platform_driver_register(&db8500_cpufreq_plat_driver); | 171 | return platform_driver_register(&db8500_cpufreq_plat_driver); |
175 | } | 172 | } |
diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c index dc8826d8d69d..67d8b25d183e 100644 --- a/drivers/mfd/db8500-prcmu.c +++ b/drivers/mfd/db8500-prcmu.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include <mach/hardware.h> | 36 | #include <mach/hardware.h> |
37 | #include <mach/irqs.h> | 37 | #include <mach/irqs.h> |
38 | #include <mach/db8500-regs.h> | 38 | #include <mach/db8500-regs.h> |
39 | #include <mach/id.h> | ||
40 | #include "dbx500-prcmu-regs.h" | 39 | #include "dbx500-prcmu-regs.h" |
41 | 40 | ||
42 | /* Offset for the firmware version within the TCPM */ | 41 | /* Offset for the firmware version within the TCPM */ |
@@ -216,10 +215,8 @@ | |||
216 | #define PRCM_REQ_MB5_I2C_HW_BITS (PRCM_REQ_MB5 + 0x1) | 215 | #define PRCM_REQ_MB5_I2C_HW_BITS (PRCM_REQ_MB5 + 0x1) |
217 | #define PRCM_REQ_MB5_I2C_REG (PRCM_REQ_MB5 + 0x2) | 216 | #define PRCM_REQ_MB5_I2C_REG (PRCM_REQ_MB5 + 0x2) |
218 | #define PRCM_REQ_MB5_I2C_VAL (PRCM_REQ_MB5 + 0x3) | 217 | #define PRCM_REQ_MB5_I2C_VAL (PRCM_REQ_MB5 + 0x3) |
219 | #define PRCMU_I2C_WRITE(slave) \ | 218 | #define PRCMU_I2C_WRITE(slave) (((slave) << 1) | BIT(6)) |
220 | (((slave) << 1) | (cpu_is_u8500v2() ? BIT(6) : 0)) | 219 | #define PRCMU_I2C_READ(slave) (((slave) << 1) | BIT(0) | BIT(6)) |
221 | #define PRCMU_I2C_READ(slave) \ | ||
222 | (((slave) << 1) | BIT(0) | (cpu_is_u8500v2() ? BIT(6) : 0)) | ||
223 | #define PRCMU_I2C_STOP_EN BIT(3) | 220 | #define PRCMU_I2C_STOP_EN BIT(3) |
224 | 221 | ||
225 | /* Mailbox 5 ACKs */ | 222 | /* Mailbox 5 ACKs */ |
@@ -1049,12 +1046,13 @@ int db8500_prcmu_get_ddr_opp(void) | |||
1049 | * | 1046 | * |
1050 | * This function sets the operating point of the DDR. | 1047 | * This function sets the operating point of the DDR. |
1051 | */ | 1048 | */ |
1049 | static bool enable_set_ddr_opp; | ||
1052 | int db8500_prcmu_set_ddr_opp(u8 opp) | 1050 | int db8500_prcmu_set_ddr_opp(u8 opp) |
1053 | { | 1051 | { |
1054 | if (opp < DDR_100_OPP || opp > DDR_25_OPP) | 1052 | if (opp < DDR_100_OPP || opp > DDR_25_OPP) |
1055 | return -EINVAL; | 1053 | return -EINVAL; |
1056 | /* Changing the DDR OPP can hang the hardware pre-v21 */ | 1054 | /* Changing the DDR OPP can hang the hardware pre-v21 */ |
1057 | if (cpu_is_u8500v20_or_later() && !cpu_is_u8500v20()) | 1055 | if (enable_set_ddr_opp) |
1058 | writeb(opp, PRCM_DDR_SUBSYS_APE_MINBW); | 1056 | writeb(opp, PRCM_DDR_SUBSYS_APE_MINBW); |
1059 | 1057 | ||
1060 | return 0; | 1058 | return 0; |
@@ -2790,6 +2788,7 @@ void __init db8500_prcmu_early_init(void) | |||
2790 | pr_err("prcmu: Unsupported chip version\n"); | 2788 | pr_err("prcmu: Unsupported chip version\n"); |
2791 | BUG(); | 2789 | BUG(); |
2792 | } | 2790 | } |
2791 | tcdm_base = __io_address(U8500_PRCMU_TCDM_BASE); | ||
2793 | 2792 | ||
2794 | spin_lock_init(&mb0_transfer.lock); | 2793 | spin_lock_init(&mb0_transfer.lock); |
2795 | spin_lock_init(&mb0_transfer.dbb_irqs_lock); | 2794 | spin_lock_init(&mb0_transfer.dbb_irqs_lock); |
@@ -3104,9 +3103,6 @@ static int db8500_prcmu_probe(struct platform_device *pdev) | |||
3104 | struct device_node *np = pdev->dev.of_node; | 3103 | struct device_node *np = pdev->dev.of_node; |
3105 | int irq = 0, err = 0, i; | 3104 | int irq = 0, err = 0, i; |
3106 | 3105 | ||
3107 | if (ux500_is_svp()) | ||
3108 | return -ENODEV; | ||
3109 | |||
3110 | init_prcm_registers(); | 3106 | init_prcm_registers(); |
3111 | 3107 | ||
3112 | /* Clean up the mailbox interrupts after pre-kernel code. */ | 3108 | /* Clean up the mailbox interrupts after pre-kernel code. */ |
@@ -3135,8 +3131,7 @@ static int db8500_prcmu_probe(struct platform_device *pdev) | |||
3135 | } | 3131 | } |
3136 | } | 3132 | } |
3137 | 3133 | ||
3138 | if (cpu_is_u8500v20_or_later()) | 3134 | prcmu_config_esram0_deep_sleep(ESRAM0_DEEP_SLEEP_STATE_RET); |
3139 | prcmu_config_esram0_deep_sleep(ESRAM0_DEEP_SLEEP_STATE_RET); | ||
3140 | 3135 | ||
3141 | db8500_prcmu_update_cpufreq(); | 3136 | db8500_prcmu_update_cpufreq(); |
3142 | 3137 | ||
diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h index ac601470962c..155280642583 100644 --- a/include/linux/mfd/dbx500-prcmu.h +++ b/include/linux/mfd/dbx500-prcmu.h | |||
@@ -218,8 +218,6 @@ enum ddr_pwrst { | |||
218 | 218 | ||
219 | #if defined(CONFIG_UX500_SOC_DB8500) | 219 | #if defined(CONFIG_UX500_SOC_DB8500) |
220 | 220 | ||
221 | #include <mach/id.h> | ||
222 | |||
223 | static inline void __init prcmu_early_init(void) | 221 | static inline void __init prcmu_early_init(void) |
224 | { | 222 | { |
225 | return db8500_prcmu_early_init(); | 223 | return db8500_prcmu_early_init(); |