13d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/****************************************************************************** 23d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * 33d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * Copyright (C) 2009-2012 Broadcom Corporation 43d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * 56ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * Licensed under the Apache License, Version 2.0 (the "License"); 66ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * you may not use this file except in compliance with the License. 76ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * You may obtain a copy of the License at: 83d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * 96ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * http://www.apache.org/licenses/LICENSE-2.0 103d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * 116ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * Unless required by applicable law or agreed to in writing, software 126ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * distributed under the License is distributed on an "AS IS" BASIS, 136ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 146ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * See the License for the specific language governing permissions and 156ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach * limitations under the License. 163d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * 173d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy ******************************************************************************/ 183d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 193d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/****************************************************************************** 203d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * 213d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * Filename: userial.h 223d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * 233d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * Description: Contains definitions used for serial port controls 243d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy * 253d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy ******************************************************************************/ 263d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 273d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#ifndef USERIAL_H 283d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_H 293d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 303d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/****************************************************************************** 313d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Constants & Macros 323d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy******************************************************************************/ 333d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 343d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/**** port IDs ****/ 353d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_1 0 363d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_2 1 373d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_3 2 383d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_4 3 393d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_5 4 403d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_6 5 413d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_7 6 423d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_8 7 433d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_9 8 443d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_10 9 453d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_11 10 463d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_12 11 473d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_13 12 483d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_14 13 493d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_15 14 503d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_16 15 513d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_17 16 523d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#define USERIAL_PORT_18 17 533d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 543d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamytypedef enum { 553d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy USERIAL_OP_INIT, 563d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy USERIAL_OP_RXFLOW_ON, 573d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy USERIAL_OP_RXFLOW_OFF, 583d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy} userial_ioctl_op_t; 593d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 603d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/****************************************************************************** 613d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Type definitions 623d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy******************************************************************************/ 633d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 643d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/****************************************************************************** 653d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Extern variables and functions 663d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy******************************************************************************/ 673d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 683d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/****************************************************************************** 693d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Functions 703d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy******************************************************************************/ 713d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 723d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/******************************************************************************* 733d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 743d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Function userial_init 753d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 763d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Description Initializes the userial driver 773d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 783d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Returns TRUE/FALSE 793d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 803d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy*******************************************************************************/ 813d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamyuint8_t userial_init(void); 823d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 833d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/******************************************************************************* 843d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 853d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Function userial_open 863d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 87b7049f8573901ca12738fc47508a31ccb1de1c1cYK Jeffrey Chao** Description Open Bluetooth device with the port ID 883d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 893d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Returns TRUE/FALSE 903d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 913d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy*******************************************************************************/ 92b7049f8573901ca12738fc47508a31ccb1de1c1cYK Jeffrey Chaouint8_t userial_open(uint8_t port); 933d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 943d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/******************************************************************************* 953d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 963d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Function userial_read 973d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 983d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Description Read data from the userial port 993d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1006ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach** Returns Number of bytes actually read from the userial port and 1013d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** copied into p_data. This may be less than len. 1023d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1033d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy*******************************************************************************/ 1048673be81aa6bb05bb9a7747c150d63514625c03bYK Jeffrey Chaouint16_t userial_read(uint16_t msg_id, uint8_t *p_buffer, uint16_t len); 1053d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 1063d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/******************************************************************************* 1073d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1083d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Function userial_write 1093d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1103d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Description Write data to the userial port 1113d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1126ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach** Returns Number of bytes actually written to the userial port. This 1133d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** may be less than len. 1143d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1153d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy*******************************************************************************/ 1168673be81aa6bb05bb9a7747c150d63514625c03bYK Jeffrey Chaouint16_t userial_write(uint16_t msg_id, uint8_t *p_data, uint16_t len); 1173d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 1183d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/******************************************************************************* 1193d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1203d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Function userial_close 1213d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1223d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Description Close the userial port 1233d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1243d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Returns None 1253d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1263d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy*******************************************************************************/ 1273d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamyvoid userial_close(void); 1283d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 1293d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy/******************************************************************************* 1303d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1313d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Function userial_ioctl 1323d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1336ef101187774e30ddba6b46bbedef549a42196adAndre Eisenbach** Description ioctl inteface 1343d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1353d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** Returns None 1363d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy** 1373d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy*******************************************************************************/ 1383d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamyvoid userial_ioctl(userial_ioctl_op_t op, void *p_data); 1393d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 1403d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy#endif /* USERIAL_H */ 1413d576de19430085695937c04dffb2f0c8daf38e5Kausik Sinnaswamy 142