sound: tegra: ahub: add clock settings for T124
Bryan Wu [Wed, 16 Apr 2014 22:35:20 +0000 (15:35 -0700)]
Several additional audio clocks need to be initialized before
accessing any audio register, otherwise system will just hard hang.

Probably fastboot bootloader initialize these clocks, which actually
should be handled in driver. We found this issue for U-Boot bringup.

Bug 1482099

Change-Id: Ia7a7c0115bc92a4e98e6f337cf8efc7b2f7a72a0
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Signed-off-by: Prabhu Kuttiyam <pkuttiyam@nvidia.com>
Reviewed-on: http://git-master/r/408429
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Tested-by: Matthew Pedro <mapedro@nvidia.com>

arch/arm/mach-tegra/tegra12_clocks.c
sound/soc/tegra/tegra30_ahub.c

index 5c8838b..c9a085b 100644 (file)
@@ -8355,6 +8355,16 @@ struct clk_duplicate tegra_clk_duplicates[] = {
        CLK_DUPLICATE("dam2", NULL, "dam2"),
        CLK_DUPLICATE("spdif_in", NULL, "spdif_in"),
        CLK_DUPLICATE("mclk", NULL, "default_mclk"),
+       CLK_DUPLICATE("amx", NULL, "amx"),
+       CLK_DUPLICATE("amx1", NULL, "amx1"),
+       CLK_DUPLICATE("adx", NULL, "adx"),
+       CLK_DUPLICATE("adx1", NULL, "adx1"),
+       CLK_DUPLICATE("afc0", NULL, "afc0"),
+       CLK_DUPLICATE("afc1", NULL, "afc1"),
+       CLK_DUPLICATE("afc2", NULL, "afc2"),
+       CLK_DUPLICATE("afc3", NULL, "afc3"),
+       CLK_DUPLICATE("afc4", NULL, "afc4"),
+       CLK_DUPLICATE("afc5", NULL, "afc5"),
        CLK_DUPLICATE("amx", "tegra124-amx.0", NULL),
        CLK_DUPLICATE("amx1", "tegra124-amx.1", NULL),
        CLK_DUPLICATE("adx", "tegra124-adx.0", NULL),
index d57280e..c6e1d65 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * tegra30_ahub.c - Tegra30 AHUB driver
  *
- * Copyright (c) 2011-2013, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2011-2014, NVIDIA CORPORATION. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -618,6 +618,20 @@ static const char * const configlink_clocks[] = {
 #ifndef CONFIG_ARCH_TEGRA_14x_SOC
        "spdif_in",
 #endif
+#if defined(CONFIG_ARCH_TEGRA_11x_SOC) || defined(CONFIG_ARCH_TEGRA_12x_SOC)
+       "amx",
+       "adx",
+#endif
+#ifdef CONFIG_ARCH_TEGRA_12x_SOC
+       "amx1",
+       "adx1",
+       "afc0",
+       "afc1",
+       "afc2",
+       "afc3",
+       "afc4",
+       "afc5",
+#endif
 };
 
 struct of_dev_auxdata ahub_auxdata[] = {