10b966c5eSopenharmony_ci/****************************************************************************** 20b966c5eSopenharmony_ci * 30b966c5eSopenharmony_ci * Copyright (C) 2009-2012 Broadcom Corporation 40b966c5eSopenharmony_ci * 50b966c5eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 60b966c5eSopenharmony_ci * you may not use this file except in compliance with the License. 70b966c5eSopenharmony_ci * You may obtain a copy of the License at: 80b966c5eSopenharmony_ci * 90b966c5eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 100b966c5eSopenharmony_ci * 110b966c5eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 120b966c5eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 130b966c5eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 140b966c5eSopenharmony_ci * See the License for the specific language governing permissions and 150b966c5eSopenharmony_ci * limitations under the License. 160b966c5eSopenharmony_ci * 170b966c5eSopenharmony_ci ******************************************************************************/ 180b966c5eSopenharmony_ci 190b966c5eSopenharmony_ci/****************************************************************************** 200b966c5eSopenharmony_ci * 210b966c5eSopenharmony_ci * Filename: upio.h 220b966c5eSopenharmony_ci * 230b966c5eSopenharmony_ci * Description: Contains definitions used for I/O controls 240b966c5eSopenharmony_ci * 250b966c5eSopenharmony_ci ******************************************************************************/ 260b966c5eSopenharmony_ci 270b966c5eSopenharmony_ci#ifndef UPIO_H 280b966c5eSopenharmony_ci#define UPIO_H 290b966c5eSopenharmony_ci 300b966c5eSopenharmony_ci#include <stdint.h> 310b966c5eSopenharmony_ci/****************************************************************************** 320b966c5eSopenharmony_ci** Constants & Macros 330b966c5eSopenharmony_ci******************************************************************************/ 340b966c5eSopenharmony_ci 350b966c5eSopenharmony_ci#define UPIO_BT_POWER_OFF 0 360b966c5eSopenharmony_ci#define UPIO_BT_POWER_ON 1 370b966c5eSopenharmony_ci 380b966c5eSopenharmony_ci/* UPIO signals */ 390b966c5eSopenharmony_cienum { 400b966c5eSopenharmony_ci UPIO_BT_WAKE = 0, 410b966c5eSopenharmony_ci UPIO_HOST_WAKE, 420b966c5eSopenharmony_ci UPIO_LPM_MODE, 430b966c5eSopenharmony_ci UPIO_MAX_COUNT 440b966c5eSopenharmony_ci}; 450b966c5eSopenharmony_ci 460b966c5eSopenharmony_ci/* UPIO assertion/deassertion */ 470b966c5eSopenharmony_cienum { 480b966c5eSopenharmony_ci UPIO_UNKNOWN = 0, 490b966c5eSopenharmony_ci UPIO_DEASSERT, 500b966c5eSopenharmony_ci UPIO_ASSERT 510b966c5eSopenharmony_ci}; 520b966c5eSopenharmony_ci 530b966c5eSopenharmony_ci/****************************************************************************** 540b966c5eSopenharmony_ci** Extern variables and functions 550b966c5eSopenharmony_ci******************************************************************************/ 560b966c5eSopenharmony_ci 570b966c5eSopenharmony_ci/****************************************************************************** 580b966c5eSopenharmony_ci** Functions 590b966c5eSopenharmony_ci******************************************************************************/ 600b966c5eSopenharmony_ci 610b966c5eSopenharmony_ci/******************************************************************************* 620b966c5eSopenharmony_ci** 630b966c5eSopenharmony_ci** Function upio_init 640b966c5eSopenharmony_ci** 650b966c5eSopenharmony_ci** Description Initialization 660b966c5eSopenharmony_ci** 670b966c5eSopenharmony_ci** Returns None 680b966c5eSopenharmony_ci** 690b966c5eSopenharmony_ci*******************************************************************************/ 700b966c5eSopenharmony_civoid upio_init(void); 710b966c5eSopenharmony_ci 720b966c5eSopenharmony_ci/******************************************************************************* 730b966c5eSopenharmony_ci** 740b966c5eSopenharmony_ci** Function upio_cleanup 750b966c5eSopenharmony_ci** 760b966c5eSopenharmony_ci** Description Clean up 770b966c5eSopenharmony_ci** 780b966c5eSopenharmony_ci** Returns None 790b966c5eSopenharmony_ci** 800b966c5eSopenharmony_ci*******************************************************************************/ 810b966c5eSopenharmony_civoid upio_cleanup(void); 820b966c5eSopenharmony_ci 830b966c5eSopenharmony_ci/******************************************************************************* 840b966c5eSopenharmony_ci** 850b966c5eSopenharmony_ci** Function upio_set_bluetooth_power 860b966c5eSopenharmony_ci** 870b966c5eSopenharmony_ci** Description Interact with low layer driver to set Bluetooth power 880b966c5eSopenharmony_ci** on/off. 890b966c5eSopenharmony_ci** 900b966c5eSopenharmony_ci** Returns 0 : SUCCESS or Not-Applicable 910b966c5eSopenharmony_ci** <0 : ERROR 920b966c5eSopenharmony_ci** 930b966c5eSopenharmony_ci*******************************************************************************/ 940b966c5eSopenharmony_ciint upio_set_bluetooth_power(int on); 950b966c5eSopenharmony_ci 960b966c5eSopenharmony_ci/******************************************************************************* 970b966c5eSopenharmony_ci** 980b966c5eSopenharmony_ci** Function upio_set 990b966c5eSopenharmony_ci** 1000b966c5eSopenharmony_ci** Description Set i/o based on polarity 1010b966c5eSopenharmony_ci** 1020b966c5eSopenharmony_ci** Returns None 1030b966c5eSopenharmony_ci** 1040b966c5eSopenharmony_ci*******************************************************************************/ 1050b966c5eSopenharmony_civoid upio_set(uint8_t pio, uint8_t action, uint8_t polarity); 1060b966c5eSopenharmony_ci 1070b966c5eSopenharmony_ci#endif /* UPIO_H */ 1080b966c5eSopenharmony_ci 109