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