]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
mmc: sdhci: tegra: update T2T and Tap hole for VCM30T124
authorSeshagir.H <sholi@nvidia.com>
Thu, 22 May 2014 08:05:02 +0000 (13:35 +0530)
committerMatthew Pedro <mapedro@nvidia.com>
Mon, 4 May 2015 20:44:41 +0000 (13:44 -0700)
bug 200007291

Change-Id: Ia1d8d4c8ea67a30c61e4178863e2f6f1bcb13753
Signed-off-by: Seshagir.H <sholi@nvidia.com>
Reviewed-on: http://git-master/r/413049
(cherry picked from commit 7564df85908c98b8fd6e5835cb02262091057d4e)
Reviewed-on: http://git-master/r/725517
GVS: Gerrit_Virtual_Submit
Reviewed-by: Jeetesh Burman <jburman@nvidia.com>
Tested-by: Jeetesh Burman <jburman@nvidia.com>
Reviewed-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
arch/arm/mach-tegra/tegra12_clocks.c
arch/arm/mach-tegra/tegra12_speedo.c
drivers/mmc/host/sdhci-tegra.c

index bb738a86b51a7e9e3cd2d243124302be4898b66f..27571cc881b9d28645badd12b445312280531a74 100644 (file)
@@ -9032,6 +9032,13 @@ void tegra_edp_throttle_cpu_now(u8 factor)
 
 bool tegra_clk_is_parent_allowed(struct clk *c, struct clk *p)
 {
+       /*
+        *  Ideally, this function should be a look-up table for permissions
+        *  based on SKU. For now, allowing all combinations for Automotive SKU.
+        */
+       if (tegra_is_soc_automotive_speedo())
+               return true;
+
        /*
         * Most of the Tegra12 multimedia and peripheral muxes include pll_c2
         * and pll_c3 as possible inputs. However, per clock policy these plls
index 0faeb54bcf59d068a11b12655f14ebd13588f5b0..70eed60b97a9396dac8238209158e07091f43322 100644 (file)
@@ -367,6 +367,12 @@ static int get_enable_app_profiles(char *val, const struct kernel_param *kp)
        return param_get_uint(val, kp);
 }
 
+bool tegra_is_soc_automotive_speedo(void)
+{
+       return (tegra_soc_speedo_id() == 2);
+}
+EXPORT_SYMBOL(tegra_is_soc_automotive_speedo);
+
 static struct kernel_param_ops tegra_profiles_ops = {
        .get = get_enable_app_profiles,
 };
index 18243806212bdd9b6d134e7316200ae8fc589951..9c2d1c1508ea89860423ef229a766f0c1f65021a 100644 (file)
@@ -311,6 +311,15 @@ struct tuning_t2t_coeffs t11x_tuning_coeffs[] = {
                82,     180096, 238,    444285),
 };
 
+struct tuning_t2t_coeffs t12x_automotive_tuning_coeffs[] = {
+       SET_TUNING_COEFFS("sdhci-tegra.3",      1150,   950,    29,     130687,
+                       29,     130687, 29,     130687),
+       SET_TUNING_COEFFS("sdhci-tegra.2",      1150,   950,    37,     148855,
+                       36,     148855, 37,     148855),
+       SET_TUNING_COEFFS("sdhci-tegra.0",      1150,   950,    38,     149783,
+                       38,     149783, 38,     149783),
+};
+
 struct tuning_t2t_coeffs t12x_tuning_coeffs[] = {
        SET_TUNING_COEFFS("sdhci-tegra.3",      1150,   950,    27,     118295,
                27,     118295, 48,     188148),
@@ -372,6 +381,17 @@ struct tap_hole_coeffs t11x_tap_hole_coeffs[] = {
                221722, 354,    109880),
 };
 
+struct tap_hole_coeffs t12x_automotive_tap_hole_coeffs[] = {
+       SET_TAP_HOLE_COEFFS("sdhci-tegra.3",    198000, 9259,   107053, 9259,
+               107053, 9259,   107053),
+       SET_TAP_HOLE_COEFFS("sdhci-tegra.3",    189000, 9846,   114635, 9846,
+               114635, 9846,   114635),
+       SET_TAP_HOLE_COEFFS("sdhci-tegra.2",    204000, 2956,   27274,  2956,
+               27274,  2956,   27274),
+       SET_TAP_HOLE_COEFFS("sdhci-tegra.0",    204000, 5781,   67417,  5781,
+               67417,  5781,   67417),
+};
+
 struct tap_hole_coeffs t12x_tap_hole_coeffs[] = {
        SET_TAP_HOLE_COEFFS("sdhci-tegra.3",    200000, 1037,   106934, 1037,
                106934, 558,    74315),