armv8/fsl-lsch2: fix sdhc clock frequency value
authorYangbo Lu <yangbo.lu@nxp.com>
Tue, 16 Feb 2016 02:54:41 +0000 (10:54 +0800)
committerYork Sun <york.sun@nxp.com>
Mon, 21 Mar 2016 19:42:14 +0000 (12:42 -0700)
The eSDHC could select to use platform clock or peripheral clock to
generate SD clock. The default selection is platform clock. So, fix
the clock frequency value that's calculated for eSDHC.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c

index 6f6a588292b1083b42d52a3a98aeaa2933574cfe..453a93d94c43b4a319a8bddd72020c75a3530e7b 100644 (file)
@@ -106,9 +106,13 @@ void get_sys_info(struct sys_info *sys_info)
 #define HWA_CGA_M2_CLK_SEL     0x00000007
 #define HWA_CGA_M2_CLK_SHIFT   0
 #ifdef CONFIG_FSL_ESDHC
+#ifdef CONFIG_FSL_ESDHC_USE_PERIPHERAL_CLK
        rcw_tmp = in_be32(&gur->rcwsr[15]);
        rcw_tmp = (rcw_tmp & HWA_CGA_M2_CLK_SEL) >> HWA_CGA_M2_CLK_SHIFT;
        sys_info->freq_sdhc = freq_c_pll[1] / rcw_tmp;
+#else
+       sys_info->freq_sdhc = sys_info->freq_systembus;
+#endif
 #endif
 
 #if defined(CONFIG_FSL_IFC)