Message ID | 1326212538-15419-1-git-send-email-pdeschrijver@nvidia.com |
---|---|
State | Accepted, archived |
Headers | show |
Peter De Schrijver wrote at Tuesday, January 10, 2012 9:22 AM: > Initialize basic system clocks and provide a auxdata table to allow some > peripheral drivers to find their clocks. ... > This should fix the hang you observed when sdhci_add_host() fails. Yes, it does. This plus the Tegra30 clock patch series you posted stops I2C and SDHCI drivers complaining about a lack of clocks during boot, which is a great step forwards, even if SDHCI doesn't yet initialize successfully. Thanks. This patch and the clock series: Tested-by: Stephen Warren <swarren@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com>
On Tue, Jan 10, 2012 at 09:23:52AM -0800, Stephen Warren wrote: > Peter De Schrijver wrote at Tuesday, January 10, 2012 9:22 AM: > > Initialize basic system clocks and provide a auxdata table to allow some > > peripheral drivers to find their clocks. > ... > > This should fix the hang you observed when sdhci_add_host() fails. > > Yes, it does. This plus the Tegra30 clock patch series you posted stops > I2C and SDHCI drivers complaining about a lack of clocks during boot, > which is a great step forwards, even if SDHCI doesn't yet initialize > successfully. Thanks. > > This patch and the clock series: > > Tested-by: Stephen Warren <swarren@nvidia.com> > Acked-by: Stephen Warren <swarren@nvidia.com> Applied. Peter, in the future please provide at least a one-sentence description of the patch in the patch description. "ARM: tegra: enable tegra30 clock framework" had no actualy patch description body so I added a simple one. It's a trivial patch but it's a good habit to always have something there. Thanks! -Olof -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-tegra/board-dt-tegra30.c b/arch/arm/mach-tegra/board-dt-tegra30.c index 3c197e2..b4124b1 100644 --- a/arch/arm/mach-tegra/board-dt-tegra30.c +++ b/arch/arm/mach-tegra/board-dt-tegra30.c @@ -34,16 +34,38 @@ #include <asm/hardware/gic.h> #include "board.h" +#include "clock.h" static struct of_device_id tegra_dt_match_table[] __initdata = { { .compatible = "simple-bus", }, {} }; +struct of_dev_auxdata tegra30_auxdata_lookup[] __initdata = { + OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000000, "sdhci-tegra.0", NULL), + OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000200, "sdhci-tegra.1", NULL), + OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000400, "sdhci-tegra.2", NULL), + OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000600, "sdhci-tegra.3", NULL), + OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C000, "tegra-i2c.0", NULL), + OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C400, "tegra-i2c.1", NULL), + OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C500, "tegra-i2c.2", NULL), + OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C700, "tegra-i2c.3", NULL), + OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000D000, "tegra-i2c.4", NULL), + {} +}; + +static __initdata struct tegra_clk_init_table tegra_dt_clk_init_table[] = { + /* name parent rate enabled */ + { "uartd", "pll_p", 408000000, true }, + { NULL, NULL, 0, 0}, +}; + static void __init tegra30_dt_init(void) { + tegra_clk_init_from_table(tegra_dt_clk_init_table); + of_platform_populate(NULL, tegra_dt_match_table, - NULL, NULL); + tegra30_auxdata_lookup, NULL); } static const char *tegra30_dt_board_compat[] = {
Initialize basic system clocks and provide a auxdata table to allow some peripheral drivers to find their clocks. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> --- Stephen, This should fix the hang you observed when sdhci_add_host() fails. --- arch/arm/mach-tegra/board-dt-tegra30.c | 24 +++++++++++++++++++++++- 1 files changed, 23 insertions(+), 1 deletions(-)