1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Copyright (C) 2001-2012 Broadcom Corporation 4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * you may not use this file except in compliance with the License. 7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * You may obtain a copy of the License at: 8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * See the License for the specific language governing permissions and 15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * limitations under the License. 16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * This file contains serial definitions from WIDCOMM's Universal Embedded 22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Drivers API. 23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef USERIAL_H 27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_H 28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************* 30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Serial APIs 31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/ 32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** port IDs ****/ 34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_1 0 35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_2 1 36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_3 2 37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_4 3 38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_5 4 39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_6 5 40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_7 6 41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_8 7 42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_9 8 43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_10 9 44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_11 10 45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_12 11 46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_13 12 47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_14 13 48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_15 14 49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_16 15 50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_17 16 51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PORT_18 17 52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUSERIAL_PORT; 54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** baud rates ****/ 56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_300 0 57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_600 1 58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_1200 2 59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_2400 3 60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_9600 4 61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_19200 5 62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_57600 6 63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_115200 7 64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_230400 8 65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_460800 9 66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_921600 10 67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_1M 11 68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_1_5M 12 69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_2M 13 70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_3M 14 71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_4M 15 72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BAUD_AUTO 16 73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Data Format ****/ 75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Stop Bits */ 77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_STOPBITS_1 1 78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_STOPBITS_1_5 (1<<1) 79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_STOPBITS_2 (1<<2) 80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Parity Bits */ 82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PARITY_NONE (1<<3) 83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PARITY_EVEN (1<<4) 84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_PARITY_ODD (1<<5) 85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Data Bits */ 87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_DATABITS_5 (1<<6) 88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_DATABITS_6 (1<<7) 89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_DATABITS_7 (1<<8) 90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_DATABITS_8 (1<<9) 91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Flow Control ****/ 94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FC_NONE 0 95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FC_HW 1 96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FC_SW 2 97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Data Buffering Mechanism ****/ 99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BUF_BYTE 0 100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_BUF_GKI 1 101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Signals ****/ 103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_SIG_RTSCTS 1 104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_SIG_DSRDTR (1<<1) 105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_SIG_RI (1<<2) 106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_SIG_CD (1<<3) 107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_SIG_DTE_DEVICE (1<<4) 108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Errors *****/ 110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_ERR_OVERRUN 1 111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_ERR_PARITY (1<<1) 112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_ERR_FRAMING (1<<2) 113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_ERR_BREAK (1<<3) 114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Serial Operations ****/ 116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_FLUSH 0 117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_FLUSH_RX 1 118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_FLUSH_TX 2 119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_BREAK_OFF 3 120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_BREAK_ON 4 121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_BAUD_RD 5 122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_BAUD_WR 6 123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_FMT_RD 7 124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_FMT_WR 8 125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_SIG_RD 9 126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_SIG_WR 10 127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_FC_RD 11 128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_FC_WR 12 129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_CTS_AS_WAKEUP 13 /* H4IBSS */ 130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_CTS_AS_FC 14 /* H4IBSS */ 131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#if (defined LINUX_OS) && (LINUX_OS == TRUE) 133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_SCO_UP 20 /* LINUX SCO */ 134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_OP_SCO_DOWN 21 /* LINUX SCO */ 135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUSERIAL_OP; 138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Serial feature types ****/ 141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_PORT_1 0 142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_PORT_2 1 143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_PORT_3 2 144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_PORT_4 3 145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_AUTO 4 146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_300 5 147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_600 6 148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_1200 7 149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_2400 8 150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_9600 9 151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_19200 10 152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_57600 11 153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_115200 12 154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_230400 13 155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_460800 14 156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BAUD_921600 15 157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_STOPBITS_1 16 158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_STOPBITS_1_5 17 159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_STOPBITS_2 18 160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_PARITY_NONE 19 161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_PARITY_EVEN 20 162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_PARITY_ODD 21 163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_DATABITS_5 22 164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_DATABITS_6 23 165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_DATABITS_7 24 166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_DATABITS_8 25 167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_FC_NONE 26 168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_FC_HW 27 169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_FC_SW 28 170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BUF_BYTE 29 171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_BUF_GKI 30 172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_SIG_RTS 31 173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_SIG_CTS 32 174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_SIG_DSR 33 175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_SIG_DTR 34 176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_SIG_RI 35 177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_SIG_CD 36 178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_FLUSH 37 179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_FLUSH_RX 38 180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_FLUSH_TX 39 181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_BREAK 40 182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_BAUD_RD 41 183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_BAUD_WR 42 184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_FMT_RD 43 185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_FMT_WR 44 186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_SIG_RD 45 187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_SIG_WR 46 188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_FC_RD 47 189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_FEAT_OP_FC_WR 48 190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUSERIAL_FEATURE; 192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**** Event types ****/ 195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_RX_READY_EVT 0 196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_TX_DONE_EVT 1 197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_SIG_EVT 2 198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_ERR_EVT 3 199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_WAKEUP_EVT 4 /* H4IBSS */ 200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tUSERIAL_EVT; 202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Structure used to configure serial port during open */ 205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct 206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 fmt; /* Data format */ 208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 baud; /* Baud rate */ 209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 fc; /* Flow control */ 210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 buf; /* Data buffering mechanism */ 211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 pool; /* GKI buffer pool for received data */ 212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 size; /* Size of GKI buffer pool */ 213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 offset; /* Offset in GKI buffer pool */ 214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUSERIAL_OPEN_CFG; 215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Union used to pass ioctl arguments */ 217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef union 218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 fmt; 220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 baud; 221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 fc; 222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 sigs; 223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#if (defined LINUX_OS) && (LINUX_OS == TRUE) 224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 sco_handle; 225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUSERIAL_IOCTL_DATA; 227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Union to pass event data */ 230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef union 231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 sigs; 233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 error; 234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tUSERIAL_EVT_DATA; 235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* callback for events */ 237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void (tUSERIAL_CBACK)(tUSERIAL_PORT, tUSERIAL_EVT, tUSERIAL_EVT_DATA *); 238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************* 240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function Prototypes 241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/ 242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus 244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C" { 245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern void USERIAL_Init(void *); 248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern void USERIAL_Open(tUSERIAL_PORT, tUSERIAL_OPEN_CFG *, tUSERIAL_CBACK *); 249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern void USERIAL_ReadBuf(tUSERIAL_PORT, BT_HDR **); 250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern UINT16 USERIAL_Read(tUSERIAL_PORT, UINT8 *, UINT16); 251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern BOOLEAN USERIAL_WriteBuf(tUSERIAL_PORT, BT_HDR *); 252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern UINT16 USERIAL_Write(tUSERIAL_PORT, UINT8 *, UINT16); 253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern void USERIAL_Ioctl(tUSERIAL_PORT, tUSERIAL_OP, tUSERIAL_IOCTL_DATA *); 254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern void USERIAL_Close(tUSERIAL_PORT); 255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern BOOLEAN USERIAL_Feature(tUSERIAL_FEATURE); 256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern BOOLEAN USERIAL_IsClosed(); 2575c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenUDRV_API extern void USERIAL_SetPowerOffDelays(int,int); 258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern void USERIAL_PowerupDevice(tUSERIAL_PORT port); 259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 260e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************* 261e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 262e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** Function USERIAL_GetLineSpeed 263e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 264e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** Description This function convert USERIAL baud to line speed. 265e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 266e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** Output Parameter None 267e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 268e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** Returns line speed 269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *******************************************************************************/ 271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern UINT32 USERIAL_GetLineSpeed(UINT8 baud); 272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************* 273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** Function USERIAL_GetBaud 275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** Description This function convert line speed to USERIAL baud. 277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 278e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** Output Parameter None 279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** Returns line speed 281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ** 282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *******************************************************************************/ 283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectUDRV_API extern UINT8 USERIAL_GetBaud(UINT32 line_speed); 284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus 286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} 287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* USERIAL_H */ 290