diff options
author | Peter De Schrijver <pdeschrijver@nvidia.com> | 2012-01-10 01:22:18 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-02-06 12:16:15 -0500 |
commit | f7223d3d1ba0e49423d0d5f7f60723b0cb42e621 (patch) | |
tree | 286242849cdede0d9d0f8d0621171b0b735e4b57 /arch/arm/mach-tegra | |
parent | 7ff43eeabd19238dc5ee528f818f3d0e1ddd9f68 (diff) |
ARM: tegra: initialize basic system clocks
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>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-tegra')
-rw-r--r-- | 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 3c197e2440b7..b4124b12a779 100644 --- a/arch/arm/mach-tegra/board-dt-tegra30.c +++ b/arch/arm/mach-tegra/board-dt-tegra30.c | |||
@@ -34,16 +34,38 @@ | |||
34 | #include <asm/hardware/gic.h> | 34 | #include <asm/hardware/gic.h> |
35 | 35 | ||
36 | #include "board.h" | 36 | #include "board.h" |
37 | #include "clock.h" | ||
37 | 38 | ||
38 | static struct of_device_id tegra_dt_match_table[] __initdata = { | 39 | static struct of_device_id tegra_dt_match_table[] __initdata = { |
39 | { .compatible = "simple-bus", }, | 40 | { .compatible = "simple-bus", }, |
40 | {} | 41 | {} |
41 | }; | 42 | }; |
42 | 43 | ||
44 | struct of_dev_auxdata tegra30_auxdata_lookup[] __initdata = { | ||
45 | OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000000, "sdhci-tegra.0", NULL), | ||
46 | OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000200, "sdhci-tegra.1", NULL), | ||
47 | OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000400, "sdhci-tegra.2", NULL), | ||
48 | OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000600, "sdhci-tegra.3", NULL), | ||
49 | OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C000, "tegra-i2c.0", NULL), | ||
50 | OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C400, "tegra-i2c.1", NULL), | ||
51 | OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C500, "tegra-i2c.2", NULL), | ||
52 | OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000C700, "tegra-i2c.3", NULL), | ||
53 | OF_DEV_AUXDATA("nvidia,tegra20-i2c", 0x7000D000, "tegra-i2c.4", NULL), | ||
54 | {} | ||
55 | }; | ||
56 | |||
57 | static __initdata struct tegra_clk_init_table tegra_dt_clk_init_table[] = { | ||
58 | /* name parent rate enabled */ | ||
59 | { "uartd", "pll_p", 408000000, true }, | ||
60 | { NULL, NULL, 0, 0}, | ||
61 | }; | ||
62 | |||
43 | static void __init tegra30_dt_init(void) | 63 | static void __init tegra30_dt_init(void) |
44 | { | 64 | { |
65 | tegra_clk_init_from_table(tegra_dt_clk_init_table); | ||
66 | |||
45 | of_platform_populate(NULL, tegra_dt_match_table, | 67 | of_platform_populate(NULL, tegra_dt_match_table, |
46 | NULL, NULL); | 68 | tegra30_auxdata_lookup, NULL); |
47 | } | 69 | } |
48 | 70 | ||
49 | static const char *tegra30_dt_board_compat[] = { | 71 | static const char *tegra30_dt_board_compat[] = { |