s5j/pwrcal: add to support I2S MUX
authorIvan <ivan.galkin@samsung.com>
Wed, 31 May 2017 09:38:43 +0000 (18:38 +0900)
committerIvan Galkin <ivan.galkin@samsung.com>
Sun, 27 Aug 2017 05:27:27 +0000 (14:27 +0900)
Powercal code updated to support I2S mux.
Clocks sould come from I2S BCLK input, not PCLK.

Change-Id: I1014d4669c43b354fdfb9d4cf4c1390db0ee609a
Signed-off-by: Ivan <ivan.galkin@samsung.com>
Signed-off-by: Bongryul Lee <bongryul.lee@samsung.com>
os/arch/arm/src/s5j/s5j_pwrcal.c
os/arch/arm/src/s5j/s5j_vclk.h

index e95b91b..c13e80f 100644 (file)
@@ -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;
index afcd6a9..a1df2e3 100644 (file)
@@ -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__ */