xref: /vendor/hihope/dayu210/bluetooth/include/upio.h (revision 0b966c5e)
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#include <stdint.h>
31/******************************************************************************
32**  Constants & Macros
33******************************************************************************/
34
35#define UPIO_BT_POWER_OFF 0
36#define UPIO_BT_POWER_ON  1
37
38/* UPIO signals */
39enum {
40    UPIO_BT_WAKE = 0,
41    UPIO_HOST_WAKE,
42    UPIO_LPM_MODE,
43    UPIO_MAX_COUNT
44};
45
46/* UPIO assertion/deassertion */
47enum {
48    UPIO_UNKNOWN = 0,
49    UPIO_DEASSERT,
50    UPIO_ASSERT
51};
52
53/******************************************************************************
54**  Extern variables and functions
55******************************************************************************/
56
57/******************************************************************************
58**  Functions
59******************************************************************************/
60
61/*******************************************************************************
62**
63** Function        upio_init
64**
65** Description     Initialization
66**
67** Returns         None
68**
69*******************************************************************************/
70void upio_init(void);
71
72/*******************************************************************************
73**
74** Function        upio_cleanup
75**
76** Description     Clean up
77**
78** Returns         None
79**
80*******************************************************************************/
81void upio_cleanup(void);
82
83/*******************************************************************************
84**
85** Function        upio_set_bluetooth_power
86**
87** Description     Interact with low layer driver to set Bluetooth power
88**                 on/off.
89**
90** Returns         0  : SUCCESS or Not-Applicable
91**                 <0 : ERROR
92**
93*******************************************************************************/
94int upio_set_bluetooth_power(int on);
95
96/*******************************************************************************
97**
98** Function        upio_set
99**
100** Description     Set i/o based on polarity
101**
102** Returns         None
103**
104*******************************************************************************/
105void upio_set(uint8_t pio, uint8_t action, uint8_t polarity);
106
107#endif /* UPIO_H */
108
109