Blame view
arch/arm/mach-kirkwood/dockstar-setup.c
2.49 KB
709406494 [ARM] Kirkwood: s... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
/* * arch/arm/mach-kirkwood/dockstar-setup.c * * Seagate FreeAgent DockStar Setup * * This file is licensed under the terms of the GNU General Public * License version 2. This program is licensed "as is" without any * warranty of any kind, whether express or implied. */ #include <linux/kernel.h> #include <linux/init.h> #include <linux/platform_device.h> #include <linux/ata_platform.h> #include <linux/mtd/partitions.h> #include <linux/mv643xx_eth.h> #include <linux/gpio.h> #include <linux/leds.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <mach/kirkwood.h> #include <plat/mvsdio.h> #include "common.h" #include "mpp.h" static struct mtd_partition dockstar_nand_parts[] = { { .name = "u-boot", .offset = 0, .size = SZ_1M }, { .name = "uImage", .offset = MTDPART_OFS_NXTBLK, .size = SZ_4M }, { .name = "root", .offset = MTDPART_OFS_NXTBLK, .size = MTDPART_SIZ_FULL }, }; static struct mv643xx_eth_platform_data dockstar_ge00_data = { .phy_addr = MV643XX_ETH_PHY_ADDR(0), }; static struct gpio_led dockstar_led_pins[] = { { .name = "dockstar:green:health", .default_trigger = "default-on", .gpio = 46, .active_low = 1, }, { .name = "dockstar:orange:misc", .default_trigger = "none", .gpio = 47, .active_low = 1, }, }; static struct gpio_led_platform_data dockstar_led_data = { .leds = dockstar_led_pins, .num_leds = ARRAY_SIZE(dockstar_led_pins), }; static struct platform_device dockstar_leds = { .name = "leds-gpio", .id = -1, .dev = { .platform_data = &dockstar_led_data, } }; static unsigned int dockstar_mpp_config[] __initdata = { MPP29_GPIO, /* USB Power Enable */ MPP46_GPIO, /* LED green */ MPP47_GPIO, /* LED orange */ 0 }; static void __init dockstar_init(void) { /* * Basic setup. Needs to be called early. */ kirkwood_init(); /* setup gpio pin select */ kirkwood_mpp_conf(dockstar_mpp_config); kirkwood_uart0_init(); kirkwood_nand_init(ARRAY_AND_SIZE(dockstar_nand_parts), 25); if (gpio_request(29, "USB Power Enable") != 0 || gpio_direction_output(29, 1) != 0) printk(KERN_ERR "can't set up GPIO 29 (USB Power Enable) "); kirkwood_ehci_init(); kirkwood_ge00_init(&dockstar_ge00_data); platform_device_register(&dockstar_leds); } MACHINE_START(DOCKSTAR, "Seagate FreeAgent DockStar") |
1b7bd28cb ARM: mach-kirkwoo... |
106 |
.atag_offset = 0x100, |
709406494 [ARM] Kirkwood: s... |
107 108 |
.init_machine = dockstar_init, .map_io = kirkwood_map_io, |
4ee1f6b57 ARM: Remove depen... |
109 |
.init_early = kirkwood_init_early, |
709406494 [ARM] Kirkwood: s... |
110 111 |
.init_irq = kirkwood_init_irq, .timer = &kirkwood_timer, |
cb15dff47 ARM: restart: kir... |
112 |
.restart = kirkwood_restart, |
709406494 [ARM] Kirkwood: s... |
113 |
MACHINE_END |