From: Stephen Rothwell Date: Tue, 20 Dec 2011 23:32:29 +0000 (+1100) Subject: Merge remote-tracking branch 'tegra/for-next' X-Git-Tag: next-20111221~97 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2585fd57fb112d9bf50e94b1e2416d4b2e967c08;p=karo-tx-linux.git Merge remote-tracking branch 'tegra/for-next' Conflicts: arch/arm/mach-tegra/board-dt-tegra20.c arch/arm/mach-tegra/common.c --- 2585fd57fb112d9bf50e94b1e2416d4b2e967c08 diff --cc arch/arm/mach-tegra/board-dt-tegra20.c index e417a8383dbb,c211db5a6108..7a95e0bc4aba --- a/arch/arm/mach-tegra/board-dt-tegra20.c +++ b/arch/arm/mach-tegra/board-dt-tegra20.c @@@ -134,6 -146,5 +146,6 @@@ DT_MACHINE_START(TEGRA_DT, "nVidia Tegr .handle_irq = gic_handle_irq, .timer = &tegra_timer, .init_machine = tegra_dt_init, + .restart = tegra_assert_system_reset, - .dt_compat = tegra_dt_board_compat, + .dt_compat = tegra20_dt_board_compat, MACHINE_END diff --cc arch/arm/mach-tegra/common.c index 20f396d740fa,72b666bd3043..a2eb90169aed --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@@ -31,14 -33,28 +33,26 @@@ #include "clock.h" #include "fuse.h" -void (*arch_reset)(char mode, const char *cmd) = tegra_assert_system_reset; - + #ifdef CONFIG_OF + static const struct of_device_id tegra_dt_irq_match[] __initconst = { + { .compatible = "arm,cortex-a9-gic", .data = gic_of_init }, + { } + }; + + void __init tegra_dt_init_irq(void) + { + tegra_init_irq(); + of_irq_init(tegra_dt_irq_match); + } + #endif + void tegra_assert_system_reset(char mode, const char *cmd) { - void __iomem *reset = IO_ADDRESS(TEGRA_CLK_RESET_BASE + 0x04); + void __iomem *reset = IO_ADDRESS(TEGRA_PMC_BASE + 0); u32 reg; - /* use *_related to avoid spinlock since caches are off */ reg = readl_relaxed(reset); - reg |= 0x04; + reg |= 0x10; writel_relaxed(reg, reset); }