blob: aa4fadcec89ed0f0bb99ca1788f8975907f21721
1 | /****************************************************************************** |
2 | * |
3 | * Copyright (C) 2009-2012 Broadcom Corporation |
4 | * |
5 | * Licensed under the Apache License, Version 2.0 (the "License"); |
6 | * you may not use this file except in compliance with the License. |
7 | * You may obtain a copy of the License at: |
8 | * |
9 | * http://www.apache.org/licenses/LICENSE-2.0 |
10 | * |
11 | * Unless required by applicable law or agreed to in writing, software |
12 | * distributed under the License is distributed on an "AS IS" BASIS, |
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 | * See the License for the specific language governing permissions and |
15 | * limitations under the License. |
16 | * |
17 | ******************************************************************************/ |
18 | |
19 | /****************************************************************************** |
20 | * |
21 | * Filename: upio.h |
22 | * |
23 | * Description: Contains definitions used for I/O controls |
24 | * |
25 | ******************************************************************************/ |
26 | |
27 | #ifndef UPIO_H |
28 | #define UPIO_H |
29 | |
30 | /****************************************************************************** |
31 | ** Constants & Macros |
32 | ******************************************************************************/ |
33 | |
34 | #define UPIO_BT_POWER_OFF 0 |
35 | #define UPIO_BT_POWER_ON 1 |
36 | |
37 | /* UPIO signals */ |
38 | enum { |
39 | UPIO_BT_WAKE = 0, |
40 | UPIO_HOST_WAKE, |
41 | UPIO_LPM_MODE, |
42 | UPIO_MAX_COUNT |
43 | }; |
44 | |
45 | /* UPIO assertion/deassertion */ |
46 | enum { |
47 | UPIO_UNKNOWN = 0, |
48 | UPIO_DEASSERT, |
49 | UPIO_ASSERT |
50 | }; |
51 | |
52 | /****************************************************************************** |
53 | ** Extern variables and functions |
54 | ******************************************************************************/ |
55 | |
56 | /****************************************************************************** |
57 | ** Functions |
58 | ******************************************************************************/ |
59 | |
60 | /******************************************************************************* |
61 | ** |
62 | ** Function upio_init |
63 | ** |
64 | ** Description Initialization |
65 | ** |
66 | ** Returns None |
67 | ** |
68 | *******************************************************************************/ |
69 | void upio_init(void); |
70 | |
71 | /******************************************************************************* |
72 | ** |
73 | ** Function upio_cleanup |
74 | ** |
75 | ** Description Clean up |
76 | ** |
77 | ** Returns None |
78 | ** |
79 | *******************************************************************************/ |
80 | void upio_cleanup(void); |
81 | |
82 | /******************************************************************************* |
83 | ** |
84 | ** Function upio_set_bluetooth_power |
85 | ** |
86 | ** Description Interact with low layer driver to set Bluetooth power |
87 | ** on/off. |
88 | ** |
89 | ** Returns 0 : SUCCESS or Not-Applicable |
90 | ** <0 : ERROR |
91 | ** |
92 | *******************************************************************************/ |
93 | int upio_set_bluetooth_power(int on); |
94 | |
95 | /******************************************************************************* |
96 | ** |
97 | ** Function upio_set |
98 | ** |
99 | ** Description Set i/o based on polarity |
100 | ** |
101 | ** Returns None |
102 | ** |
103 | *******************************************************************************/ |
104 | void upio_set(uint8_t pio, uint8_t action, uint8_t polarity); |
105 | |
106 | #endif /* UPIO_H */ |
107 | |
108 |