Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
arm
mach-kirkwood
board-goflexnet.c
Go to the documentation of this file.
1
/*
2
* Copyright 2012 (C), Jason Cooper <
[email protected]
>
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 <
[email protected]
> 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/platform_device.h
>
22
#include <
linux/ata_platform.h
>
23
#include <
linux/mv643xx_eth.h
>
24
#include <
linux/of.h
>
25
#include <
linux/of_address.h
>
26
#include <
linux/of_fdt.h
>
27
#include <
linux/of_irq.h
>
28
#include <
linux/of_platform.h
>
29
#include <
linux/gpio.h
>
30
#include <
asm/mach-types.h
>
31
#include <
asm/mach/arch.h
>
32
#include <
asm/mach/map.h
>
33
#include <
mach/kirkwood.h
>
34
#include <mach/bridge-regs.h>
35
#include <
linux/platform_data/mmc-mvsdio.h
>
36
#include "
common.h
"
37
#include "
mpp.h
"
38
39
static
struct
mv643xx_eth_platform_data
goflexnet_ge00_data = {
40
.phy_addr =
MV643XX_ETH_PHY_ADDR
(0),
41
};
42
43
static
unsigned
int
goflexnet_mpp_config[]
__initdata
= {
44
MPP29_GPIO
,
/* USB Power Enable */
45
MPP47_GPIO
,
/* LED Orange */
46
MPP46_GPIO
,
/* LED Green */
47
MPP45_GPIO
,
/* LED Left Capacity 3 */
48
MPP44_GPIO
,
/* LED Left Capacity 2 */
49
MPP43_GPIO
,
/* LED Left Capacity 1 */
50
MPP42_GPIO
,
/* LED Left Capacity 0 */
51
MPP41_GPIO
,
/* LED Right Capacity 3 */
52
MPP40_GPIO
,
/* LED Right Capacity 2 */
53
MPP39_GPIO
,
/* LED Right Capacity 1 */
54
MPP38_GPIO
,
/* LED Right Capacity 0 */
55
0
56
};
57
58
void
__init
goflexnet_init
(
void
)
59
{
60
/*
61
* Basic setup. Needs to be called early.
62
*/
63
kirkwood_mpp_conf
(goflexnet_mpp_config);
64
65
if
(
gpio_request
(29,
"USB Power Enable"
) != 0 ||
66
gpio_direction_output
(29, 1) != 0)
67
pr_err
(
"can't setup GPIO 29 (USB Power Enable)\n"
);
68
kirkwood_ehci_init
();
69
70
kirkwood_ge00_init
(&goflexnet_ge00_data);
71
}
Generated on Thu Jan 10 2013 12:59:35 for Linux Kernel by
1.8.2