summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/tegra-common/ap20.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu/armv7/tegra-common/ap20.c')
-rw-r--r--arch/arm/cpu/armv7/tegra-common/ap20.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/arm/cpu/armv7/tegra-common/ap20.c b/arch/arm/cpu/armv7/tegra-common/ap20.c
index 40e8f36cff..679277b85e 100644
--- a/arch/arm/cpu/armv7/tegra-common/ap20.c
+++ b/arch/arm/cpu/armv7/tegra-common/ap20.c
@@ -348,6 +348,7 @@ static void reset_A9_cpu(int reset)
*/
void t30_init_clocks(void)
{
+#if defined(CONFIG_TEGRA3)
/*
* Sadly our clock functions don't support the V and W clocks of T30
* yet, as well as a few other functions, so use low-level register
@@ -385,17 +386,16 @@ void t30_init_clocks(void)
/* Put i2c, mselect in reset and enable clocks */
reset_set_enable(PERIPH_ID_DVC_I2C, 1);
clock_set_enable(PERIPH_ID_DVC_I2C, 1);
- setbits_le32(&clkrst->crc_clk_out_enb_v, 1 << 3);
+ reset_set_enable(PERIPH_ID_MSELECT, 1);
+ clock_set_enable(PERIPH_ID_MSELECT, 1);
- /* Switch MSELECT clock to PLLP */
- val = readl(&clkrst->crc_clk_source_mselect);
- val &= ~MSELECT_CLK_M_MASK;
- writel(val, &clkrst->crc_clk_source_mselect);
+ /* Switch MSELECT clock to PLLP (00) */
+ clock_ll_set_source(PERIPH_ID_MSELECT, 0);
/*
* Our high-level clock routines are not available prior to
* relocation. We use the low-level functions which require a
- * hard-coded divisor. Use CLK_M with divide by (n + 1 = 17
+ * hard-coded divisor. Use CLK_M with divide by (n + 1 = 17)
*/
clock_ll_set_source_divisor(PERIPH_ID_DVC_I2C, 3, 16);
@@ -405,7 +405,8 @@ void t30_init_clocks(void)
*/
udelay(1000);
reset_set_enable(PERIPH_ID_DVC_I2C, 0);
- clrbits_le32(&clkrst->crc_rst_devices_v, 1 << 3);
+ reset_set_enable(PERIPH_ID_MSELECT, 0);
+#endif /* CONFIG_TEGRA3 */
}
static void clock_enable_coresight(int enable)