diff options
Diffstat (limited to 'arch/arm/mach-tegra/board-paz00.c')
-rw-r--r-- | arch/arm/mach-tegra/board-paz00.c | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c index 4b64af5cab27..740e16f64728 100644 --- a/arch/arm/mach-tegra/board-paz00.c +++ b/arch/arm/mach-tegra/board-paz00.c | |||
@@ -17,72 +17,10 @@ | |||
17 | * | 17 | * |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #include <linux/kernel.h> | ||
21 | #include <linux/init.h> | ||
22 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
23 | #include <linux/serial_8250.h> | ||
24 | #include <linux/of_serial.h> | ||
25 | #include <linux/clk.h> | ||
26 | #include <linux/dma-mapping.h> | ||
27 | #include <linux/gpio_keys.h> | ||
28 | #include <linux/pda_power.h> | ||
29 | #include <linux/io.h> | ||
30 | #include <linux/input.h> | ||
31 | #include <linux/i2c.h> | ||
32 | #include <linux/gpio.h> | ||
33 | #include <linux/rfkill-gpio.h> | 21 | #include <linux/rfkill-gpio.h> |
34 | |||
35 | #include <asm/hardware/gic.h> | ||
36 | #include <asm/mach-types.h> | ||
37 | #include <asm/mach/arch.h> | ||
38 | #include <asm/mach/time.h> | ||
39 | #include <asm/setup.h> | ||
40 | |||
41 | #include <mach/iomap.h> | ||
42 | #include <mach/irqs.h> | ||
43 | #include <mach/sdhci.h> | ||
44 | |||
45 | #include "board.h" | 22 | #include "board.h" |
46 | #include "board-paz00.h" | 23 | #include "board-paz00.h" |
47 | #include "clock.h" | ||
48 | #include "devices.h" | ||
49 | #include "gpio-names.h" | ||
50 | |||
51 | static struct plat_serial8250_port debug_uart_platform_data[] = { | ||
52 | { | ||
53 | /* serial port on JP1 */ | ||
54 | .membase = IO_ADDRESS(TEGRA_UARTA_BASE), | ||
55 | .mapbase = TEGRA_UARTA_BASE, | ||
56 | .irq = INT_UARTA, | ||
57 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | ||
58 | .type = PORT_TEGRA, | ||
59 | .handle_break = tegra_serial_handle_break, | ||
60 | .iotype = UPIO_MEM, | ||
61 | .regshift = 2, | ||
62 | .uartclk = 216000000, | ||
63 | }, { | ||
64 | /* serial port on mini-pcie */ | ||
65 | .membase = IO_ADDRESS(TEGRA_UARTC_BASE), | ||
66 | .mapbase = TEGRA_UARTC_BASE, | ||
67 | .irq = INT_UARTC, | ||
68 | .flags = UPF_BOOT_AUTOCONF | UPF_FIXED_TYPE, | ||
69 | .type = PORT_TEGRA, | ||
70 | .handle_break = tegra_serial_handle_break, | ||
71 | .iotype = UPIO_MEM, | ||
72 | .regshift = 2, | ||
73 | .uartclk = 216000000, | ||
74 | }, { | ||
75 | .flags = 0 | ||
76 | } | ||
77 | }; | ||
78 | |||
79 | static struct platform_device debug_uart = { | ||
80 | .name = "serial8250", | ||
81 | .id = PLAT8250_DEV_PLATFORM, | ||
82 | .dev = { | ||
83 | .platform_data = debug_uart_platform_data, | ||
84 | }, | ||
85 | }; | ||
86 | 24 | ||
87 | static struct rfkill_gpio_platform_data wifi_rfkill_platform_data = { | 25 | static struct rfkill_gpio_platform_data wifi_rfkill_platform_data = { |
88 | .name = "wifi_rfkill", | 26 | .name = "wifi_rfkill", |
@@ -99,137 +37,7 @@ static struct platform_device wifi_rfkill_device = { | |||
99 | }, | 37 | }, |
100 | }; | 38 | }; |
101 | 39 | ||
102 | static struct gpio_led gpio_leds[] = { | ||
103 | { | ||
104 | .name = "wifi-led", | ||
105 | .default_trigger = "rfkill0", | ||
106 | .gpio = TEGRA_WIFI_LED, | ||
107 | }, | ||
108 | }; | ||
109 | |||
110 | static struct gpio_led_platform_data gpio_led_info = { | ||
111 | .leds = gpio_leds, | ||
112 | .num_leds = ARRAY_SIZE(gpio_leds), | ||
113 | }; | ||
114 | |||
115 | static struct platform_device leds_gpio = { | ||
116 | .name = "leds-gpio", | ||
117 | .id = -1, | ||
118 | .dev = { | ||
119 | .platform_data = &gpio_led_info, | ||
120 | }, | ||
121 | }; | ||
122 | |||
123 | static struct gpio_keys_button paz00_gpio_keys_buttons[] = { | ||
124 | { | ||
125 | .code = KEY_POWER, | ||
126 | .gpio = TEGRA_GPIO_POWERKEY, | ||
127 | .active_low = 1, | ||
128 | .desc = "Power", | ||
129 | .type = EV_KEY, | ||
130 | .wakeup = 1, | ||
131 | }, | ||
132 | }; | ||
133 | |||
134 | static struct gpio_keys_platform_data paz00_gpio_keys = { | ||
135 | .buttons = paz00_gpio_keys_buttons, | ||
136 | .nbuttons = ARRAY_SIZE(paz00_gpio_keys_buttons), | ||
137 | }; | ||
138 | |||
139 | static struct platform_device gpio_keys_device = { | ||
140 | .name = "gpio-keys", | ||
141 | .id = -1, | ||
142 | .dev = { | ||
143 | .platform_data = &paz00_gpio_keys, | ||
144 | }, | ||
145 | }; | ||
146 | |||
147 | static struct platform_device *paz00_devices[] __initdata = { | ||
148 | &debug_uart, | ||
149 | &tegra_sdhci_device4, | ||
150 | &tegra_sdhci_device1, | ||
151 | &leds_gpio, | ||
152 | &gpio_keys_device, | ||
153 | }; | ||
154 | |||
155 | static void paz00_i2c_init(void) | ||
156 | { | ||
157 | platform_device_register(&tegra_i2c_device1); | ||
158 | platform_device_register(&tegra_i2c_device2); | ||
159 | platform_device_register(&tegra_i2c_device4); | ||
160 | } | ||
161 | |||
162 | static void paz00_usb_init(void) | ||
163 | { | ||
164 | tegra_ehci2_ulpi_phy_config.reset_gpio = TEGRA_ULPI_RST; | ||
165 | |||
166 | platform_device_register(&tegra_ehci2_device); | ||
167 | platform_device_register(&tegra_ehci3_device); | ||
168 | } | ||
169 | |||
170 | static void __init tegra_paz00_fixup(struct tag *tags, char **cmdline, | ||
171 | struct meminfo *mi) | ||
172 | { | ||
173 | mi->nr_banks = 1; | ||
174 | mi->bank[0].start = PHYS_OFFSET; | ||
175 | mi->bank[0].size = 448 * SZ_1M; | ||
176 | } | ||
177 | |||
178 | static __initdata struct tegra_clk_init_table paz00_clk_init_table[] = { | ||
179 | /* name parent rate enabled */ | ||
180 | { "uarta", "pll_p", 216000000, true }, | ||
181 | { "uartc", "pll_p", 216000000, true }, | ||
182 | |||
183 | { "usbd", "clk_m", 12000000, false }, | ||
184 | { "usb2", "clk_m", 12000000, false }, | ||
185 | { "usb3", "clk_m", 12000000, false }, | ||
186 | |||
187 | { NULL, NULL, 0, 0}, | ||
188 | }; | ||
189 | |||
190 | static struct tegra_sdhci_platform_data sdhci_pdata1 = { | ||
191 | .cd_gpio = TEGRA_GPIO_SD1_CD, | ||
192 | .wp_gpio = TEGRA_GPIO_SD1_WP, | ||
193 | .power_gpio = TEGRA_GPIO_SD1_POWER, | ||
194 | }; | ||
195 | |||
196 | static struct tegra_sdhci_platform_data sdhci_pdata4 = { | ||
197 | .cd_gpio = -1, | ||
198 | .wp_gpio = -1, | ||
199 | .power_gpio = -1, | ||
200 | .is_8bit = 1, | ||
201 | }; | ||
202 | |||
203 | void __init tegra_paz00_wifikill_init(void) | 40 | void __init tegra_paz00_wifikill_init(void) |
204 | { | 41 | { |
205 | platform_device_register(&wifi_rfkill_device); | 42 | platform_device_register(&wifi_rfkill_device); |
206 | } | 43 | } |
207 | |||
208 | static void __init tegra_paz00_init(void) | ||
209 | { | ||
210 | tegra_clk_init_from_table(paz00_clk_init_table); | ||
211 | |||
212 | paz00_pinmux_init(); | ||
213 | |||
214 | tegra_sdhci_device1.dev.platform_data = &sdhci_pdata1; | ||
215 | tegra_sdhci_device4.dev.platform_data = &sdhci_pdata4; | ||
216 | |||
217 | platform_add_devices(paz00_devices, ARRAY_SIZE(paz00_devices)); | ||
218 | tegra_paz00_wifikill_init(); | ||
219 | |||
220 | paz00_i2c_init(); | ||
221 | paz00_usb_init(); | ||
222 | } | ||
223 | |||
224 | MACHINE_START(PAZ00, "Toshiba AC100 / Dynabook AZ") | ||
225 | .atag_offset = 0x100, | ||
226 | .fixup = tegra_paz00_fixup, | ||
227 | .map_io = tegra_map_common_io, | ||
228 | .init_early = tegra20_init_early, | ||
229 | .init_irq = tegra_init_irq, | ||
230 | .handle_irq = gic_handle_irq, | ||
231 | .timer = &tegra_timer, | ||
232 | .init_machine = tegra_paz00_init, | ||
233 | .init_late = tegra_init_late, | ||
234 | .restart = tegra_assert_system_reset, | ||
235 | MACHINE_END | ||