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