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