ARM: sunxi: Allow specifying module in prcm apb0 init function

The prcm apb0 controls multiple modules. Allow specifying which
modules to enable clocks and de-assert resets so the function
can be reused.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
This commit is contained in:
Chen-Yu Tsai 2014-10-22 16:47:46 +08:00 committed by Hans de Goede
parent e373aad32a
commit 472ed0641e
2 changed files with 8 additions and 6 deletions

View File

@ -21,13 +21,15 @@
#include <asm/arch/prcm.h>
#include <asm/arch/sys_proto.h>
void prcm_init_apb0(void)
/* APB0 clock gate and reset bit offsets are the same. */
void prcm_apb0_enable(u32 flags)
{
struct sunxi_prcm_reg *prcm =
(struct sunxi_prcm_reg *)SUNXI_PRCM_BASE;
setbits_le32(&prcm->apb0_gate, PRCM_APB0_GATE_P2WI |
PRCM_APB0_GATE_PIO);
setbits_le32(&prcm->apb0_reset, PRCM_APB0_RESET_P2WI |
PRCM_APB0_RESET_PIO);
/* open the clock for module */
setbits_le32(&prcm->apb0_gate, flags);
/* deassert reset for module */
setbits_le32(&prcm->apb0_reset, flags);
}

View File

@ -233,6 +233,6 @@ struct sunxi_prcm_reg {
u32 dram_tst; /* 0x190 */
};
void prcm_init_apb0(void);
void prcm_apb0_enable(u32 flags);
#endif /* __ASSEMBLY__ */
#endif /* _PRCM_H */