From: Ivan Date: Wed, 31 May 2017 09:38:43 +0000 (+0900) Subject: s5j/pwrcal: add to support I2S MUX X-Git-Tag: 1.1_Public_Release~331^2~27 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2b32b88734284511e9ef9968c4d50fcce222e7f0;p=rtos%2Ftinyara.git s5j/pwrcal: add to support I2S MUX Powercal code updated to support I2S mux. Clocks sould come from I2S BCLK input, not PCLK. Change-Id: I1014d4669c43b354fdfb9d4cf4c1390db0ee609a Signed-off-by: Ivan Signed-off-by: Bongryul Lee --- diff --git a/os/arch/arm/src/s5j/s5j_pwrcal.c b/os/arch/arm/src/s5j/s5j_pwrcal.c index e95b91b..c13e80f 100644 --- a/os/arch/arm/src/s5j/s5j_pwrcal.c +++ b/os/arch/arm/src/s5j/s5j_pwrcal.c @@ -182,6 +182,23 @@ int cal_clk_disable(unsigned int id) return 0; } +int cal_clk_mux(unsigned int id, int val) +{ + switch (id) { + case i2s_mux: + if (val == i2s_bclk) { + modifyreg32(CLK_CON_MUX_MUX_CLKCMU_I2SB, 0, 1); + } else if (val == i2s_osc) { + modifyreg32(CLK_CON_MUX_MUX_CLKCMU_I2SB, 1, 0); + } + break; + default: + break; + } + + return 0; +} + int cal_init(void) { return 0; diff --git a/os/arch/arm/src/s5j/s5j_vclk.h b/os/arch/arm/src/s5j/s5j_vclk.h index afcd6a9..a1df2e3 100644 --- a/os/arch/arm/src/s5j/s5j_vclk.h +++ b/os/arch/arm/src/s5j/s5j_vclk.h @@ -95,9 +95,13 @@ enum { dvfs_dummy = 0x0A070000, vclk_group_dfs_end, num_of_dfs = vclk_group_dfs_end - 0x0A070000, + + i2s_mux = 0x0A080000, + i2s_bclk, + i2s_osc, }; #define S5J_DEFAULT_I2C_CLOCK (160 * 1000 * 1000) #define S5J_DEFAULT_UART_CLOCK (26 * 1000 * 1000) -#endif /* __ARCH_ARM_SRC_S5J_S5J_VCLK_H__ */ +#endif /* __ARCH_ARM_SRC_S5J_S5J_VCLK_H__ */