mfd: Initialize DB8500 PRCMU regs
Some clocks may be force enabled when we probe the driver, but they need to be turned off by default so we have a known state. We call this the register initialization function if we need more stuff in there in the future. Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
committed by
Samuel Ortiz
parent
a592c2e20f
commit
d65e12d704
@@ -1840,6 +1840,16 @@ void __init prcmu_early_init(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void __init init_prcm_registers(void)
|
||||||
|
{
|
||||||
|
u32 val;
|
||||||
|
|
||||||
|
val = readl(PRCM_A9PL_FORCE_CLKEN);
|
||||||
|
val &= ~(PRCM_A9PL_FORCE_CLKEN_PRCM_A9PL_FORCE_CLKEN |
|
||||||
|
PRCM_A9PL_FORCE_CLKEN_PRCM_A9AXI_FORCE_CLKEN);
|
||||||
|
writel(val, (PRCM_A9PL_FORCE_CLKEN));
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Power domain switches (ePODs) modeled as regulators for the DB8500 SoC
|
* Power domain switches (ePODs) modeled as regulators for the DB8500 SoC
|
||||||
*/
|
*/
|
||||||
@@ -2038,6 +2048,8 @@ static int __init db8500_prcmu_probe(struct platform_device *pdev)
|
|||||||
if (ux500_is_svp())
|
if (ux500_is_svp())
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
|
init_prcm_registers();
|
||||||
|
|
||||||
/* Clean up the mailbox interrupts after pre-kernel code. */
|
/* Clean up the mailbox interrupts after pre-kernel code. */
|
||||||
writel(ALL_MBOX_BITS, PRCM_ARM_IT1_CLR);
|
writel(ALL_MBOX_BITS, PRCM_ARM_IT1_CLR);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user