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
wl12xx.h
Go to the documentation of this file.
1
/*
2
* This file is part of wl12xx
3
*
4
* Copyright (C) 2009 Nokia Corporation
5
*
6
* Contact: Luciano Coelho <
[email protected]
>
7
*
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public License
10
* version 2 as published by the Free Software Foundation.
11
*
12
* This program is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20
* 02110-1301 USA
21
*
22
*/
23
24
#ifndef _LINUX_WL12XX_H
25
#define _LINUX_WL12XX_H
26
27
/* Reference clock values */
28
enum
{
29
WL12XX_REFCLOCK_19
= 0,
/* 19.2 MHz */
30
WL12XX_REFCLOCK_26
= 1,
/* 26 MHz */
31
WL12XX_REFCLOCK_38
= 2,
/* 38.4 MHz */
32
WL12XX_REFCLOCK_52
= 3,
/* 52 MHz */
33
WL12XX_REFCLOCK_38_XTAL
= 4,
/* 38.4 MHz, XTAL */
34
WL12XX_REFCLOCK_26_XTAL
= 5,
/* 26 MHz, XTAL */
35
};
36
37
/* TCXO clock values */
38
enum
{
39
WL12XX_TCXOCLOCK_19_2
= 0,
/* 19.2MHz */
40
WL12XX_TCXOCLOCK_26
= 1,
/* 26 MHz */
41
WL12XX_TCXOCLOCK_38_4
= 2,
/* 38.4MHz */
42
WL12XX_TCXOCLOCK_52
= 3,
/* 52 MHz */
43
WL12XX_TCXOCLOCK_16_368
= 4,
/* 16.368 MHz */
44
WL12XX_TCXOCLOCK_32_736
= 5,
/* 32.736 MHz */
45
WL12XX_TCXOCLOCK_16_8
= 6,
/* 16.8 MHz */
46
WL12XX_TCXOCLOCK_33_6
= 7,
/* 33.6 MHz */
47
};
48
49
struct
wl12xx_platform_data
{
50
void
(*
set_power
)(
bool
enable
);
51
/* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */
52
int
irq
;
53
bool
use_eeprom
;
54
int
board_ref_clock
;
55
int
board_tcxo_clock
;
56
unsigned
long
platform_quirks
;
57
bool
pwr_in_suspend
;
58
59
struct
wl1271_if_operations
*
ops
;
60
};
61
62
/* Platform does not support level trigger interrupts */
63
#define WL12XX_PLATFORM_QUIRK_EDGE_IRQ BIT(0)
64
65
#ifdef CONFIG_WL12XX_PLATFORM_DATA
66
67
int
wl12xx_set_platform_data
(
const
struct
wl12xx_platform_data
*
data
);
68
69
#else
70
71
static
inline
72
int
wl12xx_set_platform_data
(
const
struct
wl12xx_platform_data
*
data
)
73
{
74
return
-
ENOSYS
;
75
}
76
77
#endif
78
79
struct
wl12xx_platform_data
*
wl12xx_get_platform_data
(
void
);
80
81
#endif
Generated on Thu Jan 10 2013 14:13:14 for Linux Kernel by
1.8.2