From: Arnd Bergmann Date: Sat, 7 Jan 2012 20:53:13 +0000 (+0000) Subject: Merge branch 'depends/rmk/for-linus' into next/soc X-Git-Tag: v3.3-rc1~141^2 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=23c4c1c7b0dd2ebeb90bb6851478c0e80fe9e6b8;p=linux.git Merge branch 'depends/rmk/for-linus' into next/soc Conflicts: arch/arm/mach-tegra/board-dt-tegra20.c arch/arm/mach-tegra/common.c --- 23c4c1c7b0dd2ebeb90bb6851478c0e80fe9e6b8 diff --cc arch/arm/mach-omap2/board-ti8168evm.c index b236fcc023ac,74713e3993e5..1770b28d6522 --- a/arch/arm/mach-omap2/board-ti8168evm.c +++ b/arch/arm/mach-omap2/board-ti8168evm.c @@@ -38,9 -38,15 +38,10 @@@ static void __init ti8168_evm_init(void MACHINE_START(TI8168EVM, "ti8168evm") /* Maintainer: Texas Instruments */ .atag_offset = 0x100, - .map_io = ti8168_evm_map_io, - .init_early = ti816x_init_early, - .init_irq = ti816x_init_irq, + .map_io = ti81xx_map_io, + .init_early = ti81xx_init_early, + .init_irq = ti81xx_init_irq, .timer = &omap3_timer, .init_machine = ti8168_evm_init, + .restart = omap_prcm_restart, MACHINE_END diff --cc arch/arm/mach-omap2/common.h index 4b2b416fafe1,cda888a2e635..9403b2ce6c85 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h @@@ -90,8 -82,9 +90,9 @@@ void omap35xx_init_early(void) void omap3630_init_early(void); void omap3_init_early(void); /* Do not use this one */ void am35xx_init_early(void); -void ti816x_init_early(void); +void ti81xx_init_early(void); void omap4430_init_early(void); + void omap_prcm_restart(char, const char *); /* * IO bases for various OMAP processors diff --cc arch/arm/mach-tegra/board-dt-tegra20.c index d1befbedbdea,e417a8383dbb..47e1fa322f15 --- a/arch/arm/mach-tegra/board-dt-tegra20.c +++ b/arch/arm/mach-tegra/board-dt-tegra20.c @@@ -144,5 -134,6 +144,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 72b666bd3043,20f396d740fa..a2eb90169aed --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@@ -33,28 -31,14 +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); }