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
include
linux
usb
tegra_usb_phy.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2010 Google, Inc.
3
*
4
* This software is licensed under the terms of the GNU General Public
5
* License version 2, as published by the Free Software Foundation, and
6
* may be copied, distributed, and modified under those terms.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
*/
14
15
#ifndef __TEGRA_USB_PHY_H
16
#define __TEGRA_USB_PHY_H
17
18
#include <
linux/clk.h
>
19
#include <
linux/usb/otg.h
>
20
21
struct
tegra_utmip_config
{
22
u8
hssync_start_delay
;
23
u8
elastic_limit
;
24
u8
idle_wait_delay
;
25
u8
term_range_adj
;
26
u8
xcvr_setup
;
27
u8
xcvr_lsfslew
;
28
u8
xcvr_lsrslew
;
29
};
30
31
struct
tegra_ulpi_config
{
32
int
reset_gpio
;
33
const
char
*
clk
;
34
};
35
36
enum
tegra_usb_phy_port_speed
{
37
TEGRA_USB_PHY_PORT_SPEED_FULL
= 0,
38
TEGRA_USB_PHY_PORT_SPEED_LOW
,
39
TEGRA_USB_PHY_PORT_SPEED_HIGH
,
40
};
41
42
enum
tegra_usb_phy_mode
{
43
TEGRA_USB_PHY_MODE_DEVICE
,
44
TEGRA_USB_PHY_MODE_HOST
,
45
};
46
47
struct
tegra_xtal_freq
;
48
49
struct
tegra_usb_phy
{
50
int
instance
;
51
const
struct
tegra_xtal_freq
*
freq
;
52
void
__iomem
*
regs
;
53
void
__iomem
*
pad_regs
;
54
struct
clk
*
clk
;
55
struct
clk
*
pll_u
;
56
struct
clk
*
pad_clk
;
57
enum
tegra_usb_phy_mode
mode
;
58
void
*
config
;
59
struct
usb_phy
*
ulpi
;
60
struct
usb_phy
u_phy
;
61
struct
device
*
dev
;
62
};
63
64
struct
tegra_usb_phy
*
tegra_usb_phy_open
(
struct
device
*
dev
,
int
instance
,
65
void
__iomem
*
regs
,
void
*
config
,
enum
tegra_usb_phy_mode
phy_mode);
66
67
void
tegra_usb_phy_clk_disable
(
struct
tegra_usb_phy
*
phy
);
68
69
void
tegra_usb_phy_clk_enable
(
struct
tegra_usb_phy
*
phy
);
70
71
void
tegra_usb_phy_preresume
(
struct
tegra_usb_phy
*
phy
);
72
73
void
tegra_usb_phy_postresume
(
struct
tegra_usb_phy
*
phy
);
74
75
void
tegra_ehci_phy_restore_start
(
struct
tegra_usb_phy
*
phy
,
76
enum
tegra_usb_phy_port_speed
port_speed);
77
78
void
tegra_ehci_phy_restore_end
(
struct
tegra_usb_phy
*
phy
);
79
80
#endif
/* __TEGRA_USB_PHY_H */
Generated on Thu Jan 10 2013 14:52:45 for Linux Kernel by
1.8.2