| OLD | NEW |
| 1 /* | 1 /* |
| 2 * arch/arm/mach-tegra/board-seaboard.c | 2 * arch/arm/mach-tegra/board-seaboard.c |
| 3 * | 3 * |
| 4 * Copyright (c) 2010, NVIDIA Corporation. | 4 * Copyright (c) 2010, NVIDIA Corporation. |
| 5 * | 5 * |
| 6 * This program is free software; you can redistribute it and/or modify | 6 * This program is free software; you can redistribute it and/or modify |
| 7 * it under the terms of the GNU General Public License as published by | 7 * it under the terms of the GNU General Public License as published by |
| 8 * the Free Software Foundation; either version 2 of the License, or | 8 * the Free Software Foundation; either version 2 of the License, or |
| 9 * (at your option) any later version. | 9 * (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 #include <linux/delay.h> | 33 #include <linux/delay.h> |
| 34 #include <linux/input.h> | 34 #include <linux/input.h> |
| 35 #include <linux/gpio_keys.h> | 35 #include <linux/gpio_keys.h> |
| 36 | 36 |
| 37 #include <mach/iomap.h> | 37 #include <mach/iomap.h> |
| 38 #include <mach/irqs.h> | 38 #include <mach/irqs.h> |
| 39 #include <mach/pinmux.h> | 39 #include <mach/pinmux.h> |
| 40 #include <mach/iomap.h> | 40 #include <mach/iomap.h> |
| 41 #include <mach/io.h> | 41 #include <mach/io.h> |
| 42 #include <mach/gpio.h> | 42 #include <mach/gpio.h> |
| 43 #include <mach/clk.h> | |
| 44 #include <mach/kbc.h> | 43 #include <mach/kbc.h> |
| 45 #include <mach/suspend.h> | 44 #include <mach/suspend.h> |
| 46 | 45 |
| 47 #include <asm/mach-types.h> | 46 #include <asm/mach-types.h> |
| 48 #include <asm/mach/arch.h> | 47 #include <asm/mach/arch.h> |
| 49 | 48 |
| 50 #include "board.h" | 49 #include "board.h" |
| 51 #include "board-seaboard.h" | 50 #include "board-seaboard.h" |
| 52 #include "clock.h" | 51 #include "clock.h" |
| 53 #include "devices.h" | 52 #include "devices.h" |
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 .core_timer = 0x7e7e, | 417 .core_timer = 0x7e7e, |
| 419 .core_off_timer = 0x7f, | 418 .core_off_timer = 0x7f, |
| 420 .separate_req = true, | 419 .separate_req = true, |
| 421 .corereq_high = false, | 420 .corereq_high = false, |
| 422 .sysclkreq_high = true, | 421 .sysclkreq_high = true, |
| 423 .suspend_mode = TEGRA_SUSPEND_LP1, | 422 .suspend_mode = TEGRA_SUSPEND_LP1, |
| 424 }; | 423 }; |
| 425 | 424 |
| 426 static void __init tegra_seaboard_init(void) | 425 static void __init tegra_seaboard_init(void) |
| 427 { | 426 { |
| 428 » struct clk *clk; | 427 » tegra_common_init(seaboard_clk_init_table); |
| 429 | |
| 430 » tegra_common_init(); | |
| 431 tegra_init_suspend(&seaboard_suspend); | 428 tegra_init_suspend(&seaboard_suspend); |
| 432 | |
| 433 tegra_clk_init_from_table(seaboard_clk_init_table); | |
| 434 seaboard_pinmux_init(); | 429 seaboard_pinmux_init(); |
| 435 | |
| 436 /* HACK: reset 3d clock */ | |
| 437 writel(0x101, IO_ADDRESS(TEGRA_PMC_BASE) + 0x30); | |
| 438 clk = clk_get_sys("3d", NULL); | |
| 439 tegra_periph_reset_assert(clk); | |
| 440 writel(0x101, IO_ADDRESS(TEGRA_PMC_BASE) + 0x30); | |
| 441 clk_enable(clk); | |
| 442 udelay(10); | |
| 443 writel(1 << 1, IO_ADDRESS(TEGRA_PMC_BASE) + 0x34); | |
| 444 tegra_periph_reset_deassert(clk); | |
| 445 clk_put(clk); | |
| 446 | |
| 447 platform_add_devices(seaboard_devices, ARRAY_SIZE(seaboard_devices)); | 430 platform_add_devices(seaboard_devices, ARRAY_SIZE(seaboard_devices)); |
| 448 | |
| 449 seaboard_panel_init(); | 431 seaboard_panel_init(); |
| 450 seaboard_sdhci_init(); | 432 seaboard_sdhci_init(); |
| 451 seaboard_i2c_init(); | 433 seaboard_i2c_init(); |
| 452 seaboard_regulator_init(); | 434 seaboard_regulator_init(); |
| 453 seaboard_kbc_init(); | 435 seaboard_kbc_init(); |
| 454 | |
| 455 seaboard_wlan_init(); | 436 seaboard_wlan_init(); |
| 456 | 437 |
| 457 tegra_gpio_enable(TEGRA_GPIO_LIDSWITCH); | 438 tegra_gpio_enable(TEGRA_GPIO_LIDSWITCH); |
| 458 tegra_gpio_enable(TEGRA_GPIO_POWERKEY); | 439 tegra_gpio_enable(TEGRA_GPIO_POWERKEY); |
| 459 } | 440 } |
| 460 | 441 |
| 461 MACHINE_START(TEGRA_SEABOARD, "seaboard") | 442 MACHINE_START(TEGRA_SEABOARD, "seaboard") |
| 462 .boot_params = 0x00000100, | 443 .boot_params = 0x00000100, |
| 463 .phys_io = IO_APB_PHYS, | 444 .phys_io = IO_APB_PHYS, |
| 464 .io_pg_offst = ((IO_APB_VIRT) >> 18) & 0xfffc, | 445 .io_pg_offst = ((IO_APB_VIRT) >> 18) & 0xfffc, |
| 465 .init_irq = tegra_init_irq, | 446 .init_irq = tegra_init_irq, |
| 466 .init_machine = tegra_seaboard_init, | 447 .init_machine = tegra_seaboard_init, |
| 467 .map_io = tegra_map_common_io, | 448 .map_io = tegra_map_common_io, |
| 468 .timer = &tegra_timer, | 449 .timer = &tegra_timer, |
| 469 MACHINE_END | 450 MACHINE_END |
| OLD | NEW |