diff options
| -rw-r--r-- | arch/arm/mach-tegra/board-dt-tegra20.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-dt-tegra20.c b/arch/arm/mach-tegra/board-dt-tegra20.c index eb7249db50a5..9537f20384fc 100644 --- a/arch/arm/mach-tegra/board-dt-tegra20.c +++ b/arch/arm/mach-tegra/board-dt-tegra20.c | |||
| @@ -98,6 +98,40 @@ static void __init tegra_dt_init(void) | |||
| 98 | tegra20_auxdata_lookup, NULL); | 98 | tegra20_auxdata_lookup, NULL); |
| 99 | } | 99 | } |
| 100 | 100 | ||
| 101 | #ifdef CONFIG_MACH_TRIMSLICE | ||
| 102 | static void __init trimslice_init(void) | ||
| 103 | { | ||
| 104 | int ret; | ||
| 105 | |||
| 106 | ret = tegra_pcie_init(true, true); | ||
| 107 | if (ret) | ||
| 108 | pr_err("tegra_pci_init() failed: %d\n", ret); | ||
| 109 | } | ||
| 110 | #endif | ||
| 111 | |||
| 112 | static struct { | ||
| 113 | char *machine; | ||
| 114 | void (*init)(void); | ||
| 115 | } board_init_funcs[] = { | ||
| 116 | #ifdef CONFIG_MACH_TRIMSLICE | ||
| 117 | { "compulab,trimslice", trimslice_init }, | ||
| 118 | #endif | ||
| 119 | }; | ||
| 120 | |||
| 121 | static void __init tegra_dt_init_late(void) | ||
| 122 | { | ||
| 123 | int i; | ||
| 124 | |||
| 125 | tegra_init_late(); | ||
| 126 | |||
| 127 | for (i = 0; i < ARRAY_SIZE(board_init_funcs); i++) { | ||
| 128 | if (of_machine_is_compatible(board_init_funcs[i].machine)) { | ||
| 129 | board_init_funcs[i].init(); | ||
| 130 | break; | ||
| 131 | } | ||
| 132 | } | ||
| 133 | } | ||
| 134 | |||
| 101 | static const char *tegra20_dt_board_compat[] = { | 135 | static const char *tegra20_dt_board_compat[] = { |
| 102 | "nvidia,tegra20", | 136 | "nvidia,tegra20", |
| 103 | NULL | 137 | NULL |
| @@ -110,7 +144,7 @@ DT_MACHINE_START(TEGRA_DT, "nVidia Tegra20 (Flattened Device Tree)") | |||
| 110 | .handle_irq = gic_handle_irq, | 144 | .handle_irq = gic_handle_irq, |
| 111 | .timer = &tegra_timer, | 145 | .timer = &tegra_timer, |
| 112 | .init_machine = tegra_dt_init, | 146 | .init_machine = tegra_dt_init, |
| 113 | .init_late = tegra_init_late, | 147 | .init_late = tegra_dt_init_late, |
| 114 | .restart = tegra_assert_system_reset, | 148 | .restart = tegra_assert_system_reset, |
| 115 | .dt_compat = tegra20_dt_board_compat, | 149 | .dt_compat = tegra20_dt_board_compat, |
| 116 | MACHINE_END | 150 | MACHINE_END |
