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-omap2
board-am3517crane.c
Go to the documentation of this file.
1
/*
2
* Support for AM3517/05 Craneboard
3
* http://www.mistralsolutions.com/products/craneboard.php
4
*
5
* Copyright (C) 2010 Mistral Solutions Pvt Ltd. <www.mistralsolutions.com>
6
* Author: R.Srinath <
[email protected]
>
7
*
8
* Based on mach-omap2/board-am3517evm.c
9
*
10
* This program is free software; you can redistribute it and/or modify it
11
* under the terms of the GNU General Public License as published by the
12
* Free Software Foundation version 2.
13
*
14
* This program is distributed "as is" WITHOUT ANY WARRANTY of any kind,
15
* whether express or implied; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* General Public License for more details.
18
*/
19
20
#include <linux/kernel.h>
21
#include <
linux/init.h
>
22
#include <
linux/gpio.h
>
23
24
#include <
asm/mach-types.h
>
25
#include <
asm/mach/arch.h
>
26
#include <
asm/mach/map.h
>
27
28
#include "
common.h
"
29
#include <
plat/usb.h
>
30
31
#include "
am35xx-emac.h
"
32
#include "
mux.h
"
33
#include "
control.h
"
34
35
#define GPIO_USB_POWER 35
36
#define GPIO_USB_NRESET 38
37
38
#ifdef CONFIG_OMAP_MUX
39
static
struct
omap_board_mux
board_mux
[]
__initdata
= {
40
{ .reg_offset =
OMAP_MUX_TERMINATOR
},
41
};
42
#endif
43
44
static
struct
usbhs_omap_board_data
usbhs_bdata __initdata = {
45
.port_mode[0] =
OMAP_EHCI_PORT_MODE_PHY
,
46
.port_mode[1] =
OMAP_USBHS_PORT_MODE_UNUSED
,
47
.port_mode[2] =
OMAP_USBHS_PORT_MODE_UNUSED
,
48
49
.phy_reset =
true
,
50
.reset_gpio_port[0] =
GPIO_USB_NRESET
,
51
.reset_gpio_port[1] = -
EINVAL
,
52
.reset_gpio_port[2] = -
EINVAL
53
};
54
55
static
void
__init
am3517_crane_init(
void
)
56
{
57
int
ret
;
58
59
omap3_mux_init
(
board_mux
,
OMAP_PACKAGE_CBB
);
60
omap_serial_init
();
61
omap_sdrc_init
(
NULL
,
NULL
);
62
63
/* Configure GPIO for EHCI port */
64
if
(omap_mux_init_gpio(
GPIO_USB_NRESET
,
OMAP_PIN_OUTPUT
)) {
65
pr_err
(
"Can not configure mux for GPIO_USB_NRESET %d\n"
,
66
GPIO_USB_NRESET
);
67
return
;
68
}
69
70
if
(omap_mux_init_gpio(
GPIO_USB_POWER
,
OMAP_PIN_OUTPUT
)) {
71
pr_err
(
"Can not configure mux for GPIO_USB_POWER %d\n"
,
72
GPIO_USB_POWER
);
73
return
;
74
}
75
76
ret =
gpio_request_one
(
GPIO_USB_POWER
,
GPIOF_OUT_INIT_HIGH
,
77
"usb_ehci_enable"
);
78
if
(ret < 0) {
79
pr_err
(
"Can not request GPIO %d\n"
,
GPIO_USB_POWER
);
80
return
;
81
}
82
83
usbhs_init
(&usbhs_bdata);
84
am35xx_emac_init
(
AM35XX_DEFAULT_MDIO_FREQUENCY
, 1);
85
}
86
87
MACHINE_START
(CRANEBOARD,
"AM3517/05 CRANEBOARD"
)
88
.atag_offset = 0x100,
89
.reserve =
omap_reserve
,
90
.map_io =
omap3_map_io
,
91
.init_early =
am35xx_init_early
,
92
.init_irq =
omap3_init_irq
,
93
.handle_irq = omap3_intc_handle_irq,
94
.init_machine = am3517_crane_init,
95
.init_late =
am35xx_init_late
,
96
.timer = &
omap3_timer
,
97
.restart =
omap_prcm_restart
,
98
MACHINE_END
Generated on Thu Jan 10 2013 13:00:22 for Linux Kernel by
1.8.2