max4146x_comp

Dependencies:   MAX14690

Committer:
sdivarci
Date:
Sun Oct 25 20:10:02 2020 +0000
Revision:
0:0061165683ee
sdivarci

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sdivarci 0:0061165683ee 1 /*******************************************************************************
sdivarci 0:0061165683ee 2 * DISCLAIMER
sdivarci 0:0061165683ee 3 * This software is supplied by Renesas Electronics Corporation and is only
sdivarci 0:0061165683ee 4 * intended for use with Renesas products. No other uses are authorized. This
sdivarci 0:0061165683ee 5 * software is owned by Renesas Electronics Corporation and is protected under
sdivarci 0:0061165683ee 6 * all applicable laws, including copyright laws.
sdivarci 0:0061165683ee 7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
sdivarci 0:0061165683ee 8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
sdivarci 0:0061165683ee 9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
sdivarci 0:0061165683ee 10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
sdivarci 0:0061165683ee 11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
sdivarci 0:0061165683ee 12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
sdivarci 0:0061165683ee 13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
sdivarci 0:0061165683ee 14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
sdivarci 0:0061165683ee 15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
sdivarci 0:0061165683ee 16 * Renesas reserves the right, without notice, to make changes to this software
sdivarci 0:0061165683ee 17 * and to discontinue the availability of this software. By using this software,
sdivarci 0:0061165683ee 18 * you agree to the additional terms and conditions found by accessing the
sdivarci 0:0061165683ee 19 * following link:
sdivarci 0:0061165683ee 20 * http://www.renesas.com/disclaimer
sdivarci 0:0061165683ee 21 * Copyright (C) 2012 - 2014 Renesas Electronics Corporation. All rights reserved.
sdivarci 0:0061165683ee 22 *******************************************************************************/
sdivarci 0:0061165683ee 23 /*******************************************************************************
sdivarci 0:0061165683ee 24 * File Name : usb1_function_api.c
sdivarci 0:0061165683ee 25 * $Rev: 1116 $
sdivarci 0:0061165683ee 26 * $Date:: 2014-07-09 16:29:19 +0900#$
sdivarci 0:0061165683ee 27 * Device(s) : RZ/A1H
sdivarci 0:0061165683ee 28 * Tool-Chain :
sdivarci 0:0061165683ee 29 * OS : None
sdivarci 0:0061165683ee 30 * H/W Platform :
sdivarci 0:0061165683ee 31 * Description : RZ/A1H R7S72100 USB Sample Program
sdivarci 0:0061165683ee 32 * Operation :
sdivarci 0:0061165683ee 33 * Limitations :
sdivarci 0:0061165683ee 34 *******************************************************************************/
sdivarci 0:0061165683ee 35
sdivarci 0:0061165683ee 36
sdivarci 0:0061165683ee 37 /*******************************************************************************
sdivarci 0:0061165683ee 38 Includes <System Includes> , "Project Includes"
sdivarci 0:0061165683ee 39 *******************************************************************************/
sdivarci 0:0061165683ee 40 #include "usb1_function.h"
sdivarci 0:0061165683ee 41 #include "dev_drv.h"
sdivarci 0:0061165683ee 42
sdivarci 0:0061165683ee 43
sdivarci 0:0061165683ee 44 /*******************************************************************************
sdivarci 0:0061165683ee 45 Typedef definitions
sdivarci 0:0061165683ee 46 *******************************************************************************/
sdivarci 0:0061165683ee 47
sdivarci 0:0061165683ee 48
sdivarci 0:0061165683ee 49 /*******************************************************************************
sdivarci 0:0061165683ee 50 Macro definitions
sdivarci 0:0061165683ee 51 *******************************************************************************/
sdivarci 0:0061165683ee 52
sdivarci 0:0061165683ee 53
sdivarci 0:0061165683ee 54 /*******************************************************************************
sdivarci 0:0061165683ee 55 Imported global variables and functions (from other files)
sdivarci 0:0061165683ee 56 *******************************************************************************/
sdivarci 0:0061165683ee 57
sdivarci 0:0061165683ee 58
sdivarci 0:0061165683ee 59 /*******************************************************************************
sdivarci 0:0061165683ee 60 Exported global variables and functions (to be accessed by other files)
sdivarci 0:0061165683ee 61 *******************************************************************************/
sdivarci 0:0061165683ee 62
sdivarci 0:0061165683ee 63
sdivarci 0:0061165683ee 64 /*******************************************************************************
sdivarci 0:0061165683ee 65 Private global variables and functions
sdivarci 0:0061165683ee 66 *******************************************************************************/
sdivarci 0:0061165683ee 67
sdivarci 0:0061165683ee 68
sdivarci 0:0061165683ee 69 /*******************************************************************************
sdivarci 0:0061165683ee 70 * Function Name: usb1_api_function_init
sdivarci 0:0061165683ee 71 * Description : Initializes the USB module in the USB function mode.
sdivarci 0:0061165683ee 72 * Arguments : uint8_t int_level ; interruput level
sdivarci 0:0061165683ee 73 * : uint16_t mode : Speed modes
sdivarci 0:0061165683ee 74 * : : USB_FUCNTION_HIGH_SPEED: High-speed device
sdivarci 0:0061165683ee 75 * : : USB_FUCNTION_FULL_SPEED: Full-speed device
sdivarci 0:0061165683ee 76 * : uint16_t clockmode ; 48MHz ; USBFCLOCK_X1_48MHZ
sdivarci 0:0061165683ee 77 * : ; 12MHz ; USBFCLOCK_EXTAL_12MHZ
sdivarci 0:0061165683ee 78 * Return Value : none
sdivarci 0:0061165683ee 79 *******************************************************************************/
sdivarci 0:0061165683ee 80 #if 0
sdivarci 0:0061165683ee 81 void usb1_api_function_init (uint8_t int_level, uint16_t mode, uint16_t clockmode)
sdivarci 0:0061165683ee 82 {
sdivarci 0:0061165683ee 83 volatile uint8_t dummy_buf;
sdivarci 0:0061165683ee 84
sdivarci 0:0061165683ee 85 CPG.STBCR7 &= 0xfc; /*The clock of USB0/1 modules is permitted */
sdivarci 0:0061165683ee 86 dummy_buf = CPG.STBCR7; /* (Dummy read) */
sdivarci 0:0061165683ee 87
sdivarci 0:0061165683ee 88 usb1_function_setting_interrupt(int_level);
sdivarci 0:0061165683ee 89
sdivarci 0:0061165683ee 90 usb1_function_reset_module(clockmode); /* reset USB module with setting tranciever */
sdivarci 0:0061165683ee 91 /* and HSE=1 */
sdivarci 0:0061165683ee 92
sdivarci 0:0061165683ee 93 usb1_function_init_status(); /* clear variables */
sdivarci 0:0061165683ee 94
sdivarci 0:0061165683ee 95 usb1_function_InitModule(mode); /* select USB Function and Interrupt Enable */
sdivarci 0:0061165683ee 96 /* Detect USB Device to attach or detach */
sdivarci 0:0061165683ee 97 }
sdivarci 0:0061165683ee 98 #endif
sdivarci 0:0061165683ee 99
sdivarci 0:0061165683ee 100 /*******************************************************************************
sdivarci 0:0061165683ee 101 * Function Name: usb1_api_function_IsConfigured
sdivarci 0:0061165683ee 102 * Description : Checks if the USB device is configured to return the result as
sdivarci 0:0061165683ee 103 * : the return value.
sdivarci 0:0061165683ee 104 * Arguments : none
sdivarci 0:0061165683ee 105 * Return Value : DEVDRV_USBF_YES : Configured & Configured Suspend
sdivarci 0:0061165683ee 106 * : DEVDRV_USBF_NO : not Configured
sdivarci 0:0061165683ee 107 *******************************************************************************/
sdivarci 0:0061165683ee 108 uint16_t usb1_api_function_IsConfigured (void)
sdivarci 0:0061165683ee 109 {
sdivarci 0:0061165683ee 110 uint16_t dvst;
sdivarci 0:0061165683ee 111
sdivarci 0:0061165683ee 112 dvst = usb1_function_GetDeviceState();
sdivarci 0:0061165683ee 113
sdivarci 0:0061165683ee 114 if ((dvst == USB_FUNCTION_DVST_CONFIGURED) ||
sdivarci 0:0061165683ee 115 (dvst == USB_FUNCTION_DVST_CONFIGURED_SUSPEND))
sdivarci 0:0061165683ee 116 {
sdivarci 0:0061165683ee 117 return DEVDRV_USBF_YES;
sdivarci 0:0061165683ee 118 }
sdivarci 0:0061165683ee 119
sdivarci 0:0061165683ee 120 return DEVDRV_USBF_NO;
sdivarci 0:0061165683ee 121 }
sdivarci 0:0061165683ee 122
sdivarci 0:0061165683ee 123 /*******************************************************************************
sdivarci 0:0061165683ee 124 * Function Name: usb1_function_GetDeviceState
sdivarci 0:0061165683ee 125 * Description : Returns the state of USB device.
sdivarci 0:0061165683ee 126 * Arguments : none
sdivarci 0:0061165683ee 127 * Return Value : Device States
sdivarci 0:0061165683ee 128 *******************************************************************************/
sdivarci 0:0061165683ee 129 uint16_t usb1_function_GetDeviceState (void)
sdivarci 0:0061165683ee 130 {
sdivarci 0:0061165683ee 131 uint16_t dvsq;
sdivarci 0:0061165683ee 132 uint16_t dvst;
sdivarci 0:0061165683ee 133
sdivarci 0:0061165683ee 134 dvsq = USB201.INTSTS0;
sdivarci 0:0061165683ee 135 switch (dvsq & USB_FUNCTION_BITDVSQ)
sdivarci 0:0061165683ee 136 {
sdivarci 0:0061165683ee 137 case USB_FUNCTION_DS_POWR: /* Power state *//* power-on */
sdivarci 0:0061165683ee 138 dvst = USB_FUNCTION_DVST_POWERED;
sdivarci 0:0061165683ee 139 break;
sdivarci 0:0061165683ee 140
sdivarci 0:0061165683ee 141 case USB_FUNCTION_DS_DFLT: /* Default state *//* bus-reset */
sdivarci 0:0061165683ee 142 dvst = USB_FUNCTION_DVST_DEFAULT;
sdivarci 0:0061165683ee 143 break;
sdivarci 0:0061165683ee 144
sdivarci 0:0061165683ee 145 case USB_FUNCTION_DS_ADDS: /* Address state */
sdivarci 0:0061165683ee 146 dvst = USB_FUNCTION_DVST_ADDRESS;
sdivarci 0:0061165683ee 147 break;
sdivarci 0:0061165683ee 148
sdivarci 0:0061165683ee 149 case USB_FUNCTION_DS_CNFG: /* Configured state */
sdivarci 0:0061165683ee 150 dvst = USB_FUNCTION_DVST_CONFIGURED;
sdivarci 0:0061165683ee 151 break;
sdivarci 0:0061165683ee 152
sdivarci 0:0061165683ee 153 case USB_FUNCTION_DS_SPD_CNFG: /* Configured Suspend state */
sdivarci 0:0061165683ee 154 dvst = USB_FUNCTION_DVST_CONFIGURED_SUSPEND;
sdivarci 0:0061165683ee 155 break;
sdivarci 0:0061165683ee 156
sdivarci 0:0061165683ee 157 case USB_FUNCTION_DS_SPD_POWR: /* Power Suspend state */
sdivarci 0:0061165683ee 158 case USB_FUNCTION_DS_SPD_DFLT: /* Default Suspend state */
sdivarci 0:0061165683ee 159 case USB_FUNCTION_DS_SPD_ADDR: /* Address Suspend state */
sdivarci 0:0061165683ee 160 dvst = USB_FUNCTION_DVST_SUSPEND;
sdivarci 0:0061165683ee 161 break;
sdivarci 0:0061165683ee 162
sdivarci 0:0061165683ee 163 default: /* error */
sdivarci 0:0061165683ee 164 dvst = USB_FUNCTION_DVST_SUSPEND;
sdivarci 0:0061165683ee 165 break;
sdivarci 0:0061165683ee 166 }
sdivarci 0:0061165683ee 167
sdivarci 0:0061165683ee 168 return dvst;
sdivarci 0:0061165683ee 169 }
sdivarci 0:0061165683ee 170
sdivarci 0:0061165683ee 171 /*******************************************************************************
sdivarci 0:0061165683ee 172 * Function Name: usb1_api_function_start_receive_transfer
sdivarci 0:0061165683ee 173 * Description : Starts USB data reception using the pipe specified in the argument.
sdivarci 0:0061165683ee 174 * : The FIFO for using is set in the pipe definition table.
sdivarci 0:0061165683ee 175 * Arguments : uint16_t pipe ; Pipe Number
sdivarci 0:0061165683ee 176 * : uint32_t size ; Data Size
sdivarci 0:0061165683ee 177 * : uint8_t *data ; Data data Address
sdivarci 0:0061165683ee 178 * Return Value : none
sdivarci 0:0061165683ee 179 *******************************************************************************/
sdivarci 0:0061165683ee 180 void usb1_api_function_start_receive_transfer (uint16_t pipe, uint32_t size, uint8_t * data)
sdivarci 0:0061165683ee 181 {
sdivarci 0:0061165683ee 182 usb1_function_start_receive_transfer(pipe, size, data);
sdivarci 0:0061165683ee 183 }
sdivarci 0:0061165683ee 184
sdivarci 0:0061165683ee 185 /*******************************************************************************
sdivarci 0:0061165683ee 186 * Function Name: usb1_api_function_start_send_transfer
sdivarci 0:0061165683ee 187 * Description : Starts the USB data communication using pipe specified by the argument.
sdivarci 0:0061165683ee 188 * Arguments : uint16_t pipe ; Pipe Number
sdivarci 0:0061165683ee 189 * : uint32_t size ; Data Size
sdivarci 0:0061165683ee 190 * : uint8_t *data ; Data data Address
sdivarci 0:0061165683ee 191 * Return Value : DEVDRV_USBF_WRITEEND ; Write end
sdivarci 0:0061165683ee 192 * : DEVDRV_USBF_WRITESHRT ; short data
sdivarci 0:0061165683ee 193 * : DEVDRV_USBF_WRITING ; Continue of data write
sdivarci 0:0061165683ee 194 * : DEVDRV_USBF_WRITEDMA ; Write DMA
sdivarci 0:0061165683ee 195 * : DEVDRV_USBF_FIFOERROR ; FIFO status
sdivarci 0:0061165683ee 196 *******************************************************************************/
sdivarci 0:0061165683ee 197 uint16_t usb1_api_function_start_send_transfer (uint16_t pipe, uint32_t size, uint8_t * data)
sdivarci 0:0061165683ee 198 {
sdivarci 0:0061165683ee 199 uint16_t status;
sdivarci 0:0061165683ee 200
sdivarci 0:0061165683ee 201 status = usb1_function_start_send_transfer(pipe, size, data);
sdivarci 0:0061165683ee 202
sdivarci 0:0061165683ee 203 return status;
sdivarci 0:0061165683ee 204 }
sdivarci 0:0061165683ee 205
sdivarci 0:0061165683ee 206 /*******************************************************************************
sdivarci 0:0061165683ee 207 * Function Name: usb1_api_function_check_pipe_status
sdivarci 0:0061165683ee 208 * Description : Starts USB data reception using the pipe specified in the argument.
sdivarci 0:0061165683ee 209 * : The FIFO for using is set in the pipe definition table.
sdivarci 0:0061165683ee 210 * Arguments : uint16_t pipe ; Pipe Number
sdivarci 0:0061165683ee 211 * : uint32_t *size ; Data Size
sdivarci 0:0061165683ee 212 * Return Value : Pipe Status
sdivarci 0:0061165683ee 213 *******************************************************************************/
sdivarci 0:0061165683ee 214 uint16_t usb1_api_function_check_pipe_status (uint16_t pipe, uint32_t * size)
sdivarci 0:0061165683ee 215 {
sdivarci 0:0061165683ee 216 if (g_usb1_function_pipe_status[pipe] == DEVDRV_USBF_PIPE_DONE)
sdivarci 0:0061165683ee 217 {
sdivarci 0:0061165683ee 218 *size = g_usb1_function_PipeDataSize[pipe];
sdivarci 0:0061165683ee 219 g_usb1_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
sdivarci 0:0061165683ee 220
sdivarci 0:0061165683ee 221 return DEVDRV_USBF_PIPE_DONE;
sdivarci 0:0061165683ee 222 }
sdivarci 0:0061165683ee 223 else if (g_usb1_function_pipe_status[pipe] == DEVDRV_USBF_PIPE_NORES)
sdivarci 0:0061165683ee 224 {
sdivarci 0:0061165683ee 225 *size = 0;
sdivarci 0:0061165683ee 226 g_usb1_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
sdivarci 0:0061165683ee 227
sdivarci 0:0061165683ee 228 return DEVDRV_USBF_PIPE_NORES;
sdivarci 0:0061165683ee 229 }
sdivarci 0:0061165683ee 230 else if (g_usb1_function_pipe_status[pipe] == DEVDRV_USBF_PIPE_STALL)
sdivarci 0:0061165683ee 231 {
sdivarci 0:0061165683ee 232 *size = 0;
sdivarci 0:0061165683ee 233 g_usb1_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
sdivarci 0:0061165683ee 234
sdivarci 0:0061165683ee 235 return DEVDRV_USBF_PIPE_STALL;
sdivarci 0:0061165683ee 236 }
sdivarci 0:0061165683ee 237 else if (g_usb1_function_pipe_status[pipe] == DEVDRV_USBF_FIFOERROR)
sdivarci 0:0061165683ee 238 {
sdivarci 0:0061165683ee 239 *size = 0;
sdivarci 0:0061165683ee 240 g_usb1_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
sdivarci 0:0061165683ee 241
sdivarci 0:0061165683ee 242 return DEVDRV_USBF_FIFOERROR;
sdivarci 0:0061165683ee 243 }
sdivarci 0:0061165683ee 244 else
sdivarci 0:0061165683ee 245 {
sdivarci 0:0061165683ee 246 /* Do Nothing */
sdivarci 0:0061165683ee 247 }
sdivarci 0:0061165683ee 248
sdivarci 0:0061165683ee 249 return g_usb1_function_pipe_status[pipe];
sdivarci 0:0061165683ee 250 }
sdivarci 0:0061165683ee 251
sdivarci 0:0061165683ee 252 /*******************************************************************************
sdivarci 0:0061165683ee 253 * Function Name: usb1_api_function_clear_pipe_status
sdivarci 0:0061165683ee 254 * Description : Starts USB data reception using the pipe specified in the argument.
sdivarci 0:0061165683ee 255 * : The FIFO for using is set in the pipe definition table.
sdivarci 0:0061165683ee 256 * Arguments : uint16_t pipe ; Pipe Number
sdivarci 0:0061165683ee 257 * Return Value : Pipe Status
sdivarci 0:0061165683ee 258 *******************************************************************************/
sdivarci 0:0061165683ee 259 void usb1_api_function_clear_pipe_status (uint16_t pipe)
sdivarci 0:0061165683ee 260 {
sdivarci 0:0061165683ee 261 g_usb1_function_pipe_status[pipe] = DEVDRV_USBF_PIPE_IDLE;
sdivarci 0:0061165683ee 262 g_usb1_function_PipeDataSize[pipe] = 0;
sdivarci 0:0061165683ee 263 }
sdivarci 0:0061165683ee 264
sdivarci 0:0061165683ee 265 /*******************************************************************************
sdivarci 0:0061165683ee 266 * Function Name: usb1_api_function_set_pid_buf
sdivarci 0:0061165683ee 267 * Description : Enables communicaqtion in the pipe specified by the argument
sdivarci 0:0061165683ee 268 * : (BUF).
sdivarci 0:0061165683ee 269 * Arguments : uint16_t pipe ; pipe Number
sdivarci 0:0061165683ee 270 * Return Value : none
sdivarci 0:0061165683ee 271 *******************************************************************************/
sdivarci 0:0061165683ee 272 void usb1_api_function_set_pid_buf (uint16_t pipe)
sdivarci 0:0061165683ee 273 {
sdivarci 0:0061165683ee 274 usb1_function_set_pid_buf(pipe);
sdivarci 0:0061165683ee 275 }
sdivarci 0:0061165683ee 276
sdivarci 0:0061165683ee 277 /*******************************************************************************
sdivarci 0:0061165683ee 278 * Function Name: usb1_api_function_set_pid_nak
sdivarci 0:0061165683ee 279 * Description : Disables communication (NAK) in the pipe specified by the argument.
sdivarci 0:0061165683ee 280 * : When the pipe status was enabling communication (BUF) before
sdivarci 0:0061165683ee 281 * : executing before executing this function, waits in the software
sdivarci 0:0061165683ee 282 * : until the pipe becomes ready after setting disabled.
sdivarci 0:0061165683ee 283 * Arguments : uint16_t pipe ; pipe Number
sdivarci 0:0061165683ee 284 * Return Value : none
sdivarci 0:0061165683ee 285 *******************************************************************************/
sdivarci 0:0061165683ee 286 void usb1_api_function_set_pid_nak (uint16_t pipe)
sdivarci 0:0061165683ee 287 {
sdivarci 0:0061165683ee 288 usb1_function_set_pid_nak(pipe);
sdivarci 0:0061165683ee 289 }
sdivarci 0:0061165683ee 290
sdivarci 0:0061165683ee 291 /*******************************************************************************
sdivarci 0:0061165683ee 292 * Function Name: usb1_api_function_set_pid_stall
sdivarci 0:0061165683ee 293 * Description : Disables communication (STALL) in the pipe specified by the
sdivarci 0:0061165683ee 294 * : argument.
sdivarci 0:0061165683ee 295 * Arguments : uint16_t pipe ; pipe Number
sdivarci 0:0061165683ee 296 * Return Value : none
sdivarci 0:0061165683ee 297 *******************************************************************************/
sdivarci 0:0061165683ee 298 void usb1_api_function_set_pid_stall (uint16_t pipe)
sdivarci 0:0061165683ee 299 {
sdivarci 0:0061165683ee 300 usb1_function_set_pid_stall(pipe);
sdivarci 0:0061165683ee 301 }
sdivarci 0:0061165683ee 302
sdivarci 0:0061165683ee 303 /*******************************************************************************
sdivarci 0:0061165683ee 304 * Function Name: usb1_api_function_clear_pid_stall
sdivarci 0:0061165683ee 305 * Description : Disables communication (NAK) in the pipe specified by the argument.
sdivarci 0:0061165683ee 306 * Arguments : uint16_t pipe ; pipe Number
sdivarci 0:0061165683ee 307 * Return Value : none
sdivarci 0:0061165683ee 308 *******************************************************************************/
sdivarci 0:0061165683ee 309 void usb1_api_function_clear_pid_stall (uint16_t pipe)
sdivarci 0:0061165683ee 310 {
sdivarci 0:0061165683ee 311 usb1_function_clear_pid_stall(pipe);
sdivarci 0:0061165683ee 312 }
sdivarci 0:0061165683ee 313
sdivarci 0:0061165683ee 314 /*******************************************************************************
sdivarci 0:0061165683ee 315 * Function Name: usb1_api_function_get_pid
sdivarci 0:0061165683ee 316 * Description : Returns the pipe state specified by the argument.
sdivarci 0:0061165683ee 317 * Arguments : uint16_t pipe ; Pipe Number
sdivarci 0:0061165683ee 318 * Return Value : PID
sdivarci 0:0061165683ee 319 *******************************************************************************/
sdivarci 0:0061165683ee 320 uint16_t usb1_api_function_get_pid (uint16_t pipe)
sdivarci 0:0061165683ee 321 {
sdivarci 0:0061165683ee 322 uint16_t pid;
sdivarci 0:0061165683ee 323
sdivarci 0:0061165683ee 324 pid = usb1_function_get_pid(pipe);
sdivarci 0:0061165683ee 325
sdivarci 0:0061165683ee 326 return pid;
sdivarci 0:0061165683ee 327 }
sdivarci 0:0061165683ee 328
sdivarci 0:0061165683ee 329 /*******************************************************************************
sdivarci 0:0061165683ee 330 * Function Name: usb1_api_function_check_stall
sdivarci 0:0061165683ee 331 * Description :
sdivarci 0:0061165683ee 332 * Arguments : uint16_t pipe ; Pipe Number
sdivarci 0:0061165683ee 333 * Return Value : PID
sdivarci 0:0061165683ee 334 *******************************************************************************/
sdivarci 0:0061165683ee 335 int32_t usb1_api_function_check_stall (uint16_t pipe)
sdivarci 0:0061165683ee 336 {
sdivarci 0:0061165683ee 337 uint16_t pid;
sdivarci 0:0061165683ee 338
sdivarci 0:0061165683ee 339 pid = usb1_function_get_pid(pipe);
sdivarci 0:0061165683ee 340
sdivarci 0:0061165683ee 341 if ((pid & DEVDRV_USBF_PID_STALL) == DEVDRV_USBF_PID_STALL)
sdivarci 0:0061165683ee 342 {
sdivarci 0:0061165683ee 343 return DEVDRV_USBF_STALL;
sdivarci 0:0061165683ee 344 }
sdivarci 0:0061165683ee 345
sdivarci 0:0061165683ee 346 return DEVDRV_SUCCESS;
sdivarci 0:0061165683ee 347 }
sdivarci 0:0061165683ee 348
sdivarci 0:0061165683ee 349 /*******************************************************************************
sdivarci 0:0061165683ee 350 * Function Name: usb1_api_function_set_sqclr
sdivarci 0:0061165683ee 351 * Description : Sets the sequence bit of the pipe specified by the argument to
sdivarci 0:0061165683ee 352 * : DATA0.
sdivarci 0:0061165683ee 353 * Arguments : uint16_t pipe ; Pipe Number
sdivarci 0:0061165683ee 354 * Return Value : none
sdivarci 0:0061165683ee 355 *******************************************************************************/
sdivarci 0:0061165683ee 356 void usb1_api_function_set_sqclr (uint16_t pipe)
sdivarci 0:0061165683ee 357 {
sdivarci 0:0061165683ee 358 usb1_function_set_sqclr(pipe);
sdivarci 0:0061165683ee 359 }
sdivarci 0:0061165683ee 360
sdivarci 0:0061165683ee 361 /*******************************************************************************
sdivarci 0:0061165683ee 362 * Function Name: usb1_api_function_set_sqset
sdivarci 0:0061165683ee 363 * Description : Sets the sequence bit of the pipe specified by the argument to
sdivarci 0:0061165683ee 364 * : DATA1.
sdivarci 0:0061165683ee 365 * Arguments : uint16_t pipe ; Pipe number
sdivarci 0:0061165683ee 366 * Return Value : none
sdivarci 0:0061165683ee 367 *******************************************************************************/
sdivarci 0:0061165683ee 368 void usb1_api_function_set_sqset (uint16_t pipe)
sdivarci 0:0061165683ee 369 {
sdivarci 0:0061165683ee 370 usb1_function_set_sqset(pipe);
sdivarci 0:0061165683ee 371 }
sdivarci 0:0061165683ee 372
sdivarci 0:0061165683ee 373 /*******************************************************************************
sdivarci 0:0061165683ee 374 * Function Name: usb1_api_function_set_csclr
sdivarci 0:0061165683ee 375 * Description : CSPLIT status clear setting of sprit transaction in specified
sdivarci 0:0061165683ee 376 * : pipe is performed.
sdivarci 0:0061165683ee 377 * : When SQSET bit or SQCLR bit, and SQSET bit or SQCLR bit
sdivarci 0:0061165683ee 378 * : in DCPCTR register are continuously changed (when the sequence
sdivarci 0:0061165683ee 379 * : toggle bit of data PID is continuously changed over two or more pipes),
sdivarci 0:0061165683ee 380 * : the access cycle with 120 ns and more than 5 cycle bus clock is necessary.
sdivarci 0:0061165683ee 381 * : Do not set both SQCLR bit and SQSET bit to 1 at the same time.
sdivarci 0:0061165683ee 382 * : In addition, both bits should be operated after PID is set to NAK.
sdivarci 0:0061165683ee 383 * : However, when it is set to the isochronous transfer as the transfer type
sdivarci 0:0061165683ee 384 * : (TYPE=11), writing in SQSET bit is disabled.
sdivarci 0:0061165683ee 385 * Arguments : uint16_t pipe ; Pipe number
sdivarci 0:0061165683ee 386 * Return Value : none
sdivarci 0:0061165683ee 387 *******************************************************************************/
sdivarci 0:0061165683ee 388 void usb1_api_function_set_csclr (uint16_t pipe)
sdivarci 0:0061165683ee 389 {
sdivarci 0:0061165683ee 390 usb1_function_set_csclr(pipe);
sdivarci 0:0061165683ee 391 }
sdivarci 0:0061165683ee 392
sdivarci 0:0061165683ee 393 /*******************************************************************************
sdivarci 0:0061165683ee 394 * Function Name: usb1_api_function_set_curpipe
sdivarci 0:0061165683ee 395 * Description : Allocates FIF0 specifed by the argument in the pipe assigned
sdivarci 0:0061165683ee 396 * : by the argument.
sdivarci 0:0061165683ee 397 * Arguments : uint16_t pipe ; Pipe Number
sdivarci 0:0061165683ee 398 * : uint16_t fifosel ; Select FIFO
sdivarci 0:0061165683ee 399 * : uint16_t isel ; FIFO Access Direction
sdivarci 0:0061165683ee 400 * : uint16_t mbw ; FIFO Port Access Bit Width
sdivarci 0:0061165683ee 401 * Return Value : none
sdivarci 0:0061165683ee 402 *******************************************************************************/
sdivarci 0:0061165683ee 403 void usb1_api_function_set_curpipe (uint16_t pipe, uint16_t fifosel, uint16_t isel, uint16_t mbw)
sdivarci 0:0061165683ee 404 {
sdivarci 0:0061165683ee 405 usb1_function_set_curpipe(pipe, fifosel, isel, mbw);
sdivarci 0:0061165683ee 406 }
sdivarci 0:0061165683ee 407
sdivarci 0:0061165683ee 408 /*******************************************************************************
sdivarci 0:0061165683ee 409 * Function Name: usb1_api_function_clear_brdy_sts
sdivarci 0:0061165683ee 410 * Description : Clear BRDY interrupt status in the pipe spceified by the argument.
sdivarci 0:0061165683ee 411 * Arguments : uint16_t pipe ; pipe Number
sdivarci 0:0061165683ee 412 * Return Value : none
sdivarci 0:0061165683ee 413 *******************************************************************************/
sdivarci 0:0061165683ee 414 void usb1_api_function_clear_brdy_sts (uint16_t pipe)
sdivarci 0:0061165683ee 415 {
sdivarci 0:0061165683ee 416 usb1_function_clear_brdy_sts(pipe);
sdivarci 0:0061165683ee 417 }
sdivarci 0:0061165683ee 418
sdivarci 0:0061165683ee 419 /*******************************************************************************
sdivarci 0:0061165683ee 420 * Function Name: usb1_api_function_clear_bemp_sts
sdivarci 0:0061165683ee 421 * Description : Clear BEMP interrupt status in the pipe spceified by the argument.
sdivarci 0:0061165683ee 422 * Arguments : uint16_t pipe ; pipe Number
sdivarci 0:0061165683ee 423 * Return Value : none
sdivarci 0:0061165683ee 424 *******************************************************************************/
sdivarci 0:0061165683ee 425 void usb1_api_function_clear_bemp_sts (uint16_t pipe)
sdivarci 0:0061165683ee 426 {
sdivarci 0:0061165683ee 427 usb1_function_clear_bemp_sts(pipe);
sdivarci 0:0061165683ee 428 }
sdivarci 0:0061165683ee 429
sdivarci 0:0061165683ee 430 /*******************************************************************************
sdivarci 0:0061165683ee 431 * Function Name: usb1_api_function_clear_nrdy_sts
sdivarci 0:0061165683ee 432 * Description : Clear NRDY interrupt status in the pipe spceified by the argument.
sdivarci 0:0061165683ee 433 * Arguments : uint16_t pipe ; pipe Number
sdivarci 0:0061165683ee 434 * Return Value : none
sdivarci 0:0061165683ee 435 *******************************************************************************/
sdivarci 0:0061165683ee 436 void usb1_api_function_clear_nrdy_sts (uint16_t pipe)
sdivarci 0:0061165683ee 437 {
sdivarci 0:0061165683ee 438 usb1_function_clear_nrdy_sts(pipe);
sdivarci 0:0061165683ee 439 }
sdivarci 0:0061165683ee 440
sdivarci 0:0061165683ee 441 /* End of File */