mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-30 12:49:36 +00:00
ARM: OMAP2+: board files: use SoC-specific system restart functions
Modify the board files to use the SoC-specific system restart functions. At this point it's possible to remove omap_prcm_restart() from mach-omap2/prcm.c. While removing the prototypes for the now-unused restart functions, clean up a few more obsolete prototypes in mach-omap2/clock.h. Signed-off-by: Paul Walmsley <paul@pwsan.com> Tested-by: Vaibhav Hiremath <hvaibhav@ti.com>
This commit is contained in:
parent
2f334a3896
commit
187e3e06e8
33 changed files with 46 additions and 151 deletions
|
@ -286,5 +286,5 @@ MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
|
|||
.init_machine = omap_2430sdp_init,
|
||||
.init_late = omap2430_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap2xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -597,5 +597,5 @@ MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
|
|||
.init_machine = omap_3430sdp_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -212,5 +212,5 @@ MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
|
|||
.init_machine = omap_sdp_init,
|
||||
.init_late = omap3630_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -881,5 +881,5 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
|
|||
.init_machine = omap_4430sdp_init,
|
||||
.init_late = omap4430_init_late,
|
||||
.timer = &omap4_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap44xx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -93,5 +93,5 @@ MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
|
|||
.init_machine = am3517_crane_init,
|
||||
.init_late = am35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -393,5 +393,5 @@ MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
|
|||
.init_machine = am3517_evm_init,
|
||||
.init_late = am35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -338,5 +338,5 @@ MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
|
|||
.init_machine = omap_apollon_init,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap2xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -753,18 +753,18 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
|
|||
.init_machine = cm_t35_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(CM_T3730, "Compulab CM-T3730")
|
||||
.atag_offset = 0x100,
|
||||
.reserve = omap_reserve,
|
||||
.map_io = omap3_map_io,
|
||||
.init_early = omap3630_init_early,
|
||||
.init_irq = omap3_init_irq,
|
||||
.atag_offset = 0x100,
|
||||
.reserve = omap_reserve,
|
||||
.map_io = omap3_map_io,
|
||||
.init_early = omap3630_init_early,
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = cm_t3730_init,
|
||||
.init_machine = cm_t3730_init,
|
||||
.init_late = omap3630_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -298,5 +298,5 @@ MACHINE_START(CM_T3517, "Compulab CM-T3517")
|
|||
.init_machine = cm_t3517_init,
|
||||
.init_late = am35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -643,5 +643,5 @@ MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000")
|
|||
.init_machine = devkit8000_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_secure_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -57,7 +57,7 @@ DT_MACHINE_START(OMAP242X_DT, "Generic OMAP2420 (Flattened Device Tree)")
|
|||
.init_machine = omap_generic_init,
|
||||
.timer = &omap2_timer,
|
||||
.dt_compat = omap242x_boards_compat,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap2xxx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
|
@ -76,7 +76,7 @@ DT_MACHINE_START(OMAP243X_DT, "Generic OMAP2430 (Flattened Device Tree)")
|
|||
.init_machine = omap_generic_init,
|
||||
.timer = &omap2_timer,
|
||||
.dt_compat = omap243x_boards_compat,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap2xxx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
|
@ -95,7 +95,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
|
|||
.init_machine = omap_generic_init,
|
||||
.timer = &omap3_timer,
|
||||
.dt_compat = omap3_boards_compat,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
|
@ -134,7 +134,7 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
|
|||
.init_late = omap4430_init_late,
|
||||
.timer = &omap4_timer,
|
||||
.dt_compat = omap4_boards_compat,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap44xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
||||
|
@ -154,6 +154,6 @@ DT_MACHINE_START(OMAP5_DT, "Generic OMAP5 (Flattened Device Tree)")
|
|||
.init_machine = omap_generic_init,
|
||||
.timer = &omap5_timer,
|
||||
.dt_compat = omap5_boards_compat,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap44xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
|
|
@ -386,5 +386,5 @@ MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
|
|||
.init_machine = omap_h4_init,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap2xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -651,7 +651,7 @@ MACHINE_START(IGEP0020, "IGEP v2 board")
|
|||
.init_machine = igep_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(IGEP0030, "IGEP OMAP3 module")
|
||||
|
@ -664,5 +664,5 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module")
|
|||
.init_machine = igep_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -436,5 +436,5 @@ MACHINE_START(OMAP_LDP, "OMAP LDP board")
|
|||
.init_machine = omap_ldp_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -690,7 +690,7 @@ MACHINE_START(NOKIA_N800, "Nokia N800")
|
|||
.init_machine = n8x0_init_machine,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap2xxx_restart,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(NOKIA_N810, "Nokia N810")
|
||||
|
@ -703,7 +703,7 @@ MACHINE_START(NOKIA_N810, "Nokia N810")
|
|||
.init_machine = n8x0_init_machine,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap2xxx_restart,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
|
||||
|
@ -716,5 +716,5 @@ MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
|
|||
.init_machine = n8x0_init_machine,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap2xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -541,5 +541,5 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
|
|||
.init_machine = omap3_beagle_init,
|
||||
.init_late = omap3_init_late,
|
||||
.timer = &omap3_secure_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -757,5 +757,5 @@ MACHINE_START(OMAP3EVM, "OMAP3 EVM")
|
|||
.init_machine = omap3_evm_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -232,7 +232,7 @@ MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board")
|
|||
.init_machine = omap3logic_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
|
||||
|
@ -245,5 +245,5 @@ MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
|
|||
.init_machine = omap3logic_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -619,5 +619,5 @@ MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
|
|||
.init_machine = omap3pandora_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -427,5 +427,5 @@ MACHINE_START(SBC3530, "OMAP3 STALKER")
|
|||
.init_machine = omap3_stalker_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_secure_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -387,5 +387,5 @@ MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board")
|
|||
.init_machine = omap3_touchbook_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.timer = &omap3_secure_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -524,5 +524,5 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
|
|||
.init_machine = omap4_panda_init,
|
||||
.init_late = omap4430_init_late,
|
||||
.timer = &omap4_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap44xx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -553,5 +553,5 @@ MACHINE_START(OVERO, "Gumstix Overo")
|
|||
.init_machine = overo_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -148,7 +148,7 @@ MACHINE_START(NOKIA_RM680, "Nokia RM-680 board")
|
|||
.init_machine = rm680_init,
|
||||
.init_late = omap3630_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(NOKIA_RM696, "Nokia RM-696 board")
|
||||
|
@ -161,5 +161,5 @@ MACHINE_START(NOKIA_RM696, "Nokia RM-696 board")
|
|||
.init_machine = rm680_init,
|
||||
.init_late = omap3630_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -127,5 +127,5 @@ MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
|
|||
.init_machine = rx51_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -46,7 +46,7 @@ MACHINE_START(TI8168EVM, "ti8168evm")
|
|||
.timer = &omap3_timer,
|
||||
.init_machine = ti81xx_evm_init,
|
||||
.init_late = ti81xx_init_late,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap44xx_restart,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(TI8148EVM, "ti8148evm")
|
||||
|
@ -58,5 +58,5 @@ MACHINE_START(TI8148EVM, "ti8148evm")
|
|||
.timer = &omap3_timer,
|
||||
.init_machine = ti81xx_evm_init,
|
||||
.init_late = ti81xx_init_late,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap44xx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -138,7 +138,7 @@ MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
|
|||
.init_machine = omap_zoom_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
|
||||
|
@ -151,5 +151,5 @@ MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
|
|||
.init_machine = omap_zoom_init,
|
||||
.init_late = omap3630_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
.restart = omap3xxx_restart,
|
||||
MACHINE_END
|
||||
|
|
|
@ -409,33 +409,6 @@ extern void omap2_clkt_iclk_deny_idle(struct clk *clk);
|
|||
u32 omap2_get_dpll_rate(struct clk *clk);
|
||||
void omap2_init_dpll_parent(struct clk *clk);
|
||||
|
||||
int omap2_wait_clock_ready(void __iomem *reg, u32 cval, const char *name);
|
||||
|
||||
|
||||
#ifdef CONFIG_ARCH_OMAP2
|
||||
void omap2xxx_clk_prepare_for_reboot(void);
|
||||
#else
|
||||
static inline void omap2xxx_clk_prepare_for_reboot(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_OMAP3
|
||||
void omap3_clk_prepare_for_reboot(void);
|
||||
#else
|
||||
static inline void omap3_clk_prepare_for_reboot(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_OMAP4
|
||||
void omap4_clk_prepare_for_reboot(void);
|
||||
#else
|
||||
static inline void omap4_clk_prepare_for_reboot(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
int omap2_dflt_clk_enable(struct clk *clk);
|
||||
void omap2_dflt_clk_disable(struct clk *clk);
|
||||
void omap2_clk_dflt_find_companion(struct clk *clk, void __iomem **other_reg,
|
||||
|
@ -454,7 +427,6 @@ extern const struct clkops clkops_dummy;
|
|||
extern const struct clkops clkops_omap2_dflt;
|
||||
|
||||
extern struct clk_functions omap2_clk_functions;
|
||||
extern struct clk *vclk, *sclk;
|
||||
|
||||
extern const struct clksel_rate gpt_32k_rates[];
|
||||
extern const struct clksel_rate gpt_sys_rates[];
|
||||
|
|
|
@ -1968,10 +1968,6 @@ int __init omap2420_clk_init(void)
|
|||
*/
|
||||
clk_enable_init_clocks();
|
||||
|
||||
/* Avoid sleeping sleeping during omap2_clk_prepare_for_reboot() */
|
||||
vclk = clk_get(NULL, "virt_prcm_set");
|
||||
sclk = clk_get(NULL, "sys_ck");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -2067,10 +2067,6 @@ int __init omap2430_clk_init(void)
|
|||
*/
|
||||
clk_enable_init_clocks();
|
||||
|
||||
/* Avoid sleeping sleeping during omap2_clk_prepare_for_reboot() */
|
||||
vclk = clk_get(NULL, "virt_prcm_set");
|
||||
sclk = clk_get(NULL, "sys_ck");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,26 +28,10 @@
|
|||
#include "cm.h"
|
||||
#include "cm-regbits-24xx.h"
|
||||
|
||||
struct clk *vclk, *sclk;
|
||||
|
||||
/*
|
||||
* Omap24xx specific clock functions
|
||||
*/
|
||||
|
||||
/*
|
||||
* Set clocks for bypass mode for reboot to work.
|
||||
*/
|
||||
void omap2xxx_clk_prepare_for_reboot(void)
|
||||
{
|
||||
u32 rate;
|
||||
|
||||
if (vclk == NULL || sclk == NULL)
|
||||
return;
|
||||
|
||||
rate = clk_get_rate(sclk);
|
||||
clk_set_rate(vclk, rate);
|
||||
}
|
||||
|
||||
/*
|
||||
* Switch the MPU rate if specified on cmdline. We cannot do this
|
||||
* early until cmdline is parsed. XXX This should be removed from the
|
||||
|
|
|
@ -111,7 +111,6 @@ void am35xx_init_late(void);
|
|||
void ti81xx_init_late(void);
|
||||
void omap4430_init_late(void);
|
||||
int omap2_common_pm_late_init(void);
|
||||
void omap_prcm_restart(char, const char *);
|
||||
|
||||
#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430)
|
||||
void omap2xxx_restart(char mode, const char *cmd);
|
||||
|
|
|
@ -47,58 +47,6 @@ void __iomem *prcm_mpu_base;
|
|||
|
||||
#define MAX_MODULE_ENABLE_WAIT 100000
|
||||
|
||||
/* Resets clock rates and reboots the system. Only called from system.h */
|
||||
void omap_prcm_restart(char mode, const char *cmd)
|
||||
{
|
||||
s16 prcm_offs = 0;
|
||||
|
||||
if (cpu_is_omap24xx()) {
|
||||
omap2xxx_clk_prepare_for_reboot();
|
||||
|
||||
prcm_offs = WKUP_MOD;
|
||||
} else if (cpu_is_omap34xx()) {
|
||||
prcm_offs = OMAP3430_GR_MOD;
|
||||
omap3_ctrl_write_boot_mode((cmd ? (u8)*cmd : 0));
|
||||
} else if (cpu_is_omap44xx()) {
|
||||
omap4_prminst_global_warm_sw_reset(); /* never returns */
|
||||
} else {
|
||||
WARN_ON(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* As per Errata i520, in some cases, user will not be able to
|
||||
* access DDR memory after warm-reset.
|
||||
* This situation occurs while the warm-reset happens during a read
|
||||
* access to DDR memory. In that particular condition, DDR memory
|
||||
* does not respond to a corrupted read command due to the warm
|
||||
* reset occurrence but SDRC is waiting for read completion.
|
||||
* SDRC is not sensitive to the warm reset, but the interconnect is
|
||||
* reset on the fly, thus causing a misalignment between SDRC logic,
|
||||
* interconnect logic and DDR memory state.
|
||||
* WORKAROUND:
|
||||
* Steps to perform before a Warm reset is trigged:
|
||||
* 1. enable self-refresh on idle request
|
||||
* 2. put SDRC in idle
|
||||
* 3. wait until SDRC goes to idle
|
||||
* 4. generate SW reset (Global SW reset)
|
||||
*
|
||||
* Steps to be performed after warm reset occurs (in bootloader):
|
||||
* if HW warm reset is the source, apply below steps before any
|
||||
* accesses to SDRAM:
|
||||
* 1. Reset SMS and SDRC and wait till reset is complete
|
||||
* 2. Re-initialize SMS, SDRC and memory
|
||||
*
|
||||
* NOTE: Above work around is required only if arch reset is implemented
|
||||
* using Global SW reset(GLOBAL_SW_RST). DPLL3 reset does not need
|
||||
* the WA since it resets SDRC as well as part of cold reset.
|
||||
*/
|
||||
|
||||
/* XXX should be moved to some OMAP2/3 specific code */
|
||||
omap2_prm_set_mod_reg_bits(OMAP_RST_DPLL3_MASK, prcm_offs,
|
||||
OMAP2_RM_RSTCTRL);
|
||||
omap2_prm_read_mod_reg(prcm_offs, OMAP2_RM_RSTCTRL); /* OCP barrier */
|
||||
}
|
||||
|
||||
/**
|
||||
* omap2_cm_wait_idlest - wait for IDLEST bit to indicate module readiness
|
||||
* @reg: physical address of module IDLEST register
|
||||
|
|
Loading…
Reference in a new issue