diff options
| -rw-r--r-- | arch/arm/mach-imx/cpu-imx5.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-imx/imx51-dt.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-cpuimx51.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-cpuimx51sd.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-mx51_3ds.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-mx51_babbage.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-mx51_efikamx.c | 42 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-mx51_efikasb.c | 28 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-pcm037.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-pcm037_eet.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mm-imx5.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-imx/pcm037.h | 6 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/common.h | 7 |
13 files changed, 71 insertions, 39 deletions
diff --git a/arch/arm/mach-imx/cpu-imx5.c b/arch/arm/mach-imx/cpu-imx5.c index aa15c517d06e..8eb15a2fcaf9 100644 --- a/arch/arm/mach-imx/cpu-imx5.c +++ b/arch/arm/mach-imx/cpu-imx5.c | |||
| @@ -62,11 +62,8 @@ EXPORT_SYMBOL(mx51_revision); | |||
| 62 | * Dependent on link order - so the assumption is that vfp_init is called | 62 | * Dependent on link order - so the assumption is that vfp_init is called |
| 63 | * before us. | 63 | * before us. |
| 64 | */ | 64 | */ |
| 65 | static int __init mx51_neon_fixup(void) | 65 | int __init mx51_neon_fixup(void) |
| 66 | { | 66 | { |
| 67 | if (!cpu_is_mx51()) | ||
| 68 | return 0; | ||
| 69 | |||
| 70 | if (mx51_revision() < IMX_CHIP_REVISION_3_0 && | 67 | if (mx51_revision() < IMX_CHIP_REVISION_3_0 && |
| 71 | (elf_hwcap & HWCAP_NEON)) { | 68 | (elf_hwcap & HWCAP_NEON)) { |
| 72 | elf_hwcap &= ~HWCAP_NEON; | 69 | elf_hwcap &= ~HWCAP_NEON; |
| @@ -75,7 +72,6 @@ static int __init mx51_neon_fixup(void) | |||
| 75 | return 0; | 72 | return 0; |
| 76 | } | 73 | } |
| 77 | 74 | ||
| 78 | late_initcall(mx51_neon_fixup); | ||
| 79 | #endif | 75 | #endif |
| 80 | 76 | ||
| 81 | static int get_mx53_srev(void) | 77 | static int get_mx53_srev(void) |
diff --git a/arch/arm/mach-imx/imx51-dt.c b/arch/arm/mach-imx/imx51-dt.c index 5cca573964f0..da4f4f5ddd42 100644 --- a/arch/arm/mach-imx/imx51-dt.c +++ b/arch/arm/mach-imx/imx51-dt.c | |||
| @@ -115,6 +115,7 @@ DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)") | |||
| 115 | .handle_irq = imx51_handle_irq, | 115 | .handle_irq = imx51_handle_irq, |
| 116 | .timer = &imx51_timer, | 116 | .timer = &imx51_timer, |
| 117 | .init_machine = imx51_dt_init, | 117 | .init_machine = imx51_dt_init, |
| 118 | .init_late = imx51_init_late, | ||
| 118 | .dt_compat = imx51_dt_board_compat, | 119 | .dt_compat = imx51_dt_board_compat, |
| 119 | .restart = mxc_restart, | 120 | .restart = mxc_restart, |
| 120 | MACHINE_END | 121 | MACHINE_END |
diff --git a/arch/arm/mach-imx/mach-cpuimx51.c b/arch/arm/mach-imx/mach-cpuimx51.c index 944025da8333..4bd7c7679b1c 100644 --- a/arch/arm/mach-imx/mach-cpuimx51.c +++ b/arch/arm/mach-imx/mach-cpuimx51.c | |||
| @@ -297,5 +297,6 @@ MACHINE_START(EUKREA_CPUIMX51, "Eukrea CPUIMX51 Module") | |||
| 297 | .handle_irq = imx51_handle_irq, | 297 | .handle_irq = imx51_handle_irq, |
| 298 | .timer = &mxc_timer, | 298 | .timer = &mxc_timer, |
| 299 | .init_machine = eukrea_cpuimx51_init, | 299 | .init_machine = eukrea_cpuimx51_init, |
| 300 | .init_late = imx51_init_late, | ||
| 300 | .restart = mxc_restart, | 301 | .restart = mxc_restart, |
| 301 | MACHINE_END | 302 | MACHINE_END |
diff --git a/arch/arm/mach-imx/mach-cpuimx51sd.c b/arch/arm/mach-imx/mach-cpuimx51sd.c index 9fbe923c8b08..0b8770fe7eae 100644 --- a/arch/arm/mach-imx/mach-cpuimx51sd.c +++ b/arch/arm/mach-imx/mach-cpuimx51sd.c | |||
| @@ -335,5 +335,6 @@ MACHINE_START(EUKREA_CPUIMX51SD, "Eukrea CPUIMX51SD") | |||
| 335 | .handle_irq = imx51_handle_irq, | 335 | .handle_irq = imx51_handle_irq, |
| 336 | .timer = &mxc_timer, | 336 | .timer = &mxc_timer, |
| 337 | .init_machine = eukrea_cpuimx51sd_init, | 337 | .init_machine = eukrea_cpuimx51sd_init, |
| 338 | .init_late = imx51_init_late, | ||
| 338 | .restart = mxc_restart, | 339 | .restart = mxc_restart, |
| 339 | MACHINE_END | 340 | MACHINE_END |
diff --git a/arch/arm/mach-imx/mach-mx51_3ds.c b/arch/arm/mach-imx/mach-mx51_3ds.c index 83eab4176ca4..3c5b163923f6 100644 --- a/arch/arm/mach-imx/mach-mx51_3ds.c +++ b/arch/arm/mach-imx/mach-mx51_3ds.c | |||
| @@ -175,5 +175,6 @@ MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board") | |||
| 175 | .handle_irq = imx51_handle_irq, | 175 | .handle_irq = imx51_handle_irq, |
| 176 | .timer = &mx51_3ds_timer, | 176 | .timer = &mx51_3ds_timer, |
| 177 | .init_machine = mx51_3ds_init, | 177 | .init_machine = mx51_3ds_init, |
| 178 | .init_late = imx51_init_late, | ||
| 178 | .restart = mxc_restart, | 179 | .restart = mxc_restart, |
| 179 | MACHINE_END | 180 | MACHINE_END |
diff --git a/arch/arm/mach-imx/mach-mx51_babbage.c b/arch/arm/mach-imx/mach-mx51_babbage.c index e4b822e9f719..f3b01157108d 100644 --- a/arch/arm/mach-imx/mach-mx51_babbage.c +++ b/arch/arm/mach-imx/mach-mx51_babbage.c | |||
| @@ -426,5 +426,6 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board") | |||
| 426 | .handle_irq = imx51_handle_irq, | 426 | .handle_irq = imx51_handle_irq, |
| 427 | .timer = &mx51_babbage_timer, | 427 | .timer = &mx51_babbage_timer, |
| 428 | .init_machine = mx51_babbage_init, | 428 | .init_machine = mx51_babbage_init, |
| 429 | .init_late = imx51_init_late, | ||
| 429 | .restart = mxc_restart, | 430 | .restart = mxc_restart, |
| 430 | MACHINE_END | 431 | MACHINE_END |
diff --git a/arch/arm/mach-imx/mach-mx51_efikamx.c b/arch/arm/mach-imx/mach-mx51_efikamx.c index 586e9f822124..a9f3c7c5a1e0 100644 --- a/arch/arm/mach-imx/mach-mx51_efikamx.c +++ b/arch/arm/mach-imx/mach-mx51_efikamx.c | |||
| @@ -207,29 +207,32 @@ static void mx51_efikamx_power_off(void) | |||
| 207 | 207 | ||
| 208 | static int __init mx51_efikamx_power_init(void) | 208 | static int __init mx51_efikamx_power_init(void) |
| 209 | { | 209 | { |
| 210 | if (machine_is_mx51_efikamx()) { | 210 | pwgt1 = regulator_get(NULL, "pwgt1"); |
| 211 | pwgt1 = regulator_get(NULL, "pwgt1"); | 211 | pwgt2 = regulator_get(NULL, "pwgt2"); |
| 212 | pwgt2 = regulator_get(NULL, "pwgt2"); | 212 | if (!IS_ERR(pwgt1) && !IS_ERR(pwgt2)) { |
| 213 | if (!IS_ERR(pwgt1) && !IS_ERR(pwgt2)) { | 213 | regulator_enable(pwgt1); |
| 214 | regulator_enable(pwgt1); | 214 | regulator_enable(pwgt2); |
| 215 | regulator_enable(pwgt2); | 215 | } |
| 216 | } | 216 | gpio_request(EFIKAMX_POWEROFF, "poweroff"); |
| 217 | gpio_request(EFIKAMX_POWEROFF, "poweroff"); | 217 | pm_power_off = mx51_efikamx_power_off; |
| 218 | pm_power_off = mx51_efikamx_power_off; | 218 | |
| 219 | 219 | /* enable coincell charger. maybe need a small power driver ? */ | |
| 220 | /* enable coincell charger. maybe need a small power driver ? */ | 220 | coincell = regulator_get(NULL, "coincell"); |
| 221 | coincell = regulator_get(NULL, "coincell"); | 221 | if (!IS_ERR(coincell)) { |
| 222 | if (!IS_ERR(coincell)) { | 222 | regulator_set_voltage(coincell, 3000000, 3000000); |
| 223 | regulator_set_voltage(coincell, 3000000, 3000000); | 223 | regulator_enable(coincell); |
| 224 | regulator_enable(coincell); | ||
| 225 | } | ||
| 226 | |||
| 227 | regulator_has_full_constraints(); | ||
| 228 | } | 224 | } |
| 229 | 225 | ||
| 226 | regulator_has_full_constraints(); | ||
| 227 | |||
| 230 | return 0; | 228 | return 0; |
| 231 | } | 229 | } |
| 232 | late_initcall(mx51_efikamx_power_init); | 230 | |
| 231 | static void __init mx51_efikamx_init_late(void) | ||
| 232 | { | ||
| 233 | imx51_init_late(); | ||
| 234 | mx51_efikamx_power_init(); | ||
| 235 | } | ||
| 233 | 236 | ||
| 234 | static void __init mx51_efikamx_init(void) | 237 | static void __init mx51_efikamx_init(void) |
| 235 | { | 238 | { |
| @@ -293,5 +296,6 @@ MACHINE_START(MX51_EFIKAMX, "Genesi EfikaMX nettop") | |||
| 293 | .handle_irq = imx51_handle_irq, | 296 | .handle_irq = imx51_handle_irq, |
| 294 | .timer = &mx51_efikamx_timer, | 297 | .timer = &mx51_efikamx_timer, |
| 295 | .init_machine = mx51_efikamx_init, | 298 | .init_machine = mx51_efikamx_init, |
| 299 | .init_late = mx51_efikamx_init_late, | ||
| 296 | .restart = mx51_efikamx_restart, | 300 | .restart = mx51_efikamx_restart, |
| 297 | MACHINE_END | 301 | MACHINE_END |
diff --git a/arch/arm/mach-imx/mach-mx51_efikasb.c b/arch/arm/mach-imx/mach-mx51_efikasb.c index 24aded9e109f..e73db383c3c1 100644 --- a/arch/arm/mach-imx/mach-mx51_efikasb.c +++ b/arch/arm/mach-imx/mach-mx51_efikasb.c | |||
| @@ -211,22 +211,25 @@ static void mx51_efikasb_power_off(void) | |||
| 211 | 211 | ||
| 212 | static int __init mx51_efikasb_power_init(void) | 212 | static int __init mx51_efikasb_power_init(void) |
| 213 | { | 213 | { |
| 214 | if (machine_is_mx51_efikasb()) { | 214 | pwgt1 = regulator_get(NULL, "pwgt1"); |
| 215 | pwgt1 = regulator_get(NULL, "pwgt1"); | 215 | pwgt2 = regulator_get(NULL, "pwgt2"); |
| 216 | pwgt2 = regulator_get(NULL, "pwgt2"); | 216 | if (!IS_ERR(pwgt1) && !IS_ERR(pwgt2)) { |
| 217 | if (!IS_ERR(pwgt1) && !IS_ERR(pwgt2)) { | 217 | regulator_enable(pwgt1); |
| 218 | regulator_enable(pwgt1); | 218 | regulator_enable(pwgt2); |
| 219 | regulator_enable(pwgt2); | ||
| 220 | } | ||
| 221 | gpio_request(EFIKASB_POWEROFF, "poweroff"); | ||
| 222 | pm_power_off = mx51_efikasb_power_off; | ||
| 223 | |||
| 224 | regulator_has_full_constraints(); | ||
| 225 | } | 219 | } |
| 220 | gpio_request(EFIKASB_POWEROFF, "poweroff"); | ||
| 221 | pm_power_off = mx51_efikasb_power_off; | ||
| 222 | |||
| 223 | regulator_has_full_constraints(); | ||
