diff options
author | Stephen Warren <swarren@nvidia.com> | 2012-08-03 16:55:36 -0400 |
---|---|---|
committer | Stephen Warren <swarren@nvidia.com> | 2012-09-14 13:31:36 -0400 |
commit | be6a9194f158482347c430c04ac9ea64644dda67 (patch) | |
tree | b97dce31e334ac8275201d524c7b108418217905 | |
parent | 1ab710fe61b91a2448de9843c746555f9725b9cc (diff) |
ARM: tegra: remove board (but not DT) support for TrimSlice
TrimSlice can be booted using device tree with equal functionality as
when booted using a board file. Remove the board file since it's no
longer needed.
One special-case is still left in board-dt-tegra20.c, since the Tegra
PCIe driver doesn't support device tree yet. This logic is now enabled
by CONFIG_TEGRA_PCI rather than via CONFIG_MACH_TRIMSLICE. The extra
cases where it's enabled (.configs which did not enable TrimSlice
support) shouldn't impact much since the amount of code is tiny.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r-- | arch/arm/mach-tegra/Kconfig | 7 | ||||
-rw-r--r-- | arch/arm/mach-tegra/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-dt-tegra20.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-trimslice-pinmux.c | 155 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-trimslice.c | 183 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-trimslice.h | 30 |
6 files changed, 2 insertions, 382 deletions
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 9077aaa398d9..41bc73c6f376 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig | |||
@@ -72,13 +72,6 @@ config MACH_PAZ00 | |||
72 | help | 72 | help |
73 | Support for the Toshiba AC100/Dynabook AZ netbook | 73 | Support for the Toshiba AC100/Dynabook AZ netbook |
74 | 74 | ||
75 | config MACH_TRIMSLICE | ||
76 | bool "TrimSlice board" | ||
77 | depends on ARCH_TEGRA_2x_SOC | ||
78 | select TEGRA_PCI | ||
79 | help | ||
80 | Support for CompuLab TrimSlice platform | ||
81 | |||
82 | choice | 75 | choice |
83 | prompt "Default low-level debug console UART" | 76 | prompt "Default low-level debug console UART" |
84 | default TEGRA_DEBUG_UART_NONE | 77 | default TEGRA_DEBUG_UART_NONE |
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile index c3d7303b9ac8..88ddb75e6020 100644 --- a/arch/arm/mach-tegra/Makefile +++ b/arch/arm/mach-tegra/Makefile | |||
@@ -33,6 +33,3 @@ obj-$(CONFIG_MACH_HARMONY) += board-harmony-power.o | |||
33 | 33 | ||
34 | obj-$(CONFIG_MACH_PAZ00) += board-paz00.o | 34 | obj-$(CONFIG_MACH_PAZ00) += board-paz00.o |
35 | obj-$(CONFIG_MACH_PAZ00) += board-paz00-pinmux.o | 35 | obj-$(CONFIG_MACH_PAZ00) += board-paz00-pinmux.o |
36 | |||
37 | obj-$(CONFIG_MACH_TRIMSLICE) += board-trimslice.o | ||
38 | obj-$(CONFIG_MACH_TRIMSLICE) += board-trimslice-pinmux.o | ||
diff --git a/arch/arm/mach-tegra/board-dt-tegra20.c b/arch/arm/mach-tegra/board-dt-tegra20.c index c0999633a9ab..88488f24dcaa 100644 --- a/arch/arm/mach-tegra/board-dt-tegra20.c +++ b/arch/arm/mach-tegra/board-dt-tegra20.c | |||
@@ -95,16 +95,16 @@ static void __init tegra_dt_init(void) | |||
95 | tegra20_auxdata_lookup, NULL); | 95 | tegra20_auxdata_lookup, NULL); |
96 | } | 96 | } |
97 | 97 | ||
98 | #ifdef CONFIG_MACH_TRIMSLICE | ||
99 | static void __init trimslice_init(void) | 98 | static void __init trimslice_init(void) |
100 | { | 99 | { |
100 | #ifdef CONFIG_TEGRA_PCI | ||
101 | int ret; | 101 | int ret; |
102 | 102 | ||
103 | ret = tegra_pcie_init(true, true); | 103 | ret = tegra_pcie_init(true, true); |
104 | if (ret) | 104 | if (ret) |
105 | pr_err("tegra_pci_init() failed: %d\n", ret); | 105 | pr_err("tegra_pci_init() failed: %d\n", ret); |
106 | } | ||
107 | #endif | 106 | #endif |
107 | } | ||
108 | 108 | ||
109 | #ifdef CONFIG_MACH_HARMONY | 109 | #ifdef CONFIG_MACH_HARMONY |
110 | static void __init harmony_init(void) | 110 | static void __init harmony_init(void) |
@@ -134,9 +134,7 @@ static struct { | |||
134 | char *machine; | 134 | char *machine; |
135 | void (*init)(void); | 135 | void (*init)(void); |
136 | } board_init_funcs[] = { | 136 | } board_init_funcs[] = { |
137 | #ifdef CONFIG_MACH_TRIMSLICE | ||
138 | { "compulab,trimslice", trimslice_init }, | 137 | { "compulab,trimslice", trimslice_init }, |
139 | #endif | ||
140 | #ifdef CONFIG_MACH_HARMONY | 138 | #ifdef CONFIG_MACH_HARMONY |
141 | { "nvidia,harmony", harmony_init }, | 139 | { "nvidia,harmony", harmony_init }, |
142 | #endif | 140 | #endif |
diff --git a/arch/arm/mach-tegra/board-trimslice-pinmux.c b/arch/arm/mach-tegra/board-trimslice-pinmux.c deleted file mode 100644 index 7b39511c0d4d..000000000000 --- a/arch/arm/mach-tegra/board-trimslice-pinmux.c +++ /dev/null | |||
@@ -1,155 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-tegra/board-trimslice-pinmux.c | ||
3 | * | ||
4 | * Copyright (C) 2011 CompuLab, Ltd. | ||
5 | * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved. | ||
6 | * | ||
7 | * This software is licensed under the terms of the GNU General Public | ||
8 | * License version 2, as published by the Free Software Foundation, and | ||
9 | * may be copied, distributed, and modified under those terms. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | */ | ||
17 | #include <linux/kernel.h> | ||
18 | |||
19 | #include "board-trimslice.h" | ||
20 | #include "board-pinmux.h" | ||
21 | |||
22 | static struct pinctrl_map trimslice_map[] = { | ||
23 | TEGRA_MAP_MUXCONF("ata", "ide", none, tristate), | ||
24 | TEGRA_MAP_MUXCONF("atb", "sdio4", none, driven), | ||
25 | TEGRA_MAP_MUXCONF("atc", "nand", none, tristate), | ||
26 | TEGRA_MAP_MUXCONF("atd", "gmi", none, tristate), | ||
27 | TEGRA_MAP_MUXCONF("ate", "gmi", none, tristate), | ||
28 | TEGRA_MAP_MUXCONF("cdev1", "plla_out", none, driven), | ||
29 | TEGRA_MAP_MUXCONF("cdev2", "pllp_out4", down, tristate), | ||
30 | TEGRA_MAP_MUXCONF("crtp", "crt", none, tristate), | ||
31 | TEGRA_MAP_MUXCONF("csus", "vi_sensor_clk", down, tristate), | ||
32 | TEGRA_MAP_MUXCONF("dap1", "dap1", none, driven), | ||
33 | TEGRA_MAP_MUXCONF("dap2", "dap2", none, tristate), | ||
34 | TEGRA_MAP_MUXCONF("dap3", "dap3", none, tristate), | ||
35 | TEGRA_MAP_MUXCONF("dap4", "dap4", none, tristate), | ||
36 | TEGRA_MAP_MUXCONF("ddc", "i2c2", up, driven), | ||
37 | TEGRA_MAP_MUXCONF("dta", "vi", none, tristate), | ||
38 | TEGRA_MAP_MUXCONF("dtb", "vi", none, tristate), | ||
39 | TEGRA_MAP_MUXCONF("dtc", "vi", none, tristate), | ||
40 | TEGRA_MAP_MUXCONF("dtd", "vi", none, tristate), | ||
41 | TEGRA_MAP_MUXCONF("dte", "vi", none, tristate), | ||
42 | TEGRA_MAP_MUXCONF("dtf", "i2c3", up, driven), | ||
43 | TEGRA_MAP_MUXCONF("gma", "sdio4", none, driven), | ||
44 | TEGRA_MAP_MUXCONF("gmb", "nand", none, tristate), | ||
45 | TEGRA_MAP_MUXCONF("gmc", "sflash", none, driven), | ||
46 | TEGRA_MAP_MUXCONF("gmd", "sflash", none, driven), | ||
47 | TEGRA_MAP_MUXCONF("gme", "gmi", none, tristate), | ||
48 | TEGRA_MAP_MUXCONF("gpu", "uarta", none, driven), | ||
49 | TEGRA_MAP_MUXCONF("gpu7", "rtck", none, driven), | ||
50 | TEGRA_MAP_MUXCONF("gpv", "pcie", none, driven), | ||
51 | TEGRA_MAP_MUXCONF("hdint", "hdmi", na, tristate), | ||
52 | TEGRA_MAP_MUXCONF("i2cp", "i2cp", none, tristate), | ||
53 | TEGRA_MAP_MUXCONF("irrx", "uartb", up, tristate), | ||
54 | TEGRA_MAP_MUXCONF("irtx", "uartb", up, tristate), | ||
55 | TEGRA_MAP_MUXCONF("kbca", "kbc", up, tristate), | ||
56 | TEGRA_MAP_MUXCONF("kbcb", "kbc", up, tristate), | ||
57 | TEGRA_MAP_MUXCONF("kbcc", "kbc", up, tristate), | ||
58 | TEGRA_MAP_MUXCONF("kbcd", "kbc", up, tristate), | ||
59 | TEGRA_MAP_MUXCONF("kbce", "kbc", up, tristate), | ||
60 | TEGRA_MAP_MUXCONF("kbcf", "kbc", up, tristate), | ||
61 | TEGRA_MAP_MUXCONF("lcsn", "displaya", na, tristate), | ||
62 | TEGRA_MAP_MUXCONF("ld0", "displaya", na, driven), | ||
63 | TEGRA_MAP_MUXCONF("ld1", "displaya", na, driven), | ||
64 | TEGRA_MAP_MUXCONF("ld10", "displaya", na, driven), | ||
65 | TEGRA_MAP_MUXCONF("ld11", "displaya", na, driven), | ||
66 | TEGRA_MAP_MUXCONF("ld12", "displaya", na, driven), | ||
67 | TEGRA_MAP_MUXCONF("ld13", "displaya", na, driven), | ||
68 | TEGRA_MAP_MUXCONF("ld14", "displaya", na, driven), | ||
69 | TEGRA_MAP_MUXCONF("ld15", "displaya", na, driven), | ||
70 | TEGRA_MAP_MUXCONF("ld16", "displaya", na, driven), | ||
71 | TEGRA_MAP_MUXCONF("ld17", "displaya", na, driven), | ||
72 | TEGRA_MAP_MUXCONF("ld2", "displaya", na, driven), | ||
73 | TEGRA_MAP_MUXCONF("ld3", "displaya", na, driven), | ||
74 | TEGRA_MAP_MUXCONF("ld4", "displaya", na, driven), | ||
75 | TEGRA_MAP_MUXCONF("ld5", "displaya", na, driven), | ||
76 | TEGRA_MAP_MUXCONF("ld6", "displaya", na, driven), | ||
77 | TEGRA_MAP_MUXCONF("ld7", "displaya", na, driven), | ||
78 | TEGRA_MAP_MUXCONF("ld8", "displaya", na, driven), | ||
79 | TEGRA_MAP_MUXCONF("ld9", "displaya", na, driven), | ||
80 | TEGRA_MAP_MUXCONF("ldc", "displaya", na, tristate), | ||
81 | TEGRA_MAP_MUXCONF("ldi", "displaya", na, driven), | ||
82 | TEGRA_MAP_MUXCONF("lhp0", "displaya", na, driven), | ||
83 | TEGRA_MAP_MUXCONF("lhp1", "displaya", na, driven), | ||
84 | TEGRA_MAP_MUXCONF("lhp2", "displaya", na, driven), | ||
85 | TEGRA_MAP_MUXCONF("lhs", "displaya", na, driven), | ||
86 | TEGRA_MAP_MUXCONF("lm0", "displaya", na, driven), | ||
87 | TEGRA_MAP_MUXCONF("lm1", "displaya", na, tristate), | ||
88 | TEGRA_MAP_MUXCONF("lpp", "displaya", na, driven), | ||
89 | TEGRA_MAP_MUXCONF("lpw0", "displaya", na, driven), | ||
90 | TEGRA_MAP_MUXCONF("lpw1", "displaya", na, tristate), | ||
91 | TEGRA_MAP_MUXCONF("lpw2", "displaya", na, driven), | ||
92 | TEGRA_MAP_MUXCONF("lsc0", "displaya", na, driven), | ||
93 | TEGRA_MAP_MUXCONF("lsc1", "displaya", na, tristate), | ||
94 | TEGRA_MAP_MUXCONF("lsck", "displaya", na, tristate), | ||
95 | TEGRA_MAP_MUXCONF("lsda", "displaya", na, tristate), | ||
96 | TEGRA_MAP_MUXCONF("lsdi", "displaya", na, tristate), | ||
97 | TEGRA_MAP_MUXCONF("lspi", "displaya", na, driven), | ||
98 | TEGRA_MAP_MUXCONF("lvp0", "displaya", na, tristate), | ||
99 | TEGRA_MAP_MUXCONF("lvp1", "displaya", na, driven), | ||
100 | TEGRA_MAP_MUXCONF("lvs", "displaya", na, driven), | ||
101 | TEGRA_MAP_MUXCONF("owc", "rsvd2", up, tristate), | ||
102 | TEGRA_MAP_MUXCONF("pmc", "pwr_on", na, tristate), | ||
103 | TEGRA_MAP_MUXCONF("pta", "gmi", none, tristate), | ||
104 | TEGRA_MAP_MUXCONF("rm", "i2c1", up, driven), | ||
105 | TEGRA_MAP_MUXCONF("sdb", "pwm", na, driven), | ||
106 | TEGRA_MAP_MUXCONF("sdc", "pwm", up, driven), | ||
107 | TEGRA_MAP_MUXCONF("sdd", "pwm", up, driven), | ||
108 | TEGRA_MAP_MUXCONF("sdio1", "sdio1", none, driven), | ||
109 | TEGRA_MAP_MUXCONF("slxa", "pcie", none, driven), | ||
110 | TEGRA_MAP_MUXCONF("slxc", "sdio3", none, tristate), | ||
111 | TEGRA_MAP_MUXCONF("slxd", "sdio3", none, tristate), | ||
112 | TEGRA_MAP_MUXCONF("slxk", "pcie", none, driven), | ||
113 | TEGRA_MAP_MUXCONF("spdi", "spdif", none, tristate), | ||
114 | TEGRA_MAP_MUXCONF("spdo", "spdif", none, tristate), | ||
115 | TEGRA_MAP_MUXCONF("spia", "spi2", down, tristate), | ||
116 | TEGRA_MAP_MUXCONF("spib", "spi2", down, tristate), | ||
117 | TEGRA_MAP_MUXCONF("spic", "spi2", up, tristate), | ||
118 | TEGRA_MAP_MUXCONF("spid", "spi1", down, tristate), | ||
119 | TEGRA_MAP_MUXCONF("spie", "spi1", up, tristate), | ||
120 | TEGRA_MAP_MUXCONF("spif", "spi1", down, tristate), | ||
121 | TEGRA_MAP_MUXCONF("spig", "spi2_alt", up, tristate), | ||
122 | TEGRA_MAP_MUXCONF("spih", "spi2_alt", up, tristate), | ||
123 | TEGRA_MAP_MUXCONF("uaa", "ulpi", up, tristate), | ||
124 | TEGRA_MAP_MUXCONF("uab", "ulpi", up, tristate), | ||
125 | TEGRA_MAP_MUXCONF("uac", "rsvd2", none, driven), | ||
126 | TEGRA_MAP_MUXCONF("uad", "irda", up, tristate), | ||
127 | TEGRA_MAP_MUXCONF("uca", "uartc", up, tristate), | ||
128 | TEGRA_MAP_MUXCONF("ucb", "uartc", up, tristate), | ||
129 | TEGRA_MAP_MUXCONF("uda", "ulpi", none, tristate), | ||
130 | TEGRA_MAP_CONF("ck32", none, na), | ||
131 | TEGRA_MAP_CONF("ddrc", none, na), | ||
132 | TEGRA_MAP_CONF("pmca", none, na), | ||
133 | TEGRA_MAP_CONF("pmcb", none, na), | ||
134 | TEGRA_MAP_CONF("pmcc", none, na), | ||
135 | TEGRA_MAP_CONF("pmcd", none, na), | ||
136 | TEGRA_MAP_CONF("pmce", none, na), | ||
137 | TEGRA_MAP_CONF("xm2c", none, na), | ||
138 | TEGRA_MAP_CONF("xm2d", none, na), | ||
139 | TEGRA_MAP_CONF("ls", up, na), | ||
140 | TEGRA_MAP_CONF("lc", up, na), | ||
141 | TEGRA_MAP_CONF("ld17_0", down, na), | ||
142 | TEGRA_MAP_CONF("ld19_18", down, na), | ||
143 | TEGRA_MAP_CONF("ld21_20", down, na), | ||
144 | TEGRA_MAP_CONF("ld23_22", down, na), | ||
145 | }; | ||
146 | |||
147 | static struct tegra_board_pinmux_conf conf = { | ||
148 | .maps = trimslice_map, | ||
149 | .map_count = ARRAY_SIZE(trimslice_map), | ||
150 | }; | ||
151 | |||
152 | void trimslice_pinmux_init(void) | ||
153 | { | ||
154 | tegra_board_pinmux_init(&conf, NULL); | ||
155 | } | ||
diff --git a/arch/arm/mach-tegra/board-trimslice.c b/arch/arm/mach-tegra/board-trimslice.c deleted file mode 100644 index 776aa9564d5d..000000000000 --- a/arch/arm/mach-tegra/board-trimslice.c +++ /dev/null | |||
@@ -1,183 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-tegra/board-trimslice.c | ||
3 | * | ||
4 | * Copyright (C) 2011 CompuLab, Ltd. | ||
5 | * Author: Mike Rapoport <mike@compulab.co.il> | ||
6 | * | ||
7 | * Based on board-harmony.c | ||
8 | * Copyright (C) 2010 Google, Inc. | ||
9 | * | ||
10 | * This software is licensed under the terms of the GNU General Public | ||
11 | * License version 2, as published by the Free Software Foundation, and | ||
12 | * may be copied, distributed, and modified under those terms. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | */ | ||
20 | |||
21 | #include <linux/kernel.h> | ||
22 | #include <linux/init.h> | ||
23 | #include <linux/platform_device.h> | ||
24 | #include <linux/serial_8250.h> | ||
25 | #include <linux/of_serial.h> | ||
26 | #include <linux/io.h> | ||
27 | #include <linux/i2c.h> | ||
28 | #include <linux/gpio.h> | ||
29 | #include <linux/platform_data/tegra_usb.h> | ||
30 | |||
31 | #include <asm/hardware/gic.h> | ||
32 | #include <asm/mach-types.h> | ||
33 | #include <asm/mach/arch.h> | ||
34 | #include <asm/setup.h> | ||
35 | |||
36 | #include <mach/iomap.h> | ||
37 | #include <mach/sdhci.h> | ||
38 | |||
39 | #include "board.h" | ||
40 | #include "clock.h" | ||
41 | #include "devices.h" | ||
42 | #include "gpio-names.h" | ||
43 | |||
44 | #include "board-trimslice.h" | ||
45 | |||
46 | static struct plat_serial8250_port debug_uart_platform_data[] = { | ||
47 | { | ||
48 | .membase = IO_ADDRESS(TEGRA_UARTA_BASE), | ||
49 | .mapbase = TEGRA_UARTA_BASE, | ||
50 | .irq = INT_UARTA, | ||
51 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | ||
52 | .type = PORT_TEGRA, | ||
53 | .handle_break = tegra_serial_handle_break, | ||
54 | .iotype = UPIO_MEM, | ||
55 | .regshift = 2, | ||
56 | .uartclk = 216000000, | ||
57 | }, { | ||
58 | .flags = 0 | ||
59 | } | ||
60 | }; | ||
61 | |||
62 | static struct platform_device debug_uart = { | ||
63 | .name = "serial8250", | ||
64 | .id = PLAT8250_DEV_PLATFORM, | ||
65 | .dev = { | ||
66 | .platform_data = debug_uart_platform_data, | ||
67 | }, | ||
68 | }; | ||
69 | static struct tegra_sdhci_platform_data sdhci_pdata1 = { | ||
70 | .cd_gpio = -1, | ||
71 | .wp_gpio = -1, | ||
72 | .power_gpio = -1, | ||
73 | }; | ||
74 | |||
75 | static struct tegra_sdhci_platform_data sdhci_pdata4 = { | ||
76 | .cd_gpio = TRIMSLICE_GPIO_SD4_CD, | ||
77 | .wp_gpio = TRIMSLICE_GPIO_SD4_WP, | ||
78 | .power_gpio = -1, | ||
79 | }; | ||
80 | |||
81 | static struct platform_device trimslice_audio_device = { | ||
82 | .name = "tegra-snd-trimslice", | ||
83 | .id = 0, | ||
84 | }; | ||
85 | |||
86 | static struct platform_device *trimslice_devices[] __initdata = { | ||
87 | &debug_uart, | ||
88 | &tegra_sdhci_device1, | ||
89 | &tegra_sdhci_device4, | ||
90 | &tegra_i2s_device1, | ||
91 | &tegra_das_device, | ||
92 | &trimslice_audio_device, | ||
93 | }; | ||
94 | |||
95 | static struct i2c_board_info trimslice_i2c3_board_info[] = { | ||
96 | { | ||
97 | I2C_BOARD_INFO("tlv320aic23", 0x1a), | ||
98 | }, | ||
99 | { | ||
100 | I2C_BOARD_INFO("em3027", 0x56), | ||
101 | }, | ||
102 | }; | ||
103 | |||
104 | static void trimslice_i2c_init(void) | ||
105 | { | ||
106 | platform_device_register(&tegra_i2c_device1); | ||
107 | platform_device_register(&tegra_i2c_device2); | ||
108 | platform_device_register(&tegra_i2c_device3); | ||
109 | |||
110 | i2c_register_board_info(2, trimslice_i2c3_board_info, | ||
111 | ARRAY_SIZE(trimslice_i2c3_board_info)); | ||
112 | } | ||
113 | |||
114 | static void trimslice_usb_init(void) | ||
115 | { | ||
116 | struct tegra_ehci_platform_data *pdata; | ||
117 | |||
118 | pdata = tegra_ehci1_device.dev.platform_data; | ||
119 | pdata->vbus_gpio = TRIMSLICE_GPIO_USB1_MODE; | ||
120 | |||
121 | tegra_ehci2_ulpi_phy_config.reset_gpio = TEGRA_GPIO_PV0; | ||
122 | |||
123 | platform_device_register(&tegra_ehci3_device); | ||
124 | platform_device_register(&tegra_ehci2_device); | ||
125 | platform_device_register(&tegra_ehci1_device); | ||
126 | } | ||
127 | |||
128 | static void __init tegra_trimslice_fixup(struct tag *tags, char **cmdline, | ||
129 | struct meminfo *mi) | ||
130 | { | ||
131 | mi->nr_banks = 2; | ||
132 | mi->bank[0].start = PHYS_OFFSET; | ||
133 | mi->bank[0].size = 448 * SZ_1M; | ||
134 | mi->bank[1].start = SZ_512M; | ||
135 | mi->bank[1].size = SZ_512M; | ||
136 | } | ||
137 | |||
138 | static __initdata struct tegra_clk_init_table trimslice_clk_init_table[] = { | ||
139 | /* name parent rate enabled */ | ||
140 | { "uarta", "pll_p", 216000000, true }, | ||
141 | { "pll_a", "pll_p_out1", 56448000, true }, | ||
142 | { "pll_a_out0", "pll_a", 11289600, true }, | ||
143 | { "cdev1", NULL, 0, true }, | ||
144 | { "i2s1", "pll_a_out0", 11289600, false}, | ||
145 | { NULL, NULL, 0, 0}, | ||
146 | }; | ||
147 | |||
148 | static int __init tegra_trimslice_pci_init(void) | ||
149 | { | ||
150 | if (!machine_is_trimslice()) | ||
151 | return 0; | ||
152 | |||
153 | return tegra_pcie_init(true, true); | ||
154 | } | ||
155 | subsys_initcall(tegra_trimslice_pci_init); | ||
156 | |||
157 | static void __init tegra_trimslice_init(void) | ||
158 | { | ||
159 | tegra_clk_init_from_table(trimslice_clk_init_table); | ||
160 | |||
161 | trimslice_pinmux_init(); | ||
162 | |||
163 | tegra_sdhci_device1.dev.platform_data = &sdhci_pdata1; | ||
164 | tegra_sdhci_device4.dev.platform_data = &sdhci_pdata4; | ||
165 | |||
166 | platform_add_devices(trimslice_devices, ARRAY_SIZE(trimslice_devices)); | ||
167 | |||
168 | trimslice_i2c_init(); | ||
169 | trimslice_usb_init(); | ||
170 | } | ||
171 | |||
172 | MACHINE_START(TRIMSLICE, "trimslice") | ||
173 | .atag_offset = 0x100, | ||
174 | .fixup = tegra_trimslice_fixup, | ||
175 | .map_io = tegra_map_common_io, | ||
176 | .init_early = tegra20_init_early, | ||
177 | .init_irq = tegra_init_irq, | ||
178 | .handle_irq = gic_handle_irq, | ||
179 | .timer = &tegra_timer, | ||
180 | .init_machine = tegra_trimslice_init, | ||
181 | .init_late = tegra_init_late, | ||
182 | .restart = tegra_assert_system_reset, | ||
183 | MACHINE_END | ||
diff --git a/arch/arm/mach-tegra/board-trimslice.h b/arch/arm/mach-tegra/board-trimslice.h deleted file mode 100644 index 50f128d87779..000000000000 --- a/arch/arm/mach-tegra/board-trimslice.h +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-tegra/board-trimslice.h | ||
3 | * | ||
4 | * Copyright (C) 2011 CompuLab, Ltd. | ||
5 | * | ||
6 | * This software is licensed under the terms of the GNU General Public | ||
7 | * License version 2, as published by the Free Software Foundation, and | ||
8 | * may be copied, distributed, and modified under those terms. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | */ | ||
16 | |||
17 | #ifndef _MACH_TEGRA_BOARD_TRIMSLICE_H | ||
18 | #define _MACH_TEGRA_BOARD_TRIMSLICE_H | ||
19 | |||
20 | #include <mach/gpio-tegra.h> | ||
21 | |||
22 | #define TRIMSLICE_GPIO_SD4_CD TEGRA_GPIO_PP1 /* mmc4 cd */ | ||
23 | #define TRIMSLICE_GPIO_SD4_WP TEGRA_GPIO_PP2 /* mmc4 wp */ | ||
24 | |||
25 | #define TRIMSLICE_GPIO_USB1_MODE TEGRA_GPIO_PV2 /* USB1 mode */ | ||
26 | #define TRIMSLICE_GPIO_USB2_RST TEGRA_GPIO_PV0 /* USB2 PHY reset */ | ||
27 | |||
28 | void trimslice_pinmux_init(void); | ||
29 | |||
30 | #endif | ||