diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-generic.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clkt_dpll.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap2/cminst44xx.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/dpll3xxx.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_43xx_data.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prminst44xx.c | 3 |
7 files changed, 26 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index e6eec6f72fd3..8421f38cf445 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -60,6 +60,7 @@ AFLAGS_sram34xx.o :=-Wa,-march=armv7-a | |||
60 | obj-$(CONFIG_SOC_OMAP2420) += omap2-restart.o | 60 | obj-$(CONFIG_SOC_OMAP2420) += omap2-restart.o |
61 | obj-$(CONFIG_SOC_OMAP2430) += omap2-restart.o | 61 | obj-$(CONFIG_SOC_OMAP2430) += omap2-restart.o |
62 | obj-$(CONFIG_SOC_AM33XX) += am33xx-restart.o | 62 | obj-$(CONFIG_SOC_AM33XX) += am33xx-restart.o |
63 | obj-$(CONFIG_SOC_AM43XX) += omap4-restart.o | ||
63 | obj-$(CONFIG_ARCH_OMAP3) += omap3-restart.o | 64 | obj-$(CONFIG_ARCH_OMAP3) += omap3-restart.o |
64 | obj-$(CONFIG_ARCH_OMAP4) += omap4-restart.o | 65 | obj-$(CONFIG_ARCH_OMAP4) += omap4-restart.o |
65 | obj-$(CONFIG_SOC_OMAP5) += omap4-restart.o | 66 | obj-$(CONFIG_SOC_OMAP5) += omap4-restart.o |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 5679464a2f88..bc6013fbb773 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -231,6 +231,7 @@ DT_MACHINE_START(AM43_DT, "Generic AM43 (Flattened Device Tree)") | |||
231 | .init_machine = omap_generic_init, | 231 | .init_machine = omap_generic_init, |
232 | .init_time = omap3_gptimer_timer_init, | 232 | .init_time = omap3_gptimer_timer_init, |
233 | .dt_compat = am43_boards_compat, | 233 | .dt_compat = am43_boards_compat, |
234 | .restart = omap44xx_restart, | ||
234 | MACHINE_END | 235 | MACHINE_END |
235 | #endif | 236 | #endif |
236 | 237 | ||
diff --git a/arch/arm/mach-omap2/clkt_dpll.c b/arch/arm/mach-omap2/clkt_dpll.c index 47f9562ca7aa..2649ce445845 100644 --- a/arch/arm/mach-omap2/clkt_dpll.c +++ b/arch/arm/mach-omap2/clkt_dpll.c | |||
@@ -306,7 +306,7 @@ long omap2_dpll_round_rate(struct clk_hw *hw, unsigned long target_rate, | |||
306 | 306 | ||
307 | ref_rate = __clk_get_rate(dd->clk_ref); | 307 | ref_rate = __clk_get_rate(dd->clk_ref); |
308 | clk_name = __clk_get_name(hw->clk); | 308 | clk_name = __clk_get_name(hw->clk); |
309 | pr_debug("clock: %s: starting DPLL round_rate, target rate %ld\n", | 309 | pr_debug("clock: %s: starting DPLL round_rate, target rate %lu\n", |
310 | clk_name, target_rate); | 310 | clk_name, target_rate); |
311 | 311 | ||
312 | scaled_rt_rp = target_rate / (ref_rate / DPLL_SCALE_FACTOR); | 312 | scaled_rt_rp = target_rate / (ref_rate / DPLL_SCALE_FACTOR); |
@@ -342,7 +342,7 @@ long omap2_dpll_round_rate(struct clk_hw *hw, unsigned long target_rate, | |||
342 | if (r == DPLL_MULT_UNDERFLOW) | 342 | if (r == DPLL_MULT_UNDERFLOW) |
343 | continue; | 343 | continue; |
344 | 344 | ||
345 | pr_debug("clock: %s: m = %d: n = %d: new_rate = %ld\n", | 345 | pr_debug("clock: %s: m = %d: n = %d: new_rate = %lu\n", |
346 | clk_name, m, n, new_rate); | 346 | clk_name, m, n, new_rate); |
347 | 347 | ||
348 | if (target_rate == new_rate) { | 348 | if (target_rate == new_rate) { |
@@ -354,7 +354,7 @@ long omap2_dpll_round_rate(struct clk_hw *hw, unsigned long target_rate, | |||
354 | } | 354 | } |
355 | 355 | ||
356 | if (target_rate != new_rate) { | 356 | if (target_rate != new_rate) { |
357 | pr_debug("clock: %s: cannot round to rate %ld\n", | 357 | pr_debug("clock: %s: cannot round to rate %lu\n", |
358 | clk_name, target_rate); | 358 | clk_name, target_rate); |
359 | return ~0; | 359 | return ~0; |
360 | } | 360 | } |
diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c index 731ca134348c..f5c4731b6f06 100644 --- a/arch/arm/mach-omap2/cminst44xx.c +++ b/arch/arm/mach-omap2/cminst44xx.c | |||
@@ -254,6 +254,11 @@ void omap4_cminst_clkdm_force_wakeup(u8 part, u16 inst, u16 cdoffs) | |||
254 | * | 254 | * |
255 | */ | 255 | */ |
256 | 256 | ||
257 | void omap4_cminst_clkdm_force_sleep(u8 part, u16 inst, u16 cdoffs) | ||
258 | { | ||
259 | _clktrctrl_write(OMAP34XX_CLKSTCTRL_FORCE_SLEEP, part, inst, cdoffs); | ||
260 | } | ||
261 | |||
257 | /** | 262 | /** |
258 | * omap4_cminst_wait_module_ready - wait for a module to be in 'func' state | 263 | * omap4_cminst_wait_module_ready - wait for a module to be in 'func' state |
259 | * @part: PRCM partition ID that the CM_CLKCTRL register exists in | 264 | * @part: PRCM partition ID that the CM_CLKCTRL register exists in |
@@ -404,8 +409,17 @@ static int omap4_clkdm_clear_all_wkup_sleep_deps(struct clockdomain *clkdm) | |||
404 | 409 | ||
405 | static int omap4_clkdm_sleep(struct clockdomain *clkdm) | 410 | static int omap4_clkdm_sleep(struct clockdomain *clkdm) |
406 | { | 411 | { |
407 | omap4_cminst_clkdm_enable_hwsup(clkdm->prcm_partition, | 412 | if (clkdm->flags & CLKDM_CAN_HWSUP) |
408 | clkdm->cm_inst, clkdm->clkdm_offs); | 413 | omap4_cminst_clkdm_enable_hwsup(clkdm->prcm_partition, |
414 | clkdm->cm_inst, | ||
415 | clkdm->clkdm_offs); | ||
416 | else if (clkdm->flags & CLKDM_CAN_FORCE_SLEEP) | ||
417 | omap4_cminst_clkdm_force_sleep(clkdm->prcm_partition, | ||
418 | clkdm->cm_inst, | ||
419 | clkdm->clkdm_offs); | ||
420 | else | ||
421 | return -EINVAL; | ||
422 | |||
409 | return 0; | 423 | return 0; |
410 | } | 424 | } |
411 | 425 | ||
diff --git a/arch/arm/mach-omap2/dpll3xxx.c b/arch/arm/mach-omap2/dpll3xxx.c index 3185ced807c9..d9bcbf7641b5 100644 --- a/arch/arm/mach-omap2/dpll3xxx.c +++ b/arch/arm/mach-omap2/dpll3xxx.c | |||
@@ -525,7 +525,7 @@ int omap3_noncore_dpll_set_rate(struct clk_hw *hw, unsigned long rate, | |||
525 | * stuff is inherited for free | 525 | * stuff is inherited for free |
526 | */ | 526 | */ |
527 | 527 | ||
528 | if (!ret) | 528 | if (!ret && clk_get_parent(hw->clk) != new_parent) |
529 | __clk_reparent(hw->clk, new_parent); | 529 | __clk_reparent(hw->clk, new_parent); |
530 | 530 | ||
531 | return 0; | 531 | return 0; |
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c index 9002fca76699..5c2cc8083fdd 100644 --- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c | |||
@@ -719,6 +719,7 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { | |||
719 | &am33xx_l4_ls__uart4, | 719 | &am33xx_l4_ls__uart4, |
720 | &am33xx_l4_ls__uart5, | 720 | &am33xx_l4_ls__uart5, |
721 | &am33xx_l4_ls__uart6, | 721 | &am33xx_l4_ls__uart6, |
722 | &am33xx_l4_ls__spinlock, | ||
722 | &am33xx_l4_ls__elm, | 723 | &am33xx_l4_ls__elm, |
723 | &am33xx_l4_ls__epwmss0, | 724 | &am33xx_l4_ls__epwmss0, |
724 | &am33xx_epwmss0__ecap0, | 725 | &am33xx_epwmss0__ecap0, |
diff --git a/arch/arm/mach-omap2/prminst44xx.c b/arch/arm/mach-omap2/prminst44xx.c index 6334b96b4097..f5989f2af89f 100644 --- a/arch/arm/mach-omap2/prminst44xx.c +++ b/arch/arm/mach-omap2/prminst44xx.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include "prminst44xx.h" | 25 | #include "prminst44xx.h" |
26 | #include "prm-regbits-44xx.h" | 26 | #include "prm-regbits-44xx.h" |
27 | #include "prcm44xx.h" | 27 | #include "prcm44xx.h" |
28 | #include "prcm43xx.h" | ||
28 | #include "prcm_mpu44xx.h" | 29 | #include "prcm_mpu44xx.h" |
29 | #include "soc.h" | 30 | #include "soc.h" |
30 | 31 | ||
@@ -176,6 +177,8 @@ void omap4_prminst_global_warm_sw_reset(void) | |||
176 | dev_inst = OMAP54XX_PRM_DEVICE_INST; | 177 | dev_inst = OMAP54XX_PRM_DEVICE_INST; |
177 | else if (soc_is_dra7xx()) | 178 | else if (soc_is_dra7xx()) |
178 | dev_inst = DRA7XX_PRM_DEVICE_INST; | 179 | dev_inst = DRA7XX_PRM_DEVICE_INST; |
180 | else if (soc_is_am43xx()) | ||
181 | dev_inst = AM43XX_PRM_DEVICE_INST; | ||
179 | else | 182 | else |
180 | return; | 183 | return; |
181 | 184 | ||