]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blob - arch/arm/mach-kirkwood/board-goflexnet.c
mm/bootmem.c: remove unused wrapper function reserve_bootmem_generic()
[can-eth-gw-linux.git] / arch / arm / mach-kirkwood / board-goflexnet.c
1 /*
2  * Copyright 2012 (C), Jason Cooper <jason@lakedaemon.net>
3  *
4  * arch/arm/mach-kirkwood/board-goflexnet.c
5  *
6  * Seagate GoFlext Net Board Init for drivers not converted to
7  * flattened device tree yet.
8  *
9  * This file is licensed under the terms of the GNU General Public
10  * License version 2.  This program is licensed "as is" without any
11  * warranty of any kind, whether express or implied.
12  *
13  * Copied and modified for Seagate GoFlex Net support by
14  * Joshua Coombs <josh.coombs@gmail.com> based on ArchLinux ARM's
15  * GoFlex kernel patches.
16  *
17  */
18
19 #include <linux/kernel.h>
20 #include <linux/init.h>
21 #include <linux/mv643xx_eth.h>
22 #include <linux/gpio.h>
23 #include "common.h"
24 #include "mpp.h"
25
26 static struct mv643xx_eth_platform_data goflexnet_ge00_data = {
27         .phy_addr       = MV643XX_ETH_PHY_ADDR(0),
28 };
29
30 static unsigned int goflexnet_mpp_config[] __initdata = {
31         MPP29_GPIO,     /* USB Power Enable */
32         MPP47_GPIO,     /* LED Orange */
33         MPP46_GPIO,     /* LED Green */
34         MPP45_GPIO,     /* LED Left Capacity 3 */
35         MPP44_GPIO,     /* LED Left Capacity 2 */
36         MPP43_GPIO,     /* LED Left Capacity 1 */
37         MPP42_GPIO,     /* LED Left Capacity 0 */
38         MPP41_GPIO,     /* LED Right Capacity 3 */
39         MPP40_GPIO,     /* LED Right Capacity 2 */
40         MPP39_GPIO,     /* LED Right Capacity 1 */
41         MPP38_GPIO,     /* LED Right Capacity 0 */
42         0
43 };
44
45 void __init goflexnet_init(void)
46 {
47         /*
48          * Basic setup. Needs to be called early.
49          */
50         kirkwood_mpp_conf(goflexnet_mpp_config);
51
52         if (gpio_request(29, "USB Power Enable") != 0 ||
53             gpio_direction_output(29, 1) != 0)
54                 pr_err("can't setup GPIO 29 (USB Power Enable)\n");
55         kirkwood_ehci_init();
56
57         kirkwood_ge00_init(&goflexnet_ge00_data);
58 }