lkml.org 
[lkml]   [2012]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] ARM: tegra: initialize basic system clocks
    Date
    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(-)

    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[] = {
    --
    1.7.7.rc0.72.g4b5ea.dirty


    \
     
     \ /
      Last update: 2012-01-10 17:25    [W:0.022 / U:29.980 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site