USB device stack - Added support for the logo/windows key to USB keyboard.

Dependents:   randomSearch

Fork of USBDevice by mbed official

Committer:
mbed_official
Date:
Tue Mar 31 16:15:39 2015 +0100
Revision:
46:378357d7e90d
Synchronized with git revision 251f3f8b55a4dc98b831c80e032464ed45cce309

Full URL: https://github.com/mbedmicro/mbed/commit/251f3f8b55a4dc98b831c80e032464ed45cce309/

[RZ/A1H]Add some function(USB 2port, NVIC wrapper) and modify some settings(OS, Terminal).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 46:378357d7e90d 1 /*******************************************************************************
mbed_official 46:378357d7e90d 2 * DISCLAIMER
mbed_official 46:378357d7e90d 3 * This software is supplied by Renesas Electronics Corporation and is only
mbed_official 46:378357d7e90d 4 * intended for use with Renesas products. No other uses are authorized. This
mbed_official 46:378357d7e90d 5 * software is owned by Renesas Electronics Corporation and is protected under
mbed_official 46:378357d7e90d 6 * all applicable laws, including copyright laws.
mbed_official 46:378357d7e90d 7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
mbed_official 46:378357d7e90d 8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
mbed_official 46:378357d7e90d 9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
mbed_official 46:378357d7e90d 10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
mbed_official 46:378357d7e90d 11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
mbed_official 46:378357d7e90d 12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
mbed_official 46:378357d7e90d 13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
mbed_official 46:378357d7e90d 14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
mbed_official 46:378357d7e90d 15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
mbed_official 46:378357d7e90d 16 * Renesas reserves the right, without notice, to make changes to this software
mbed_official 46:378357d7e90d 17 * and to discontinue the availability of this software. By using this software,
mbed_official 46:378357d7e90d 18 * you agree to the additional terms and conditions found by accessing the
mbed_official 46:378357d7e90d 19 * following link:
mbed_official 46:378357d7e90d 20 * http://www.renesas.com/disclaimer
mbed_official 46:378357d7e90d 21 * Copyright (C) 2012 - 2014 Renesas Electronics Corporation. All rights reserved.
mbed_official 46:378357d7e90d 22 *******************************************************************************/
mbed_official 46:378357d7e90d 23 /*******************************************************************************
mbed_official 46:378357d7e90d 24 * File Name : usb1_function_lib.c
mbed_official 46:378357d7e90d 25 * $Rev: 1116 $
mbed_official 46:378357d7e90d 26 * $Date:: 2014-07-09 16:29:19 +0900#$
mbed_official 46:378357d7e90d 27 * Device(s) : RZ/A1H
mbed_official 46:378357d7e90d 28 * Tool-Chain :
mbed_official 46:378357d7e90d 29 * OS : None
mbed_official 46:378357d7e90d 30 * H/W Platform :
mbed_official 46:378357d7e90d 31 * Description : RZ/A1H R7S72100 USB Sample Program
mbed_official 46:378357d7e90d 32 * Operation :
mbed_official 46:378357d7e90d 33 * Limitations :
mbed_official 46:378357d7e90d 34 *******************************************************************************/
mbed_official 46:378357d7e90d 35
mbed_official 46:378357d7e90d 36
mbed_official 46:378357d7e90d 37 /*******************************************************************************
mbed_official 46:378357d7e90d 38 Includes <System Includes> , "Project Includes"
mbed_official 46:378357d7e90d 39 *******************************************************************************/
mbed_official 46:378357d7e90d 40 #include "usb1_function.h"
mbed_official 46:378357d7e90d 41
mbed_official 46:378357d7e90d 42
mbed_official 46:378357d7e90d 43 /*******************************************************************************
mbed_official 46:378357d7e90d 44 Typedef definitions
mbed_official 46:378357d7e90d 45 *******************************************************************************/
mbed_official 46:378357d7e90d 46
mbed_official 46:378357d7e90d 47
mbed_official 46:378357d7e90d 48 /*******************************************************************************
mbed_official 46:378357d7e90d 49 Macro definitions
mbed_official 46:378357d7e90d 50 *******************************************************************************/
mbed_official 46:378357d7e90d 51
mbed_official 46:378357d7e90d 52
mbed_official 46:378357d7e90d 53 /*******************************************************************************
mbed_official 46:378357d7e90d 54 Imported global variables and functions (from other files)
mbed_official 46:378357d7e90d 55 *******************************************************************************/
mbed_official 46:378357d7e90d 56
mbed_official 46:378357d7e90d 57
mbed_official 46:378357d7e90d 58 /*******************************************************************************
mbed_official 46:378357d7e90d 59 Exported global variables and functions (to be accessed by other files)
mbed_official 46:378357d7e90d 60 *******************************************************************************/
mbed_official 46:378357d7e90d 61
mbed_official 46:378357d7e90d 62
mbed_official 46:378357d7e90d 63 /*******************************************************************************
mbed_official 46:378357d7e90d 64 Private global variables and functions
mbed_official 46:378357d7e90d 65 *******************************************************************************/
mbed_official 46:378357d7e90d 66
mbed_official 46:378357d7e90d 67
mbed_official 46:378357d7e90d 68 /*******************************************************************************
mbed_official 46:378357d7e90d 69 * Function Name: usb1_function_enable_brdy_int
mbed_official 46:378357d7e90d 70 * Description : Enables BRDY interrupt in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 71 * : Disables BEMP/NRDY/BRDY interrupts in all pipes before enabling
mbed_official 46:378357d7e90d 72 * : BRDY. Enables BRDY interrupt in the pipe specified by the argument
mbed_official 46:378357d7e90d 73 * : in the disabled status. After enabling BRDY, recover all
mbed_official 46:378357d7e90d 74 * : BEMP/NRDY/BRDY disabled/enabled status.
mbed_official 46:378357d7e90d 75 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 76 * Return Value : none
mbed_official 46:378357d7e90d 77 *******************************************************************************/
mbed_official 46:378357d7e90d 78 void usb1_function_enable_brdy_int (uint16_t pipe)
mbed_official 46:378357d7e90d 79 {
mbed_official 46:378357d7e90d 80 /* enable brdy interrupt */
mbed_official 46:378357d7e90d 81 USB201.BRDYENB |= (uint16_t)g_usb1_function_bit_set[pipe];
mbed_official 46:378357d7e90d 82 }
mbed_official 46:378357d7e90d 83
mbed_official 46:378357d7e90d 84 /*******************************************************************************
mbed_official 46:378357d7e90d 85 * Function Name: usb1_function_disable_brdy_int
mbed_official 46:378357d7e90d 86 * Description : Disables BRDY interrupt in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 87 * : Disables BEMP/NRDY/BRDY interrupts in all pipes before disabling
mbed_official 46:378357d7e90d 88 * : BRDY. Enables BRDY interrupt in the pipe specified by the argument
mbed_official 46:378357d7e90d 89 * : in the disabled status. After disabling BRDY, recover all
mbed_official 46:378357d7e90d 90 * : BEMP/NRDY/BRDY disabled/enabled status.
mbed_official 46:378357d7e90d 91 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 92 * Return Value : none
mbed_official 46:378357d7e90d 93 *******************************************************************************/
mbed_official 46:378357d7e90d 94 void usb1_function_disable_brdy_int (uint16_t pipe)
mbed_official 46:378357d7e90d 95 {
mbed_official 46:378357d7e90d 96 /* disable brdy interrupt */
mbed_official 46:378357d7e90d 97 USB201.BRDYENB &= (uint16_t)~(g_usb1_function_bit_set[pipe]);
mbed_official 46:378357d7e90d 98 }
mbed_official 46:378357d7e90d 99
mbed_official 46:378357d7e90d 100 /*******************************************************************************
mbed_official 46:378357d7e90d 101 * Function Name: usb1_function_clear_brdy_sts
mbed_official 46:378357d7e90d 102 * Description : Clear BRDY interrupt status in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 103 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 104 * Return Value : none
mbed_official 46:378357d7e90d 105 *******************************************************************************/
mbed_official 46:378357d7e90d 106 void usb1_function_clear_brdy_sts (uint16_t pipe)
mbed_official 46:378357d7e90d 107 {
mbed_official 46:378357d7e90d 108 /* clear brdy status */
mbed_official 46:378357d7e90d 109 USB201.BRDYSTS = (uint16_t)~(g_usb1_function_bit_set[pipe]);
mbed_official 46:378357d7e90d 110 }
mbed_official 46:378357d7e90d 111
mbed_official 46:378357d7e90d 112 /*******************************************************************************
mbed_official 46:378357d7e90d 113 * Function Name: usb1_function_enable_bemp_int
mbed_official 46:378357d7e90d 114 * Description : Enables BEMP interrupt in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 115 * : Disables BEMP/NRDY/BRDY interrupts in all pipes before enabling
mbed_official 46:378357d7e90d 116 * : BEMP. Enables BEMP interrupt in the pipe specified by the argument
mbed_official 46:378357d7e90d 117 * : in the disabled status. After enabling BEMP, recover all
mbed_official 46:378357d7e90d 118 * : BEMP/NRDY/BRDY disabled/enabled status.
mbed_official 46:378357d7e90d 119 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 120 * Return Value : none
mbed_official 46:378357d7e90d 121 *******************************************************************************/
mbed_official 46:378357d7e90d 122 void usb1_function_enable_bemp_int (uint16_t pipe)
mbed_official 46:378357d7e90d 123 {
mbed_official 46:378357d7e90d 124 /* enable bemp interrupt */
mbed_official 46:378357d7e90d 125 USB201.BEMPENB |= (uint16_t)g_usb1_function_bit_set[pipe];
mbed_official 46:378357d7e90d 126 }
mbed_official 46:378357d7e90d 127
mbed_official 46:378357d7e90d 128 /*******************************************************************************
mbed_official 46:378357d7e90d 129 * Function Name: usb1_function_disable_bemp_int
mbed_official 46:378357d7e90d 130 * Description : Disables BEMP interrupt in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 131 * : Disables BEMP/NRDY/BRDY interrupts in all pipes before disabling
mbed_official 46:378357d7e90d 132 * : BEMP. Enables BEMP interrupt in the pipe specified by the argument
mbed_official 46:378357d7e90d 133 * : in the disabled status. After enabling BEMP, recover all
mbed_official 46:378357d7e90d 134 * : BEMP/NRDY/BRDY disabled/enabled status.
mbed_official 46:378357d7e90d 135 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 136 * Return Value : none
mbed_official 46:378357d7e90d 137 *******************************************************************************/
mbed_official 46:378357d7e90d 138 void usb1_function_disable_bemp_int (uint16_t pipe)
mbed_official 46:378357d7e90d 139 {
mbed_official 46:378357d7e90d 140 /* disable bemp interrupt */
mbed_official 46:378357d7e90d 141 USB201.BEMPENB &= (uint16_t)~(g_usb1_function_bit_set[pipe]);
mbed_official 46:378357d7e90d 142 }
mbed_official 46:378357d7e90d 143
mbed_official 46:378357d7e90d 144 /*******************************************************************************
mbed_official 46:378357d7e90d 145 * Function Name: usb1_function_clear_bemp_sts
mbed_official 46:378357d7e90d 146 * Description : Clear BEMP interrupt status in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 147 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 148 * Return Value : none
mbed_official 46:378357d7e90d 149 *******************************************************************************/
mbed_official 46:378357d7e90d 150 void usb1_function_clear_bemp_sts (uint16_t pipe)
mbed_official 46:378357d7e90d 151 {
mbed_official 46:378357d7e90d 152 /* clear bemp status */
mbed_official 46:378357d7e90d 153 USB201.BEMPSTS = (uint16_t)~(g_usb1_function_bit_set[pipe]);
mbed_official 46:378357d7e90d 154 }
mbed_official 46:378357d7e90d 155
mbed_official 46:378357d7e90d 156 /*******************************************************************************
mbed_official 46:378357d7e90d 157 * Function Name: usb1_function_enable_nrdy_int
mbed_official 46:378357d7e90d 158 * Description : Enables NRDY interrupt in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 159 * : Disables BEMP/NRDY/BRDY interrupts in all pipes before enabling
mbed_official 46:378357d7e90d 160 * : NRDY. Enables NRDY interrupt in the pipe specified by the argument
mbed_official 46:378357d7e90d 161 * : in the disabled status. After enabling NRDY, recover all
mbed_official 46:378357d7e90d 162 * : BEMP/NRDY/BRDY disabled/enabled status.
mbed_official 46:378357d7e90d 163 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 164 * Return Value : none
mbed_official 46:378357d7e90d 165 *******************************************************************************/
mbed_official 46:378357d7e90d 166 void usb1_function_enable_nrdy_int (uint16_t pipe)
mbed_official 46:378357d7e90d 167 {
mbed_official 46:378357d7e90d 168 /* enable nrdy interrupt */
mbed_official 46:378357d7e90d 169 USB201.NRDYENB |= (uint16_t)g_usb1_function_bit_set[pipe];
mbed_official 46:378357d7e90d 170 }
mbed_official 46:378357d7e90d 171
mbed_official 46:378357d7e90d 172 /*******************************************************************************
mbed_official 46:378357d7e90d 173 * Function Name: usb1_function_disable_nrdy_int
mbed_official 46:378357d7e90d 174 * Description : Disables NRDY interrupt in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 175 * : Disables BEMP/NRDY/BRDY interrupts in all pipes before disabling
mbed_official 46:378357d7e90d 176 * : NRDY. Disables NRDY interrupt in the pipe specified by the argument
mbed_official 46:378357d7e90d 177 * : in the disabled status. After disabling NRDY, recover all
mbed_official 46:378357d7e90d 178 * : BEMP/NRDY/BRDY disabled/enabled status.
mbed_official 46:378357d7e90d 179 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 180 * Return Value : none
mbed_official 46:378357d7e90d 181 *******************************************************************************/
mbed_official 46:378357d7e90d 182 void usb1_function_disable_nrdy_int (uint16_t pipe)
mbed_official 46:378357d7e90d 183 {
mbed_official 46:378357d7e90d 184 /* disable nrdy interrupt */
mbed_official 46:378357d7e90d 185 USB201.NRDYENB &= (uint16_t)~(g_usb1_function_bit_set[pipe]);
mbed_official 46:378357d7e90d 186 }
mbed_official 46:378357d7e90d 187
mbed_official 46:378357d7e90d 188 /*******************************************************************************
mbed_official 46:378357d7e90d 189 * Function Name: usb1_function_clear_nrdy_sts
mbed_official 46:378357d7e90d 190 * Description : Clear NRDY interrupt status in the pipe spceified by the argument.
mbed_official 46:378357d7e90d 191 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 192 * Return Value : none
mbed_official 46:378357d7e90d 193 *******************************************************************************/
mbed_official 46:378357d7e90d 194 void usb1_function_clear_nrdy_sts (uint16_t pipe)
mbed_official 46:378357d7e90d 195 {
mbed_official 46:378357d7e90d 196 /* clear nrdy status */
mbed_official 46:378357d7e90d 197 USB201.NRDYSTS = (uint16_t)~(g_usb1_function_bit_set[pipe]);
mbed_official 46:378357d7e90d 198 }
mbed_official 46:378357d7e90d 199
mbed_official 46:378357d7e90d 200 /*******************************************************************************
mbed_official 46:378357d7e90d 201 * Function Name: usb1_function_is_hispeed
mbed_official 46:378357d7e90d 202 * Description : Returns the result of USB reset hand shake (RHST) as
mbed_official 46:378357d7e90d 203 * : return value.
mbed_official 46:378357d7e90d 204 * Arguments : none
mbed_official 46:378357d7e90d 205 * Return Value : USB_FUNCTION_HIGH_SPEED ; Hi-Speed
mbed_official 46:378357d7e90d 206 * : USB_FUNCTION_FULL_SPEED ; Full-Speed
mbed_official 46:378357d7e90d 207 * : LOW_SPEED ; Low-Speed
mbed_official 46:378357d7e90d 208 * : USB_FUNCTION_NON_SPEED ; error
mbed_official 46:378357d7e90d 209 *******************************************************************************/
mbed_official 46:378357d7e90d 210 uint16_t usb1_function_is_hispeed (void)
mbed_official 46:378357d7e90d 211 {
mbed_official 46:378357d7e90d 212 uint16_t rhst;
mbed_official 46:378357d7e90d 213 uint16_t speed;
mbed_official 46:378357d7e90d 214
mbed_official 46:378357d7e90d 215 rhst = RZA_IO_RegRead_16(&USB201.DVSTCTR0, USB_DVSTCTR0_RHST_SHIFT, USB_DVSTCTR0_RHST);
mbed_official 46:378357d7e90d 216
mbed_official 46:378357d7e90d 217 if (rhst == USB_FUNCTION_HSMODE)
mbed_official 46:378357d7e90d 218 {
mbed_official 46:378357d7e90d 219 speed = USB_FUNCTION_HIGH_SPEED;
mbed_official 46:378357d7e90d 220 }
mbed_official 46:378357d7e90d 221 else if (rhst == USB_FUNCTION_FSMODE)
mbed_official 46:378357d7e90d 222 {
mbed_official 46:378357d7e90d 223 speed = USB_FUNCTION_FULL_SPEED;
mbed_official 46:378357d7e90d 224 }
mbed_official 46:378357d7e90d 225 else if (rhst == USB_FUNCTION_LSMODE)
mbed_official 46:378357d7e90d 226 {
mbed_official 46:378357d7e90d 227 speed = USB_FUNCTION_LOW_SPEED;
mbed_official 46:378357d7e90d 228 }
mbed_official 46:378357d7e90d 229 else
mbed_official 46:378357d7e90d 230 {
mbed_official 46:378357d7e90d 231 speed = USB_FUNCTION_NON_SPEED;
mbed_official 46:378357d7e90d 232 }
mbed_official 46:378357d7e90d 233
mbed_official 46:378357d7e90d 234 return speed;
mbed_official 46:378357d7e90d 235 }
mbed_official 46:378357d7e90d 236
mbed_official 46:378357d7e90d 237 /*******************************************************************************
mbed_official 46:378357d7e90d 238 * Function Name: usb1_function_is_hispeed_enable
mbed_official 46:378357d7e90d 239 * Description : Returns the USB High-Speed connection enabled status as
mbed_official 46:378357d7e90d 240 * : return value.
mbed_official 46:378357d7e90d 241 * Arguments : none
mbed_official 46:378357d7e90d 242 * Return Value : DEVDRV_USBF_YES : Hi-Speed Enable
mbed_official 46:378357d7e90d 243 * : DEVDRV_USBF_NO : Hi-Speed Disable
mbed_official 46:378357d7e90d 244 *******************************************************************************/
mbed_official 46:378357d7e90d 245 uint16_t usb1_function_is_hispeed_enable (void)
mbed_official 46:378357d7e90d 246 {
mbed_official 46:378357d7e90d 247 uint16_t ret;
mbed_official 46:378357d7e90d 248
mbed_official 46:378357d7e90d 249 ret = DEVDRV_USBF_NO;
mbed_official 46:378357d7e90d 250
mbed_official 46:378357d7e90d 251 if (RZA_IO_RegRead_16(&USB201.SYSCFG0, USB_SYSCFG_HSE_SHIFT, USB_SYSCFG_HSE) == 1)
mbed_official 46:378357d7e90d 252 {
mbed_official 46:378357d7e90d 253 ret = DEVDRV_USBF_YES;
mbed_official 46:378357d7e90d 254 }
mbed_official 46:378357d7e90d 255
mbed_official 46:378357d7e90d 256 return ret;
mbed_official 46:378357d7e90d 257 }
mbed_official 46:378357d7e90d 258
mbed_official 46:378357d7e90d 259 /*******************************************************************************
mbed_official 46:378357d7e90d 260 * Function Name: usb1_function_set_pid_buf
mbed_official 46:378357d7e90d 261 * Description : Enables communicaqtion in the pipe specified by the argument
mbed_official 46:378357d7e90d 262 * : (BUF).
mbed_official 46:378357d7e90d 263 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 264 * Return Value : none
mbed_official 46:378357d7e90d 265 *******************************************************************************/
mbed_official 46:378357d7e90d 266 void usb1_function_set_pid_buf (uint16_t pipe)
mbed_official 46:378357d7e90d 267 {
mbed_official 46:378357d7e90d 268 uint16_t pid;
mbed_official 46:378357d7e90d 269
mbed_official 46:378357d7e90d 270 pid = usb1_function_get_pid(pipe);
mbed_official 46:378357d7e90d 271
mbed_official 46:378357d7e90d 272 if (pid == DEVDRV_USBF_PID_STALL2)
mbed_official 46:378357d7e90d 273 {
mbed_official 46:378357d7e90d 274 usb1_function_set_pid_nak(pipe);
mbed_official 46:378357d7e90d 275 }
mbed_official 46:378357d7e90d 276
mbed_official 46:378357d7e90d 277 switch (pipe)
mbed_official 46:378357d7e90d 278 {
mbed_official 46:378357d7e90d 279 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 280 RZA_IO_RegWrite_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 281 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 282 USB_DCPCTR_PID_SHIFT,
mbed_official 46:378357d7e90d 283 USB_DCPCTR_PID);
mbed_official 46:378357d7e90d 284 break;
mbed_official 46:378357d7e90d 285
mbed_official 46:378357d7e90d 286 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 287 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 288 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 289 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 290 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 291 break;
mbed_official 46:378357d7e90d 292
mbed_official 46:378357d7e90d 293 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 294 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 295 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 296 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 297 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 298 break;
mbed_official 46:378357d7e90d 299
mbed_official 46:378357d7e90d 300 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 301 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 302 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 303 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 304 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 305 break;
mbed_official 46:378357d7e90d 306
mbed_official 46:378357d7e90d 307 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 308 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 309 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 310 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 311 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 312 break;
mbed_official 46:378357d7e90d 313
mbed_official 46:378357d7e90d 314 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 315 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 316 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 317 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 318 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 319 break;
mbed_official 46:378357d7e90d 320
mbed_official 46:378357d7e90d 321 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 322 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 323 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 324 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 325 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 326 break;
mbed_official 46:378357d7e90d 327
mbed_official 46:378357d7e90d 328 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 329 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 330 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 331 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 332 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 333 break;
mbed_official 46:378357d7e90d 334
mbed_official 46:378357d7e90d 335 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 336 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 337 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 338 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 339 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 340 break;
mbed_official 46:378357d7e90d 341
mbed_official 46:378357d7e90d 342 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 343 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 344 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 345 USB_PIPEnCTR_9_PID_SHIFT,
mbed_official 46:378357d7e90d 346 USB_PIPEnCTR_9_PID);
mbed_official 46:378357d7e90d 347 break;
mbed_official 46:378357d7e90d 348
mbed_official 46:378357d7e90d 349 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 350 RZA_IO_RegWrite_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 351 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 352 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 353 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 354 break;
mbed_official 46:378357d7e90d 355
mbed_official 46:378357d7e90d 356 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 357 RZA_IO_RegWrite_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 358 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 359 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 360 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 361 break;
mbed_official 46:378357d7e90d 362
mbed_official 46:378357d7e90d 363 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 364 RZA_IO_RegWrite_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 365 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 366 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 367 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 368 break;
mbed_official 46:378357d7e90d 369
mbed_official 46:378357d7e90d 370 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 371 RZA_IO_RegWrite_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 372 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 373 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 374 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 375 break;
mbed_official 46:378357d7e90d 376
mbed_official 46:378357d7e90d 377 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 378 RZA_IO_RegWrite_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 379 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 380 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 381 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 382 break;
mbed_official 46:378357d7e90d 383
mbed_official 46:378357d7e90d 384 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 385 RZA_IO_RegWrite_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 386 DEVDRV_USBF_PID_BUF,
mbed_official 46:378357d7e90d 387 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 388 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 389 break;
mbed_official 46:378357d7e90d 390
mbed_official 46:378357d7e90d 391 default:
mbed_official 46:378357d7e90d 392 break;
mbed_official 46:378357d7e90d 393 }
mbed_official 46:378357d7e90d 394 }
mbed_official 46:378357d7e90d 395
mbed_official 46:378357d7e90d 396 /*******************************************************************************
mbed_official 46:378357d7e90d 397 * Function Name: usb1_function_set_pid_nak
mbed_official 46:378357d7e90d 398 * Description : Disables communication (NAK) in the pipe specified by the argument.
mbed_official 46:378357d7e90d 399 * : When the pipe status was enabling communication (BUF) before
mbed_official 46:378357d7e90d 400 * : executing before executing this function, waits in the software
mbed_official 46:378357d7e90d 401 * : until the pipe becomes ready after setting disabled.
mbed_official 46:378357d7e90d 402 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 403 * Return Value : none
mbed_official 46:378357d7e90d 404 *******************************************************************************/
mbed_official 46:378357d7e90d 405 void usb1_function_set_pid_nak (uint16_t pipe)
mbed_official 46:378357d7e90d 406 {
mbed_official 46:378357d7e90d 407 uint16_t pid;
mbed_official 46:378357d7e90d 408 uint16_t pbusy;
mbed_official 46:378357d7e90d 409 uint32_t loop;
mbed_official 46:378357d7e90d 410
mbed_official 46:378357d7e90d 411 pid = usb1_function_get_pid(pipe);
mbed_official 46:378357d7e90d 412
mbed_official 46:378357d7e90d 413 if (pid == DEVDRV_USBF_PID_STALL2)
mbed_official 46:378357d7e90d 414 {
mbed_official 46:378357d7e90d 415 usb1_function_set_pid_stall(pipe);
mbed_official 46:378357d7e90d 416 }
mbed_official 46:378357d7e90d 417
mbed_official 46:378357d7e90d 418 switch (pipe)
mbed_official 46:378357d7e90d 419 {
mbed_official 46:378357d7e90d 420 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 421 RZA_IO_RegWrite_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 422 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 423 USB_DCPCTR_PID_SHIFT,
mbed_official 46:378357d7e90d 424 USB_DCPCTR_PID);
mbed_official 46:378357d7e90d 425 break;
mbed_official 46:378357d7e90d 426
mbed_official 46:378357d7e90d 427 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 428 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 429 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 430 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 431 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 432 break;
mbed_official 46:378357d7e90d 433
mbed_official 46:378357d7e90d 434 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 435 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 436 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 437 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 438 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 439 break;
mbed_official 46:378357d7e90d 440
mbed_official 46:378357d7e90d 441 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 442 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 443 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 444 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 445 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 446 break;
mbed_official 46:378357d7e90d 447
mbed_official 46:378357d7e90d 448 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 449 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 450 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 451 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 452 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 453 break;
mbed_official 46:378357d7e90d 454
mbed_official 46:378357d7e90d 455 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 456 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 457 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 458 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 459 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 460 break;
mbed_official 46:378357d7e90d 461
mbed_official 46:378357d7e90d 462 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 463 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 464 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 465 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 466 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 467 break;
mbed_official 46:378357d7e90d 468
mbed_official 46:378357d7e90d 469 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 470 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 471 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 472 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 473 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 474 break;
mbed_official 46:378357d7e90d 475
mbed_official 46:378357d7e90d 476 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 477 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 478 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 479 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 480 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 481 break;
mbed_official 46:378357d7e90d 482
mbed_official 46:378357d7e90d 483 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 484 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 485 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 486 USB_PIPEnCTR_9_PID_SHIFT,
mbed_official 46:378357d7e90d 487 USB_PIPEnCTR_9_PID);
mbed_official 46:378357d7e90d 488 break;
mbed_official 46:378357d7e90d 489
mbed_official 46:378357d7e90d 490 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 491 RZA_IO_RegWrite_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 492 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 493 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 494 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 495 break;
mbed_official 46:378357d7e90d 496
mbed_official 46:378357d7e90d 497 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 498 RZA_IO_RegWrite_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 499 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 500 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 501 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 502 break;
mbed_official 46:378357d7e90d 503
mbed_official 46:378357d7e90d 504 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 505 RZA_IO_RegWrite_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 506 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 507 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 508 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 509 break;
mbed_official 46:378357d7e90d 510
mbed_official 46:378357d7e90d 511 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 512 RZA_IO_RegWrite_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 513 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 514 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 515 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 516 break;
mbed_official 46:378357d7e90d 517
mbed_official 46:378357d7e90d 518 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 519 RZA_IO_RegWrite_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 520 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 521 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 522 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 523 break;
mbed_official 46:378357d7e90d 524
mbed_official 46:378357d7e90d 525 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 526 RZA_IO_RegWrite_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 527 DEVDRV_USBF_PID_NAK,
mbed_official 46:378357d7e90d 528 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 529 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 530 break;
mbed_official 46:378357d7e90d 531
mbed_official 46:378357d7e90d 532 default:
mbed_official 46:378357d7e90d 533 break;
mbed_official 46:378357d7e90d 534 }
mbed_official 46:378357d7e90d 535
mbed_official 46:378357d7e90d 536 if (pid == DEVDRV_USBF_PID_BUF)
mbed_official 46:378357d7e90d 537 {
mbed_official 46:378357d7e90d 538 for (loop = 0; loop < 200; loop++)
mbed_official 46:378357d7e90d 539 {
mbed_official 46:378357d7e90d 540 switch (pipe)
mbed_official 46:378357d7e90d 541 {
mbed_official 46:378357d7e90d 542 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 543 pbusy = RZA_IO_RegRead_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 544 USB_DCPCTR_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 545 USB_DCPCTR_PBUSY);
mbed_official 46:378357d7e90d 546 break;
mbed_official 46:378357d7e90d 547
mbed_official 46:378357d7e90d 548 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 549 pbusy = RZA_IO_RegRead_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 550 USB_PIPEnCTR_1_5_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 551 USB_PIPEnCTR_1_5_PBUSY);
mbed_official 46:378357d7e90d 552 break;
mbed_official 46:378357d7e90d 553
mbed_official 46:378357d7e90d 554 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 555 pbusy = RZA_IO_RegRead_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 556 USB_PIPEnCTR_1_5_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 557 USB_PIPEnCTR_1_5_PBUSY);
mbed_official 46:378357d7e90d 558 break;
mbed_official 46:378357d7e90d 559
mbed_official 46:378357d7e90d 560 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 561 pbusy = RZA_IO_RegRead_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 562 USB_PIPEnCTR_1_5_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 563 USB_PIPEnCTR_1_5_PBUSY);
mbed_official 46:378357d7e90d 564 break;
mbed_official 46:378357d7e90d 565
mbed_official 46:378357d7e90d 566 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 567 pbusy = RZA_IO_RegRead_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 568 USB_PIPEnCTR_1_5_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 569 USB_PIPEnCTR_1_5_PBUSY);
mbed_official 46:378357d7e90d 570 break;
mbed_official 46:378357d7e90d 571
mbed_official 46:378357d7e90d 572 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 573 pbusy = RZA_IO_RegRead_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 574 USB_PIPEnCTR_1_5_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 575 USB_PIPEnCTR_1_5_PBUSY);
mbed_official 46:378357d7e90d 576 break;
mbed_official 46:378357d7e90d 577
mbed_official 46:378357d7e90d 578 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 579 pbusy = RZA_IO_RegRead_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 580 USB_PIPEnCTR_6_8_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 581 USB_PIPEnCTR_6_8_PBUSY);
mbed_official 46:378357d7e90d 582 break;
mbed_official 46:378357d7e90d 583
mbed_official 46:378357d7e90d 584 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 585 pbusy = RZA_IO_RegRead_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 586 USB_PIPEnCTR_6_8_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 587 USB_PIPEnCTR_6_8_PBUSY);
mbed_official 46:378357d7e90d 588 break;
mbed_official 46:378357d7e90d 589
mbed_official 46:378357d7e90d 590 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 591 pbusy = RZA_IO_RegRead_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 592 USB_PIPEnCTR_6_8_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 593 USB_PIPEnCTR_6_8_PBUSY);
mbed_official 46:378357d7e90d 594 break;
mbed_official 46:378357d7e90d 595
mbed_official 46:378357d7e90d 596 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 597 pbusy = RZA_IO_RegRead_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 598 USB_PIPEnCTR_9_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 599 USB_PIPEnCTR_9_PBUSY);
mbed_official 46:378357d7e90d 600 break;
mbed_official 46:378357d7e90d 601
mbed_official 46:378357d7e90d 602 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 603 pbusy = RZA_IO_RegRead_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 604 USB_PIPEnCTR_A_F_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 605 USB_PIPEnCTR_A_F_PBUSY);
mbed_official 46:378357d7e90d 606 break;
mbed_official 46:378357d7e90d 607
mbed_official 46:378357d7e90d 608 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 609 pbusy = RZA_IO_RegRead_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 610 USB_PIPEnCTR_A_F_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 611 USB_PIPEnCTR_A_F_PBUSY);
mbed_official 46:378357d7e90d 612 break;
mbed_official 46:378357d7e90d 613
mbed_official 46:378357d7e90d 614 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 615 pbusy = RZA_IO_RegRead_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 616 USB_PIPEnCTR_A_F_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 617 USB_PIPEnCTR_A_F_PBUSY);
mbed_official 46:378357d7e90d 618 break;
mbed_official 46:378357d7e90d 619
mbed_official 46:378357d7e90d 620 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 621 pbusy = RZA_IO_RegRead_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 622 USB_PIPEnCTR_A_F_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 623 USB_PIPEnCTR_A_F_PBUSY);
mbed_official 46:378357d7e90d 624 break;
mbed_official 46:378357d7e90d 625
mbed_official 46:378357d7e90d 626 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 627 pbusy = RZA_IO_RegRead_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 628 USB_PIPEnCTR_A_F_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 629 USB_PIPEnCTR_A_F_PBUSY);
mbed_official 46:378357d7e90d 630 break;
mbed_official 46:378357d7e90d 631
mbed_official 46:378357d7e90d 632 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 633 pbusy = RZA_IO_RegRead_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 634 USB_PIPEnCTR_A_F_PBUSY_SHIFT,
mbed_official 46:378357d7e90d 635 USB_PIPEnCTR_A_F_PBUSY);
mbed_official 46:378357d7e90d 636 break;
mbed_official 46:378357d7e90d 637
mbed_official 46:378357d7e90d 638 default:
mbed_official 46:378357d7e90d 639 pbusy = 1;
mbed_official 46:378357d7e90d 640 break;
mbed_official 46:378357d7e90d 641 }
mbed_official 46:378357d7e90d 642
mbed_official 46:378357d7e90d 643 if (pbusy == 0)
mbed_official 46:378357d7e90d 644 {
mbed_official 46:378357d7e90d 645 break;
mbed_official 46:378357d7e90d 646 }
mbed_official 46:378357d7e90d 647 Userdef_USB_usb1_function_delay_500ns();
mbed_official 46:378357d7e90d 648 }
mbed_official 46:378357d7e90d 649 }
mbed_official 46:378357d7e90d 650 }
mbed_official 46:378357d7e90d 651
mbed_official 46:378357d7e90d 652 /*******************************************************************************
mbed_official 46:378357d7e90d 653 * Function Name: usb1_function_set_pid_stall
mbed_official 46:378357d7e90d 654 * Description : Disables communication (STALL) in the pipe specified by the
mbed_official 46:378357d7e90d 655 * : argument.
mbed_official 46:378357d7e90d 656 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 657 * Return Value : none
mbed_official 46:378357d7e90d 658 *******************************************************************************/
mbed_official 46:378357d7e90d 659 void usb1_function_set_pid_stall (uint16_t pipe)
mbed_official 46:378357d7e90d 660 {
mbed_official 46:378357d7e90d 661 uint16_t pid;
mbed_official 46:378357d7e90d 662
mbed_official 46:378357d7e90d 663 pid = usb1_function_get_pid(pipe);
mbed_official 46:378357d7e90d 664 if (pid == DEVDRV_USBF_PID_BUF)
mbed_official 46:378357d7e90d 665 {
mbed_official 46:378357d7e90d 666 switch (pipe)
mbed_official 46:378357d7e90d 667 {
mbed_official 46:378357d7e90d 668 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 669 RZA_IO_RegWrite_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 670 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 671 USB_DCPCTR_PID_SHIFT,
mbed_official 46:378357d7e90d 672 USB_DCPCTR_PID);
mbed_official 46:378357d7e90d 673 break;
mbed_official 46:378357d7e90d 674
mbed_official 46:378357d7e90d 675 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 676 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 677 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 678 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 679 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 680 break;
mbed_official 46:378357d7e90d 681
mbed_official 46:378357d7e90d 682 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 683 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 684 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 685 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 686 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 687 break;
mbed_official 46:378357d7e90d 688
mbed_official 46:378357d7e90d 689 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 690 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 691 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 692 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 693 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 694 break;
mbed_official 46:378357d7e90d 695
mbed_official 46:378357d7e90d 696 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 697 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 698 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 699 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 700 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 701 break;
mbed_official 46:378357d7e90d 702
mbed_official 46:378357d7e90d 703 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 704 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 705 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 706 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 707 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 708 break;
mbed_official 46:378357d7e90d 709
mbed_official 46:378357d7e90d 710 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 711 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 712 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 713 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 714 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 715 break;
mbed_official 46:378357d7e90d 716
mbed_official 46:378357d7e90d 717 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 718 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 719 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 720 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 721 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 722 break;
mbed_official 46:378357d7e90d 723
mbed_official 46:378357d7e90d 724 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 725 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 726 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 727 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 728 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 729 break;
mbed_official 46:378357d7e90d 730
mbed_official 46:378357d7e90d 731 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 732 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 733 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 734 USB_PIPEnCTR_9_PID_SHIFT,
mbed_official 46:378357d7e90d 735 USB_PIPEnCTR_9_PID);
mbed_official 46:378357d7e90d 736 break;
mbed_official 46:378357d7e90d 737
mbed_official 46:378357d7e90d 738 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 739 RZA_IO_RegWrite_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 740 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 741 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 742 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 743 break;
mbed_official 46:378357d7e90d 744
mbed_official 46:378357d7e90d 745 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 746 RZA_IO_RegWrite_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 747 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 748 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 749 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 750 break;
mbed_official 46:378357d7e90d 751
mbed_official 46:378357d7e90d 752 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 753 RZA_IO_RegWrite_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 754 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 755 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 756 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 757 break;
mbed_official 46:378357d7e90d 758
mbed_official 46:378357d7e90d 759 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 760 RZA_IO_RegWrite_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 761 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 762 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 763 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 764 break;
mbed_official 46:378357d7e90d 765
mbed_official 46:378357d7e90d 766 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 767 RZA_IO_RegWrite_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 768 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 769 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 770 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 771 break;
mbed_official 46:378357d7e90d 772
mbed_official 46:378357d7e90d 773 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 774 RZA_IO_RegWrite_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 775 DEVDRV_USBF_PID_STALL2,
mbed_official 46:378357d7e90d 776 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 777 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 778 break;
mbed_official 46:378357d7e90d 779
mbed_official 46:378357d7e90d 780 default:
mbed_official 46:378357d7e90d 781 break;
mbed_official 46:378357d7e90d 782 }
mbed_official 46:378357d7e90d 783 }
mbed_official 46:378357d7e90d 784 else
mbed_official 46:378357d7e90d 785 {
mbed_official 46:378357d7e90d 786 switch (pipe)
mbed_official 46:378357d7e90d 787 {
mbed_official 46:378357d7e90d 788 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 789 RZA_IO_RegWrite_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 790 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 791 USB_DCPCTR_PID_SHIFT,
mbed_official 46:378357d7e90d 792 USB_DCPCTR_PID);
mbed_official 46:378357d7e90d 793 break;
mbed_official 46:378357d7e90d 794
mbed_official 46:378357d7e90d 795 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 796 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 797 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 798 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 799 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 800 break;
mbed_official 46:378357d7e90d 801
mbed_official 46:378357d7e90d 802 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 803 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 804 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 805 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 806 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 807 break;
mbed_official 46:378357d7e90d 808
mbed_official 46:378357d7e90d 809 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 810 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 811 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 812 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 813 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 814 break;
mbed_official 46:378357d7e90d 815
mbed_official 46:378357d7e90d 816 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 817 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 818 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 819 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 820 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 821 break;
mbed_official 46:378357d7e90d 822
mbed_official 46:378357d7e90d 823 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 824 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 825 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 826 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 827 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 828 break;
mbed_official 46:378357d7e90d 829
mbed_official 46:378357d7e90d 830 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 831 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 832 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 833 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 834 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 835 break;
mbed_official 46:378357d7e90d 836
mbed_official 46:378357d7e90d 837 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 838 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 839 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 840 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 841 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 842 break;
mbed_official 46:378357d7e90d 843
mbed_official 46:378357d7e90d 844 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 845 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 846 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 847 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 848 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 849 break;
mbed_official 46:378357d7e90d 850
mbed_official 46:378357d7e90d 851 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 852 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 853 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 854 USB_PIPEnCTR_9_PID_SHIFT,
mbed_official 46:378357d7e90d 855 USB_PIPEnCTR_9_PID);
mbed_official 46:378357d7e90d 856 break;
mbed_official 46:378357d7e90d 857
mbed_official 46:378357d7e90d 858 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 859 RZA_IO_RegWrite_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 860 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 861 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 862 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 863 break;
mbed_official 46:378357d7e90d 864
mbed_official 46:378357d7e90d 865 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 866 RZA_IO_RegWrite_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 867 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 868 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 869 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 870 break;
mbed_official 46:378357d7e90d 871
mbed_official 46:378357d7e90d 872 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 873 RZA_IO_RegWrite_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 874 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 875 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 876 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 877 break;
mbed_official 46:378357d7e90d 878
mbed_official 46:378357d7e90d 879 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 880 RZA_IO_RegWrite_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 881 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 882 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 883 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 884 break;
mbed_official 46:378357d7e90d 885
mbed_official 46:378357d7e90d 886 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 887 RZA_IO_RegWrite_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 888 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 889 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 890 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 891 break;
mbed_official 46:378357d7e90d 892
mbed_official 46:378357d7e90d 893 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 894 RZA_IO_RegWrite_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 895 DEVDRV_USBF_PID_STALL,
mbed_official 46:378357d7e90d 896 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 897 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 898 break;
mbed_official 46:378357d7e90d 899
mbed_official 46:378357d7e90d 900 default:
mbed_official 46:378357d7e90d 901 break;
mbed_official 46:378357d7e90d 902 }
mbed_official 46:378357d7e90d 903 }
mbed_official 46:378357d7e90d 904 }
mbed_official 46:378357d7e90d 905
mbed_official 46:378357d7e90d 906 /*******************************************************************************
mbed_official 46:378357d7e90d 907 * Function Name: usb1_function_clear_pid_stall
mbed_official 46:378357d7e90d 908 * Description : Disables communication (NAK) in the pipe specified by the argument.
mbed_official 46:378357d7e90d 909 * Arguments : uint16_t pipe ; pipe Number
mbed_official 46:378357d7e90d 910 * Return Value : none
mbed_official 46:378357d7e90d 911 *******************************************************************************/
mbed_official 46:378357d7e90d 912 void usb1_function_clear_pid_stall (uint16_t pipe)
mbed_official 46:378357d7e90d 913 {
mbed_official 46:378357d7e90d 914 usb1_function_set_pid_nak(pipe);
mbed_official 46:378357d7e90d 915 }
mbed_official 46:378357d7e90d 916
mbed_official 46:378357d7e90d 917 /*******************************************************************************
mbed_official 46:378357d7e90d 918 * Function Name: usb1_function_get_pid
mbed_official 46:378357d7e90d 919 * Description : Returns the pipe state specified by the argument.
mbed_official 46:378357d7e90d 920 * Arguments : uint16_t pipe ; Pipe Number
mbed_official 46:378357d7e90d 921 * Return Value : PID
mbed_official 46:378357d7e90d 922 *******************************************************************************/
mbed_official 46:378357d7e90d 923 uint16_t usb1_function_get_pid (uint16_t pipe)
mbed_official 46:378357d7e90d 924 {
mbed_official 46:378357d7e90d 925 uint16_t pid;
mbed_official 46:378357d7e90d 926
mbed_official 46:378357d7e90d 927 switch (pipe)
mbed_official 46:378357d7e90d 928 {
mbed_official 46:378357d7e90d 929 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 930 pid = RZA_IO_RegRead_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 931 USB_DCPCTR_PID_SHIFT,
mbed_official 46:378357d7e90d 932 USB_DCPCTR_PID);
mbed_official 46:378357d7e90d 933 break;
mbed_official 46:378357d7e90d 934
mbed_official 46:378357d7e90d 935 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 936 pid = RZA_IO_RegRead_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 937 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 938 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 939 break;
mbed_official 46:378357d7e90d 940
mbed_official 46:378357d7e90d 941 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 942 pid = RZA_IO_RegRead_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 943 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 944 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 945 break;
mbed_official 46:378357d7e90d 946
mbed_official 46:378357d7e90d 947 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 948 pid = RZA_IO_RegRead_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 949 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 950 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 951 break;
mbed_official 46:378357d7e90d 952
mbed_official 46:378357d7e90d 953 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 954 pid = RZA_IO_RegRead_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 955 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 956 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 957 break;
mbed_official 46:378357d7e90d 958
mbed_official 46:378357d7e90d 959 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 960 pid = RZA_IO_RegRead_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 961 USB_PIPEnCTR_1_5_PID_SHIFT,
mbed_official 46:378357d7e90d 962 USB_PIPEnCTR_1_5_PID);
mbed_official 46:378357d7e90d 963 break;
mbed_official 46:378357d7e90d 964
mbed_official 46:378357d7e90d 965 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 966 pid = RZA_IO_RegRead_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 967 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 968 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 969 break;
mbed_official 46:378357d7e90d 970
mbed_official 46:378357d7e90d 971 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 972 pid = RZA_IO_RegRead_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 973 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 974 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 975 break;
mbed_official 46:378357d7e90d 976
mbed_official 46:378357d7e90d 977 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 978 pid = RZA_IO_RegRead_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 979 USB_PIPEnCTR_6_8_PID_SHIFT,
mbed_official 46:378357d7e90d 980 USB_PIPEnCTR_6_8_PID);
mbed_official 46:378357d7e90d 981 break;
mbed_official 46:378357d7e90d 982
mbed_official 46:378357d7e90d 983 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 984 pid = RZA_IO_RegRead_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 985 USB_PIPEnCTR_9_PID_SHIFT,
mbed_official 46:378357d7e90d 986 USB_PIPEnCTR_9_PID);
mbed_official 46:378357d7e90d 987 break;
mbed_official 46:378357d7e90d 988
mbed_official 46:378357d7e90d 989 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 990 pid = RZA_IO_RegRead_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 991 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 992 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 993 break;
mbed_official 46:378357d7e90d 994
mbed_official 46:378357d7e90d 995 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 996 pid = RZA_IO_RegRead_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 997 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 998 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 999 break;
mbed_official 46:378357d7e90d 1000
mbed_official 46:378357d7e90d 1001 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 1002 pid = RZA_IO_RegRead_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 1003 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 1004 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 1005 break;
mbed_official 46:378357d7e90d 1006
mbed_official 46:378357d7e90d 1007 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 1008 pid = RZA_IO_RegRead_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 1009 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 1010 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 1011 break;
mbed_official 46:378357d7e90d 1012
mbed_official 46:378357d7e90d 1013 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 1014 pid = RZA_IO_RegRead_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 1015 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 1016 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 1017 break;
mbed_official 46:378357d7e90d 1018
mbed_official 46:378357d7e90d 1019 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 1020 pid = RZA_IO_RegRead_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 1021 USB_PIPEnCTR_A_F_PID_SHIFT,
mbed_official 46:378357d7e90d 1022 USB_PIPEnCTR_A_F_PID);
mbed_official 46:378357d7e90d 1023 break;
mbed_official 46:378357d7e90d 1024
mbed_official 46:378357d7e90d 1025 default:
mbed_official 46:378357d7e90d 1026 pid = 0;
mbed_official 46:378357d7e90d 1027 break;
mbed_official 46:378357d7e90d 1028 }
mbed_official 46:378357d7e90d 1029
mbed_official 46:378357d7e90d 1030 return pid;
mbed_official 46:378357d7e90d 1031 }
mbed_official 46:378357d7e90d 1032
mbed_official 46:378357d7e90d 1033 /*******************************************************************************
mbed_official 46:378357d7e90d 1034 * Function Name: usb1_function_set_csclr
mbed_official 46:378357d7e90d 1035 * Description : CSPLIT status clear setting of sprit transaction in specified
mbed_official 46:378357d7e90d 1036 * : pipe is performed.
mbed_official 46:378357d7e90d 1037 * : When SQSET bit or SQCLR bit, and SQSET bit or SQCLR bit
mbed_official 46:378357d7e90d 1038 * : in DCPCTR register are continuously changed (when the sequence
mbed_official 46:378357d7e90d 1039 * : toggle bit of data PID is continuously changed over two or more pipes),
mbed_official 46:378357d7e90d 1040 * : the access cycle with 120 ns and more than 5 cycle bus clock is necessary.
mbed_official 46:378357d7e90d 1041 * : Do not set both SQCLR bit and SQSET bit to 1 at the same time.
mbed_official 46:378357d7e90d 1042 * : In addition, both bits should be operated after PID is set to NAK.
mbed_official 46:378357d7e90d 1043 * : However, when it is set to the isochronous transfer as the transfer type
mbed_official 46:378357d7e90d 1044 * : (TYPE=11), writing in SQSET bit is disabled.
mbed_official 46:378357d7e90d 1045 * Arguments : uint16_t pipe ; Pipe number
mbed_official 46:378357d7e90d 1046 * Return Value : none
mbed_official 46:378357d7e90d 1047 *******************************************************************************/
mbed_official 46:378357d7e90d 1048 void usb1_function_set_csclr (uint16_t pipe)
mbed_official 46:378357d7e90d 1049 {
mbed_official 46:378357d7e90d 1050 switch (pipe)
mbed_official 46:378357d7e90d 1051 {
mbed_official 46:378357d7e90d 1052 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 1053 RZA_IO_RegWrite_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 1054 1,
mbed_official 46:378357d7e90d 1055 USB_DCPCTR_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1056 USB_DCPCTR_CSCLR);
mbed_official 46:378357d7e90d 1057 break;
mbed_official 46:378357d7e90d 1058
mbed_official 46:378357d7e90d 1059 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 1060 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 1061 1,
mbed_official 46:378357d7e90d 1062 USB_PIPEnCTR_1_5_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1063 USB_PIPEnCTR_1_5_CSCLR);
mbed_official 46:378357d7e90d 1064 break;
mbed_official 46:378357d7e90d 1065
mbed_official 46:378357d7e90d 1066 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 1067 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 1068 1,
mbed_official 46:378357d7e90d 1069 USB_PIPEnCTR_1_5_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1070 USB_PIPEnCTR_1_5_CSCLR);
mbed_official 46:378357d7e90d 1071 break;
mbed_official 46:378357d7e90d 1072
mbed_official 46:378357d7e90d 1073 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 1074 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 1075 1,
mbed_official 46:378357d7e90d 1076 USB_PIPEnCTR_1_5_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1077 USB_PIPEnCTR_1_5_CSCLR);
mbed_official 46:378357d7e90d 1078 break;
mbed_official 46:378357d7e90d 1079
mbed_official 46:378357d7e90d 1080 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 1081 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 1082 1,
mbed_official 46:378357d7e90d 1083 USB_PIPEnCTR_1_5_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1084 USB_PIPEnCTR_1_5_CSCLR);
mbed_official 46:378357d7e90d 1085 break;
mbed_official 46:378357d7e90d 1086
mbed_official 46:378357d7e90d 1087 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 1088 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 1089 1,
mbed_official 46:378357d7e90d 1090 USB_PIPEnCTR_1_5_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1091 USB_PIPEnCTR_1_5_CSCLR);
mbed_official 46:378357d7e90d 1092 break;
mbed_official 46:378357d7e90d 1093
mbed_official 46:378357d7e90d 1094 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 1095 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 1096 1,
mbed_official 46:378357d7e90d 1097 USB_PIPEnCTR_6_8_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1098 USB_PIPEnCTR_6_8_CSCLR);
mbed_official 46:378357d7e90d 1099 break;
mbed_official 46:378357d7e90d 1100
mbed_official 46:378357d7e90d 1101 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 1102 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 1103 1,
mbed_official 46:378357d7e90d 1104 USB_PIPEnCTR_6_8_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1105 USB_PIPEnCTR_6_8_CSCLR);
mbed_official 46:378357d7e90d 1106 break;
mbed_official 46:378357d7e90d 1107
mbed_official 46:378357d7e90d 1108 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 1109 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 1110 1,
mbed_official 46:378357d7e90d 1111 USB_PIPEnCTR_6_8_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1112 USB_PIPEnCTR_6_8_CSCLR);
mbed_official 46:378357d7e90d 1113 break;
mbed_official 46:378357d7e90d 1114
mbed_official 46:378357d7e90d 1115 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 1116 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 1117 1,
mbed_official 46:378357d7e90d 1118 USB_PIPEnCTR_9_CSCLR_SHIFT,
mbed_official 46:378357d7e90d 1119 USB_PIPEnCTR_9_CSCLR);
mbed_official 46:378357d7e90d 1120 break;
mbed_official 46:378357d7e90d 1121
mbed_official 46:378357d7e90d 1122 default:
mbed_official 46:378357d7e90d 1123 /* PIPEA-F have not CSCLR */
mbed_official 46:378357d7e90d 1124 break;
mbed_official 46:378357d7e90d 1125 }
mbed_official 46:378357d7e90d 1126 }
mbed_official 46:378357d7e90d 1127
mbed_official 46:378357d7e90d 1128 /*******************************************************************************
mbed_official 46:378357d7e90d 1129 * Function Name: usb1_function_set_sqclr
mbed_official 46:378357d7e90d 1130 * Description : Sets the sequence bit of the pipe specified by the argument to
mbed_official 46:378357d7e90d 1131 * : DATA0.
mbed_official 46:378357d7e90d 1132 * Arguments : uint16_t pipe ; Pipe Number
mbed_official 46:378357d7e90d 1133 * Return Value : none
mbed_official 46:378357d7e90d 1134 *******************************************************************************/
mbed_official 46:378357d7e90d 1135 void usb1_function_set_sqclr (uint16_t pipe)
mbed_official 46:378357d7e90d 1136 {
mbed_official 46:378357d7e90d 1137 switch (pipe)
mbed_official 46:378357d7e90d 1138 {
mbed_official 46:378357d7e90d 1139 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 1140 RZA_IO_RegWrite_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 1141 1,
mbed_official 46:378357d7e90d 1142 USB_DCPCTR_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1143 USB_DCPCTR_SQCLR);
mbed_official 46:378357d7e90d 1144 break;
mbed_official 46:378357d7e90d 1145
mbed_official 46:378357d7e90d 1146 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 1147 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 1148 1,
mbed_official 46:378357d7e90d 1149 USB_PIPEnCTR_1_5_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1150 USB_PIPEnCTR_1_5_SQCLR);
mbed_official 46:378357d7e90d 1151 break;
mbed_official 46:378357d7e90d 1152
mbed_official 46:378357d7e90d 1153 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 1154 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 1155 1,
mbed_official 46:378357d7e90d 1156 USB_PIPEnCTR_1_5_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1157 USB_PIPEnCTR_1_5_SQCLR);
mbed_official 46:378357d7e90d 1158 break;
mbed_official 46:378357d7e90d 1159
mbed_official 46:378357d7e90d 1160 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 1161 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 1162 1,
mbed_official 46:378357d7e90d 1163 USB_PIPEnCTR_1_5_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1164 USB_PIPEnCTR_1_5_SQCLR);
mbed_official 46:378357d7e90d 1165 break;
mbed_official 46:378357d7e90d 1166
mbed_official 46:378357d7e90d 1167 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 1168 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 1169 1,
mbed_official 46:378357d7e90d 1170 USB_PIPEnCTR_1_5_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1171 USB_PIPEnCTR_1_5_SQCLR);
mbed_official 46:378357d7e90d 1172 break;
mbed_official 46:378357d7e90d 1173
mbed_official 46:378357d7e90d 1174 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 1175 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 1176 1,
mbed_official 46:378357d7e90d 1177 USB_PIPEnCTR_1_5_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1178 USB_PIPEnCTR_1_5_SQCLR);
mbed_official 46:378357d7e90d 1179 break;
mbed_official 46:378357d7e90d 1180
mbed_official 46:378357d7e90d 1181 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 1182 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 1183 1,
mbed_official 46:378357d7e90d 1184 USB_PIPEnCTR_6_8_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1185 USB_PIPEnCTR_6_8_SQCLR);
mbed_official 46:378357d7e90d 1186 break;
mbed_official 46:378357d7e90d 1187
mbed_official 46:378357d7e90d 1188 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 1189 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 1190 1,
mbed_official 46:378357d7e90d 1191 USB_PIPEnCTR_6_8_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1192 USB_PIPEnCTR_6_8_SQCLR);
mbed_official 46:378357d7e90d 1193 break;
mbed_official 46:378357d7e90d 1194
mbed_official 46:378357d7e90d 1195 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 1196 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 1197 1,
mbed_official 46:378357d7e90d 1198 USB_PIPEnCTR_6_8_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1199 USB_PIPEnCTR_6_8_SQCLR);
mbed_official 46:378357d7e90d 1200 break;
mbed_official 46:378357d7e90d 1201
mbed_official 46:378357d7e90d 1202 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 1203 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 1204 1,
mbed_official 46:378357d7e90d 1205 USB_PIPEnCTR_9_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1206 USB_PIPEnCTR_9_SQCLR);
mbed_official 46:378357d7e90d 1207 break;
mbed_official 46:378357d7e90d 1208
mbed_official 46:378357d7e90d 1209 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 1210 RZA_IO_RegWrite_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 1211 1,
mbed_official 46:378357d7e90d 1212 USB_PIPEnCTR_A_F_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1213 USB_PIPEnCTR_A_F_SQCLR);
mbed_official 46:378357d7e90d 1214 break;
mbed_official 46:378357d7e90d 1215
mbed_official 46:378357d7e90d 1216 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 1217 RZA_IO_RegWrite_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 1218 1,
mbed_official 46:378357d7e90d 1219 USB_PIPEnCTR_A_F_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1220 USB_PIPEnCTR_A_F_SQCLR);
mbed_official 46:378357d7e90d 1221 break;
mbed_official 46:378357d7e90d 1222
mbed_official 46:378357d7e90d 1223 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 1224 RZA_IO_RegWrite_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 1225 1,
mbed_official 46:378357d7e90d 1226 USB_PIPEnCTR_A_F_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1227 USB_PIPEnCTR_A_F_SQCLR);
mbed_official 46:378357d7e90d 1228 break;
mbed_official 46:378357d7e90d 1229
mbed_official 46:378357d7e90d 1230 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 1231 RZA_IO_RegWrite_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 1232 1,
mbed_official 46:378357d7e90d 1233 USB_PIPEnCTR_A_F_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1234 USB_PIPEnCTR_A_F_SQCLR);
mbed_official 46:378357d7e90d 1235 break;
mbed_official 46:378357d7e90d 1236
mbed_official 46:378357d7e90d 1237 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 1238 RZA_IO_RegWrite_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 1239 1,
mbed_official 46:378357d7e90d 1240 USB_PIPEnCTR_A_F_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1241 USB_PIPEnCTR_A_F_SQCLR);
mbed_official 46:378357d7e90d 1242 break;
mbed_official 46:378357d7e90d 1243
mbed_official 46:378357d7e90d 1244 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 1245 RZA_IO_RegWrite_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 1246 1,
mbed_official 46:378357d7e90d 1247 USB_PIPEnCTR_A_F_SQCLR_SHIFT,
mbed_official 46:378357d7e90d 1248 USB_PIPEnCTR_A_F_SQCLR);
mbed_official 46:378357d7e90d 1249 break;
mbed_official 46:378357d7e90d 1250
mbed_official 46:378357d7e90d 1251 default:
mbed_official 46:378357d7e90d 1252 break;
mbed_official 46:378357d7e90d 1253 }
mbed_official 46:378357d7e90d 1254 }
mbed_official 46:378357d7e90d 1255
mbed_official 46:378357d7e90d 1256 /*******************************************************************************
mbed_official 46:378357d7e90d 1257 * Function Name: usb1_function_set_sqset
mbed_official 46:378357d7e90d 1258 * Description : Sets the sequence bit of the pipe specified by the argument to
mbed_official 46:378357d7e90d 1259 * : DATA1.
mbed_official 46:378357d7e90d 1260 * Arguments : uint16_t pipe ; Pipe number
mbed_official 46:378357d7e90d 1261 * Return Value : none
mbed_official 46:378357d7e90d 1262 *******************************************************************************/
mbed_official 46:378357d7e90d 1263 void usb1_function_set_sqset (uint16_t pipe)
mbed_official 46:378357d7e90d 1264 {
mbed_official 46:378357d7e90d 1265 switch (pipe)
mbed_official 46:378357d7e90d 1266 {
mbed_official 46:378357d7e90d 1267 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 1268 RZA_IO_RegWrite_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 1269 1,
mbed_official 46:378357d7e90d 1270 USB_DCPCTR_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1271 USB_DCPCTR_SQSET);
mbed_official 46:378357d7e90d 1272 break;
mbed_official 46:378357d7e90d 1273
mbed_official 46:378357d7e90d 1274 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 1275 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 1276 1,
mbed_official 46:378357d7e90d 1277 USB_PIPEnCTR_1_5_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1278 USB_PIPEnCTR_1_5_SQSET);
mbed_official 46:378357d7e90d 1279 break;
mbed_official 46:378357d7e90d 1280
mbed_official 46:378357d7e90d 1281 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 1282 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 1283 1,
mbed_official 46:378357d7e90d 1284 USB_PIPEnCTR_1_5_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1285 USB_PIPEnCTR_1_5_SQSET);
mbed_official 46:378357d7e90d 1286 break;
mbed_official 46:378357d7e90d 1287
mbed_official 46:378357d7e90d 1288 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 1289 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 1290 1,
mbed_official 46:378357d7e90d 1291 USB_PIPEnCTR_1_5_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1292 USB_PIPEnCTR_1_5_SQSET);
mbed_official 46:378357d7e90d 1293 break;
mbed_official 46:378357d7e90d 1294
mbed_official 46:378357d7e90d 1295 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 1296 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 1297 1,
mbed_official 46:378357d7e90d 1298 USB_PIPEnCTR_1_5_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1299 USB_PIPEnCTR_1_5_SQSET);
mbed_official 46:378357d7e90d 1300 break;
mbed_official 46:378357d7e90d 1301
mbed_official 46:378357d7e90d 1302 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 1303 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 1304 1,
mbed_official 46:378357d7e90d 1305 USB_PIPEnCTR_1_5_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1306 USB_PIPEnCTR_1_5_SQSET);
mbed_official 46:378357d7e90d 1307 break;
mbed_official 46:378357d7e90d 1308
mbed_official 46:378357d7e90d 1309 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 1310 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 1311 1,
mbed_official 46:378357d7e90d 1312 USB_PIPEnCTR_6_8_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1313 USB_PIPEnCTR_6_8_SQSET);
mbed_official 46:378357d7e90d 1314 break;
mbed_official 46:378357d7e90d 1315
mbed_official 46:378357d7e90d 1316 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 1317 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 1318 1,
mbed_official 46:378357d7e90d 1319 USB_PIPEnCTR_6_8_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1320 USB_PIPEnCTR_6_8_SQSET);
mbed_official 46:378357d7e90d 1321 break;
mbed_official 46:378357d7e90d 1322
mbed_official 46:378357d7e90d 1323 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 1324 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 1325 1,
mbed_official 46:378357d7e90d 1326 USB_PIPEnCTR_6_8_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1327 USB_PIPEnCTR_6_8_SQSET);
mbed_official 46:378357d7e90d 1328 break;
mbed_official 46:378357d7e90d 1329
mbed_official 46:378357d7e90d 1330 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 1331 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 1332 1,
mbed_official 46:378357d7e90d 1333 USB_PIPEnCTR_9_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1334 USB_PIPEnCTR_9_SQSET);
mbed_official 46:378357d7e90d 1335 break;
mbed_official 46:378357d7e90d 1336
mbed_official 46:378357d7e90d 1337 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 1338 RZA_IO_RegWrite_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 1339 1,
mbed_official 46:378357d7e90d 1340 USB_PIPEnCTR_A_F_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1341 USB_PIPEnCTR_A_F_SQSET);
mbed_official 46:378357d7e90d 1342 break;
mbed_official 46:378357d7e90d 1343
mbed_official 46:378357d7e90d 1344 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 1345 RZA_IO_RegWrite_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 1346 1,
mbed_official 46:378357d7e90d 1347 USB_PIPEnCTR_A_F_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1348 USB_PIPEnCTR_A_F_SQSET);
mbed_official 46:378357d7e90d 1349 break;
mbed_official 46:378357d7e90d 1350
mbed_official 46:378357d7e90d 1351 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 1352 RZA_IO_RegWrite_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 1353 1,
mbed_official 46:378357d7e90d 1354 USB_PIPEnCTR_A_F_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1355 USB_PIPEnCTR_A_F_SQSET);
mbed_official 46:378357d7e90d 1356 break;
mbed_official 46:378357d7e90d 1357
mbed_official 46:378357d7e90d 1358 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 1359 RZA_IO_RegWrite_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 1360 1,
mbed_official 46:378357d7e90d 1361 USB_PIPEnCTR_A_F_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1362 USB_PIPEnCTR_A_F_SQSET);
mbed_official 46:378357d7e90d 1363 break;
mbed_official 46:378357d7e90d 1364
mbed_official 46:378357d7e90d 1365 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 1366 RZA_IO_RegWrite_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 1367 1,
mbed_official 46:378357d7e90d 1368 USB_PIPEnCTR_A_F_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1369 USB_PIPEnCTR_A_F_SQSET);
mbed_official 46:378357d7e90d 1370 break;
mbed_official 46:378357d7e90d 1371
mbed_official 46:378357d7e90d 1372 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 1373 RZA_IO_RegWrite_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 1374 1,
mbed_official 46:378357d7e90d 1375 USB_PIPEnCTR_A_F_SQSET_SHIFT,
mbed_official 46:378357d7e90d 1376 USB_PIPEnCTR_A_F_SQSET);
mbed_official 46:378357d7e90d 1377 break;
mbed_official 46:378357d7e90d 1378
mbed_official 46:378357d7e90d 1379 default:
mbed_official 46:378357d7e90d 1380 break;
mbed_official 46:378357d7e90d 1381 }
mbed_official 46:378357d7e90d 1382 }
mbed_official 46:378357d7e90d 1383
mbed_official 46:378357d7e90d 1384 /*******************************************************************************
mbed_official 46:378357d7e90d 1385 * Function Name: usb1_function_get_sqmon
mbed_official 46:378357d7e90d 1386 * Description : Toggle bit of specified pipe is obtained
mbed_official 46:378357d7e90d 1387 * Arguments : uint16_t pipe ; Pipe number
mbed_official 46:378357d7e90d 1388 * Return Value : sqmon
mbed_official 46:378357d7e90d 1389 *******************************************************************************/
mbed_official 46:378357d7e90d 1390 uint16_t usb1_function_get_sqmon (uint16_t pipe)
mbed_official 46:378357d7e90d 1391 {
mbed_official 46:378357d7e90d 1392 uint16_t sqmon;
mbed_official 46:378357d7e90d 1393
mbed_official 46:378357d7e90d 1394 switch (pipe)
mbed_official 46:378357d7e90d 1395 {
mbed_official 46:378357d7e90d 1396 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 1397 sqmon = RZA_IO_RegRead_16(&USB201.DCPCTR,
mbed_official 46:378357d7e90d 1398 USB_DCPCTR_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1399 USB_DCPCTR_SQMON);
mbed_official 46:378357d7e90d 1400 break;
mbed_official 46:378357d7e90d 1401
mbed_official 46:378357d7e90d 1402 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 1403 sqmon = RZA_IO_RegRead_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 1404 USB_PIPEnCTR_1_5_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1405 USB_PIPEnCTR_1_5_SQMON);
mbed_official 46:378357d7e90d 1406 break;
mbed_official 46:378357d7e90d 1407
mbed_official 46:378357d7e90d 1408 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 1409 sqmon = RZA_IO_RegRead_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 1410 USB_PIPEnCTR_1_5_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1411 USB_PIPEnCTR_1_5_SQMON);
mbed_official 46:378357d7e90d 1412 break;
mbed_official 46:378357d7e90d 1413
mbed_official 46:378357d7e90d 1414 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 1415 sqmon = RZA_IO_RegRead_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 1416 USB_PIPEnCTR_1_5_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1417 USB_PIPEnCTR_1_5_SQMON);
mbed_official 46:378357d7e90d 1418 break;
mbed_official 46:378357d7e90d 1419
mbed_official 46:378357d7e90d 1420 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 1421 sqmon = RZA_IO_RegRead_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 1422 USB_PIPEnCTR_1_5_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1423 USB_PIPEnCTR_1_5_SQMON);
mbed_official 46:378357d7e90d 1424 break;
mbed_official 46:378357d7e90d 1425
mbed_official 46:378357d7e90d 1426 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 1427 sqmon = RZA_IO_RegRead_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 1428 USB_PIPEnCTR_1_5_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1429 USB_PIPEnCTR_1_5_SQMON);
mbed_official 46:378357d7e90d 1430 break;
mbed_official 46:378357d7e90d 1431
mbed_official 46:378357d7e90d 1432 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 1433 sqmon = RZA_IO_RegRead_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 1434 USB_PIPEnCTR_6_8_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1435 USB_PIPEnCTR_6_8_SQMON);
mbed_official 46:378357d7e90d 1436 break;
mbed_official 46:378357d7e90d 1437
mbed_official 46:378357d7e90d 1438 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 1439 sqmon = RZA_IO_RegRead_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 1440 USB_PIPEnCTR_6_8_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1441 USB_PIPEnCTR_6_8_SQMON);
mbed_official 46:378357d7e90d 1442 break;
mbed_official 46:378357d7e90d 1443
mbed_official 46:378357d7e90d 1444 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 1445 sqmon = RZA_IO_RegRead_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 1446 USB_PIPEnCTR_6_8_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1447 USB_PIPEnCTR_6_8_SQMON);
mbed_official 46:378357d7e90d 1448 break;
mbed_official 46:378357d7e90d 1449
mbed_official 46:378357d7e90d 1450 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 1451 sqmon = RZA_IO_RegRead_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 1452 USB_PIPEnCTR_9_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1453 USB_PIPEnCTR_9_SQMON);
mbed_official 46:378357d7e90d 1454 break;
mbed_official 46:378357d7e90d 1455
mbed_official 46:378357d7e90d 1456 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 1457 sqmon = RZA_IO_RegRead_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 1458 USB_PIPEnCTR_A_F_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1459 USB_PIPEnCTR_A_F_SQMON);
mbed_official 46:378357d7e90d 1460 break;
mbed_official 46:378357d7e90d 1461
mbed_official 46:378357d7e90d 1462 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 1463 sqmon = RZA_IO_RegRead_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 1464 USB_PIPEnCTR_A_F_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1465 USB_PIPEnCTR_A_F_SQMON);
mbed_official 46:378357d7e90d 1466 break;
mbed_official 46:378357d7e90d 1467
mbed_official 46:378357d7e90d 1468 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 1469 sqmon = RZA_IO_RegRead_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 1470 USB_PIPEnCTR_A_F_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1471 USB_PIPEnCTR_A_F_SQMON);
mbed_official 46:378357d7e90d 1472 break;
mbed_official 46:378357d7e90d 1473
mbed_official 46:378357d7e90d 1474 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 1475 sqmon = RZA_IO_RegRead_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 1476 USB_PIPEnCTR_A_F_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1477 USB_PIPEnCTR_A_F_SQMON);
mbed_official 46:378357d7e90d 1478 break;
mbed_official 46:378357d7e90d 1479
mbed_official 46:378357d7e90d 1480 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 1481 sqmon = RZA_IO_RegRead_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 1482 USB_PIPEnCTR_A_F_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1483 USB_PIPEnCTR_A_F_SQMON);
mbed_official 46:378357d7e90d 1484 break;
mbed_official 46:378357d7e90d 1485
mbed_official 46:378357d7e90d 1486 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 1487 sqmon = RZA_IO_RegRead_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 1488 USB_PIPEnCTR_A_F_SQMON_SHIFT,
mbed_official 46:378357d7e90d 1489 USB_PIPEnCTR_A_F_SQMON);
mbed_official 46:378357d7e90d 1490 break;
mbed_official 46:378357d7e90d 1491
mbed_official 46:378357d7e90d 1492 default:
mbed_official 46:378357d7e90d 1493 sqmon = 0;
mbed_official 46:378357d7e90d 1494 break;
mbed_official 46:378357d7e90d 1495 }
mbed_official 46:378357d7e90d 1496
mbed_official 46:378357d7e90d 1497 return sqmon;
mbed_official 46:378357d7e90d 1498 }
mbed_official 46:378357d7e90d 1499
mbed_official 46:378357d7e90d 1500 /*******************************************************************************
mbed_official 46:378357d7e90d 1501 * Function Name: usb1_function_aclrm
mbed_official 46:378357d7e90d 1502 * Description : The buffer of specified pipe is initialized
mbed_official 46:378357d7e90d 1503 * Arguments : uint16_t pipe : Pipe
mbed_official 46:378357d7e90d 1504 * Return Value : none
mbed_official 46:378357d7e90d 1505 *******************************************************************************/
mbed_official 46:378357d7e90d 1506 void usb1_function_aclrm (uint16_t pipe)
mbed_official 46:378357d7e90d 1507 {
mbed_official 46:378357d7e90d 1508 usb1_function_set_aclrm(pipe);
mbed_official 46:378357d7e90d 1509 usb1_function_clr_aclrm(pipe);
mbed_official 46:378357d7e90d 1510 }
mbed_official 46:378357d7e90d 1511
mbed_official 46:378357d7e90d 1512 /*******************************************************************************
mbed_official 46:378357d7e90d 1513 * Function Name: usb1_function_set_aclrm
mbed_official 46:378357d7e90d 1514 * Description : The auto buffer clear mode of specified pipe is enabled
mbed_official 46:378357d7e90d 1515 * Arguments : uint16_t pipe : Pipe
mbed_official 46:378357d7e90d 1516 * Return Value : none
mbed_official 46:378357d7e90d 1517 *******************************************************************************/
mbed_official 46:378357d7e90d 1518 void usb1_function_set_aclrm (uint16_t pipe)
mbed_official 46:378357d7e90d 1519 {
mbed_official 46:378357d7e90d 1520 switch (pipe)
mbed_official 46:378357d7e90d 1521 {
mbed_official 46:378357d7e90d 1522 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 1523 break;
mbed_official 46:378357d7e90d 1524
mbed_official 46:378357d7e90d 1525 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 1526 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 1527 1,
mbed_official 46:378357d7e90d 1528 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1529 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1530 break;
mbed_official 46:378357d7e90d 1531
mbed_official 46:378357d7e90d 1532 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 1533 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 1534 1,
mbed_official 46:378357d7e90d 1535 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1536 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1537 break;
mbed_official 46:378357d7e90d 1538
mbed_official 46:378357d7e90d 1539 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 1540 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 1541 1,
mbed_official 46:378357d7e90d 1542 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1543 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1544 break;
mbed_official 46:378357d7e90d 1545
mbed_official 46:378357d7e90d 1546 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 1547 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 1548 1,
mbed_official 46:378357d7e90d 1549 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1550 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1551 break;
mbed_official 46:378357d7e90d 1552
mbed_official 46:378357d7e90d 1553 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 1554 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 1555 1,
mbed_official 46:378357d7e90d 1556 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1557 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1558 break;
mbed_official 46:378357d7e90d 1559
mbed_official 46:378357d7e90d 1560 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 1561 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 1562 1,
mbed_official 46:378357d7e90d 1563 USB_PIPEnCTR_6_8_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1564 USB_PIPEnCTR_6_8_ACLRM);
mbed_official 46:378357d7e90d 1565 break;
mbed_official 46:378357d7e90d 1566
mbed_official 46:378357d7e90d 1567 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 1568 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 1569 1,
mbed_official 46:378357d7e90d 1570 USB_PIPEnCTR_6_8_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1571 USB_PIPEnCTR_6_8_ACLRM);
mbed_official 46:378357d7e90d 1572 break;
mbed_official 46:378357d7e90d 1573
mbed_official 46:378357d7e90d 1574 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 1575 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 1576 1,
mbed_official 46:378357d7e90d 1577 USB_PIPEnCTR_6_8_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1578 USB_PIPEnCTR_6_8_ACLRM);
mbed_official 46:378357d7e90d 1579 break;
mbed_official 46:378357d7e90d 1580
mbed_official 46:378357d7e90d 1581 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 1582 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 1583 1,
mbed_official 46:378357d7e90d 1584 USB_PIPEnCTR_9_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1585 USB_PIPEnCTR_9_ACLRM);
mbed_official 46:378357d7e90d 1586 break;
mbed_official 46:378357d7e90d 1587
mbed_official 46:378357d7e90d 1588 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 1589 RZA_IO_RegWrite_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 1590 1,
mbed_official 46:378357d7e90d 1591 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1592 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1593 break;
mbed_official 46:378357d7e90d 1594
mbed_official 46:378357d7e90d 1595 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 1596 RZA_IO_RegWrite_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 1597 1,
mbed_official 46:378357d7e90d 1598 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1599 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1600 break;
mbed_official 46:378357d7e90d 1601
mbed_official 46:378357d7e90d 1602 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 1603 RZA_IO_RegWrite_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 1604 1,
mbed_official 46:378357d7e90d 1605 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1606 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1607 break;
mbed_official 46:378357d7e90d 1608
mbed_official 46:378357d7e90d 1609 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 1610 RZA_IO_RegWrite_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 1611 1,
mbed_official 46:378357d7e90d 1612 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1613 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1614 break;
mbed_official 46:378357d7e90d 1615
mbed_official 46:378357d7e90d 1616 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 1617 RZA_IO_RegWrite_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 1618 1,
mbed_official 46:378357d7e90d 1619 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1620 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1621 break;
mbed_official 46:378357d7e90d 1622
mbed_official 46:378357d7e90d 1623 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 1624 RZA_IO_RegWrite_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 1625 1,
mbed_official 46:378357d7e90d 1626 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1627 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1628 break;
mbed_official 46:378357d7e90d 1629
mbed_official 46:378357d7e90d 1630 default:
mbed_official 46:378357d7e90d 1631 break;
mbed_official 46:378357d7e90d 1632 }
mbed_official 46:378357d7e90d 1633 }
mbed_official 46:378357d7e90d 1634
mbed_official 46:378357d7e90d 1635 /*******************************************************************************
mbed_official 46:378357d7e90d 1636 * Function Name: usb1_function_clr_aclrm
mbed_official 46:378357d7e90d 1637 * Description : The auto buffer clear mode of specified pipe is enabled
mbed_official 46:378357d7e90d 1638 * Arguments : uint16_t pipe : Pipe
mbed_official 46:378357d7e90d 1639 * Return Value : none
mbed_official 46:378357d7e90d 1640 *******************************************************************************/
mbed_official 46:378357d7e90d 1641 void usb1_function_clr_aclrm (uint16_t pipe)
mbed_official 46:378357d7e90d 1642 {
mbed_official 46:378357d7e90d 1643 switch (pipe)
mbed_official 46:378357d7e90d 1644 {
mbed_official 46:378357d7e90d 1645 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 1646 break;
mbed_official 46:378357d7e90d 1647
mbed_official 46:378357d7e90d 1648 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 1649 RZA_IO_RegWrite_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 1650 0,
mbed_official 46:378357d7e90d 1651 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1652 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1653 break;
mbed_official 46:378357d7e90d 1654
mbed_official 46:378357d7e90d 1655 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 1656 RZA_IO_RegWrite_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 1657 0,
mbed_official 46:378357d7e90d 1658 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1659 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1660 break;
mbed_official 46:378357d7e90d 1661
mbed_official 46:378357d7e90d 1662 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 1663 RZA_IO_RegWrite_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 1664 0,
mbed_official 46:378357d7e90d 1665 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1666 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1667 break;
mbed_official 46:378357d7e90d 1668
mbed_official 46:378357d7e90d 1669 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 1670 RZA_IO_RegWrite_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 1671 0,
mbed_official 46:378357d7e90d 1672 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1673 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1674 break;
mbed_official 46:378357d7e90d 1675
mbed_official 46:378357d7e90d 1676 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 1677 RZA_IO_RegWrite_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 1678 0,
mbed_official 46:378357d7e90d 1679 USB_PIPEnCTR_1_5_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1680 USB_PIPEnCTR_1_5_ACLRM);
mbed_official 46:378357d7e90d 1681 break;
mbed_official 46:378357d7e90d 1682
mbed_official 46:378357d7e90d 1683 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 1684 RZA_IO_RegWrite_16(&USB201.PIPE6CTR,
mbed_official 46:378357d7e90d 1685 0,
mbed_official 46:378357d7e90d 1686 USB_PIPEnCTR_6_8_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1687 USB_PIPEnCTR_6_8_ACLRM);
mbed_official 46:378357d7e90d 1688 break;
mbed_official 46:378357d7e90d 1689
mbed_official 46:378357d7e90d 1690 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 1691 RZA_IO_RegWrite_16(&USB201.PIPE7CTR,
mbed_official 46:378357d7e90d 1692 0,
mbed_official 46:378357d7e90d 1693 USB_PIPEnCTR_6_8_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1694 USB_PIPEnCTR_6_8_ACLRM);
mbed_official 46:378357d7e90d 1695 break;
mbed_official 46:378357d7e90d 1696
mbed_official 46:378357d7e90d 1697 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 1698 RZA_IO_RegWrite_16(&USB201.PIPE8CTR,
mbed_official 46:378357d7e90d 1699 0,
mbed_official 46:378357d7e90d 1700 USB_PIPEnCTR_6_8_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1701 USB_PIPEnCTR_6_8_ACLRM);
mbed_official 46:378357d7e90d 1702 break;
mbed_official 46:378357d7e90d 1703
mbed_official 46:378357d7e90d 1704 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 1705 RZA_IO_RegWrite_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 1706 0,
mbed_official 46:378357d7e90d 1707 USB_PIPEnCTR_9_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1708 USB_PIPEnCTR_9_ACLRM);
mbed_official 46:378357d7e90d 1709 break;
mbed_official 46:378357d7e90d 1710
mbed_official 46:378357d7e90d 1711 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 1712 RZA_IO_RegWrite_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 1713 0,
mbed_official 46:378357d7e90d 1714 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1715 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1716 break;
mbed_official 46:378357d7e90d 1717
mbed_official 46:378357d7e90d 1718 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 1719 RZA_IO_RegWrite_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 1720 0,
mbed_official 46:378357d7e90d 1721 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1722 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1723 break;
mbed_official 46:378357d7e90d 1724
mbed_official 46:378357d7e90d 1725 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 1726 RZA_IO_RegWrite_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 1727 0,
mbed_official 46:378357d7e90d 1728 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1729 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1730 break;
mbed_official 46:378357d7e90d 1731
mbed_official 46:378357d7e90d 1732 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 1733 RZA_IO_RegWrite_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 1734 0,
mbed_official 46:378357d7e90d 1735 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1736 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1737 break;
mbed_official 46:378357d7e90d 1738
mbed_official 46:378357d7e90d 1739 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 1740 RZA_IO_RegWrite_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 1741 0,
mbed_official 46:378357d7e90d 1742 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1743 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1744 break;
mbed_official 46:378357d7e90d 1745
mbed_official 46:378357d7e90d 1746 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 1747 RZA_IO_RegWrite_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 1748 0,
mbed_official 46:378357d7e90d 1749 USB_PIPEnCTR_A_F_ACLRM_SHIFT,
mbed_official 46:378357d7e90d 1750 USB_PIPEnCTR_A_F_ACLRM);
mbed_official 46:378357d7e90d 1751 break;
mbed_official 46:378357d7e90d 1752
mbed_official 46:378357d7e90d 1753 default:
mbed_official 46:378357d7e90d 1754 break;
mbed_official 46:378357d7e90d 1755 }
mbed_official 46:378357d7e90d 1756 }
mbed_official 46:378357d7e90d 1757
mbed_official 46:378357d7e90d 1758 /*******************************************************************************
mbed_official 46:378357d7e90d 1759 * Function Name: usb1_function_get_inbuf
mbed_official 46:378357d7e90d 1760 * Description : Returns INBUFM of the pipe specified by the argument.
mbed_official 46:378357d7e90d 1761 * Arguments : uint16_t pipe ; Pipe Number
mbed_official 46:378357d7e90d 1762 * Return Value : inbuf
mbed_official 46:378357d7e90d 1763 *******************************************************************************/
mbed_official 46:378357d7e90d 1764 uint16_t usb1_function_get_inbuf (uint16_t pipe)
mbed_official 46:378357d7e90d 1765 {
mbed_official 46:378357d7e90d 1766 uint16_t inbuf;
mbed_official 46:378357d7e90d 1767
mbed_official 46:378357d7e90d 1768 switch (pipe)
mbed_official 46:378357d7e90d 1769 {
mbed_official 46:378357d7e90d 1770 case USB_FUNCTION_PIPE0:
mbed_official 46:378357d7e90d 1771 inbuf = 0;
mbed_official 46:378357d7e90d 1772 break;
mbed_official 46:378357d7e90d 1773
mbed_official 46:378357d7e90d 1774 case USB_FUNCTION_PIPE1:
mbed_official 46:378357d7e90d 1775 inbuf = RZA_IO_RegRead_16(&USB201.PIPE1CTR,
mbed_official 46:378357d7e90d 1776 USB_PIPEnCTR_1_5_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1777 USB_PIPEnCTR_1_5_INBUFM);
mbed_official 46:378357d7e90d 1778 break;
mbed_official 46:378357d7e90d 1779
mbed_official 46:378357d7e90d 1780 case USB_FUNCTION_PIPE2:
mbed_official 46:378357d7e90d 1781 inbuf = RZA_IO_RegRead_16(&USB201.PIPE2CTR,
mbed_official 46:378357d7e90d 1782 USB_PIPEnCTR_1_5_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1783 USB_PIPEnCTR_1_5_INBUFM);
mbed_official 46:378357d7e90d 1784 break;
mbed_official 46:378357d7e90d 1785
mbed_official 46:378357d7e90d 1786 case USB_FUNCTION_PIPE3:
mbed_official 46:378357d7e90d 1787 inbuf = RZA_IO_RegRead_16(&USB201.PIPE3CTR,
mbed_official 46:378357d7e90d 1788 USB_PIPEnCTR_1_5_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1789 USB_PIPEnCTR_1_5_INBUFM);
mbed_official 46:378357d7e90d 1790 break;
mbed_official 46:378357d7e90d 1791
mbed_official 46:378357d7e90d 1792 case USB_FUNCTION_PIPE4:
mbed_official 46:378357d7e90d 1793 inbuf = RZA_IO_RegRead_16(&USB201.PIPE4CTR,
mbed_official 46:378357d7e90d 1794 USB_PIPEnCTR_1_5_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1795 USB_PIPEnCTR_1_5_INBUFM);
mbed_official 46:378357d7e90d 1796 break;
mbed_official 46:378357d7e90d 1797
mbed_official 46:378357d7e90d 1798 case USB_FUNCTION_PIPE5:
mbed_official 46:378357d7e90d 1799 inbuf = RZA_IO_RegRead_16(&USB201.PIPE5CTR,
mbed_official 46:378357d7e90d 1800 USB_PIPEnCTR_1_5_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1801 USB_PIPEnCTR_1_5_INBUFM);
mbed_official 46:378357d7e90d 1802 break;
mbed_official 46:378357d7e90d 1803
mbed_official 46:378357d7e90d 1804 case USB_FUNCTION_PIPE6:
mbed_official 46:378357d7e90d 1805 inbuf = 0;
mbed_official 46:378357d7e90d 1806 break;
mbed_official 46:378357d7e90d 1807
mbed_official 46:378357d7e90d 1808 case USB_FUNCTION_PIPE7:
mbed_official 46:378357d7e90d 1809 inbuf = 0;
mbed_official 46:378357d7e90d 1810 break;
mbed_official 46:378357d7e90d 1811
mbed_official 46:378357d7e90d 1812 case USB_FUNCTION_PIPE8:
mbed_official 46:378357d7e90d 1813 inbuf = 0;
mbed_official 46:378357d7e90d 1814 break;
mbed_official 46:378357d7e90d 1815
mbed_official 46:378357d7e90d 1816 case USB_FUNCTION_PIPE9:
mbed_official 46:378357d7e90d 1817 inbuf = RZA_IO_RegRead_16(&USB201.PIPE9CTR,
mbed_official 46:378357d7e90d 1818 USB_PIPEnCTR_9_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1819 USB_PIPEnCTR_9_INBUFM);
mbed_official 46:378357d7e90d 1820 break;
mbed_official 46:378357d7e90d 1821
mbed_official 46:378357d7e90d 1822 case USB_FUNCTION_PIPEA:
mbed_official 46:378357d7e90d 1823 inbuf = RZA_IO_RegRead_16(&USB201.PIPEACTR,
mbed_official 46:378357d7e90d 1824 USB_PIPEnCTR_A_F_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1825 USB_PIPEnCTR_A_F_INBUFM);
mbed_official 46:378357d7e90d 1826 break;
mbed_official 46:378357d7e90d 1827
mbed_official 46:378357d7e90d 1828 case USB_FUNCTION_PIPEB:
mbed_official 46:378357d7e90d 1829 inbuf = RZA_IO_RegRead_16(&USB201.PIPEBCTR,
mbed_official 46:378357d7e90d 1830 USB_PIPEnCTR_A_F_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1831 USB_PIPEnCTR_A_F_INBUFM);
mbed_official 46:378357d7e90d 1832 break;
mbed_official 46:378357d7e90d 1833
mbed_official 46:378357d7e90d 1834 case USB_FUNCTION_PIPEC:
mbed_official 46:378357d7e90d 1835 inbuf = RZA_IO_RegRead_16(&USB201.PIPECCTR,
mbed_official 46:378357d7e90d 1836 USB_PIPEnCTR_A_F_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1837 USB_PIPEnCTR_A_F_INBUFM);
mbed_official 46:378357d7e90d 1838 break;
mbed_official 46:378357d7e90d 1839
mbed_official 46:378357d7e90d 1840 case USB_FUNCTION_PIPED:
mbed_official 46:378357d7e90d 1841 inbuf = RZA_IO_RegRead_16(&USB201.PIPEDCTR,
mbed_official 46:378357d7e90d 1842 USB_PIPEnCTR_A_F_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1843 USB_PIPEnCTR_A_F_INBUFM);
mbed_official 46:378357d7e90d 1844 break;
mbed_official 46:378357d7e90d 1845
mbed_official 46:378357d7e90d 1846 case USB_FUNCTION_PIPEE:
mbed_official 46:378357d7e90d 1847 inbuf = RZA_IO_RegRead_16(&USB201.PIPEECTR,
mbed_official 46:378357d7e90d 1848 USB_PIPEnCTR_A_F_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1849 USB_PIPEnCTR_A_F_INBUFM);
mbed_official 46:378357d7e90d 1850 break;
mbed_official 46:378357d7e90d 1851
mbed_official 46:378357d7e90d 1852 case USB_FUNCTION_PIPEF:
mbed_official 46:378357d7e90d 1853 inbuf = RZA_IO_RegRead_16(&USB201.PIPEFCTR,
mbed_official 46:378357d7e90d 1854 USB_PIPEnCTR_A_F_INBUFM_SHIFT,
mbed_official 46:378357d7e90d 1855 USB_PIPEnCTR_A_F_INBUFM);
mbed_official 46:378357d7e90d 1856 break;
mbed_official 46:378357d7e90d 1857
mbed_official 46:378357d7e90d 1858 default:
mbed_official 46:378357d7e90d 1859 inbuf = 0;
mbed_official 46:378357d7e90d 1860 break;
mbed_official 46:378357d7e90d 1861 }
mbed_official 46:378357d7e90d 1862
mbed_official 46:378357d7e90d 1863 return inbuf;
mbed_official 46:378357d7e90d 1864 }
mbed_official 46:378357d7e90d 1865
mbed_official 46:378357d7e90d 1866 /*******************************************************************************
mbed_official 46:378357d7e90d 1867 * Function Name: usb1_function_setting_interrupt
mbed_official 46:378357d7e90d 1868 * Description : Sets the USB module interrupt level.
mbed_official 46:378357d7e90d 1869 * Arguments : uint8_t level
mbed_official 46:378357d7e90d 1870 * Return Value : none
mbed_official 46:378357d7e90d 1871 *******************************************************************************/
mbed_official 46:378357d7e90d 1872 #if 0
mbed_official 46:378357d7e90d 1873 void usb1_function_setting_interrupt (uint8_t level)
mbed_official 46:378357d7e90d 1874 {
mbed_official 46:378357d7e90d 1875 uint16_t d0fifo_dmaintid;
mbed_official 46:378357d7e90d 1876 uint16_t d1fifo_dmaintid;
mbed_official 46:378357d7e90d 1877
mbed_official 46:378357d7e90d 1878 R_INTC_RegistIntFunc(INTC_ID_USBI1, usb1_function_interrupt);
mbed_official 46:378357d7e90d 1879 R_INTC_SetPriority(INTC_ID_USBI1, level);
mbed_official 46:378357d7e90d 1880 R_INTC_Enable(INTC_ID_USBI1);
mbed_official 46:378357d7e90d 1881
mbed_official 46:378357d7e90d 1882 d0fifo_dmaintid = Userdef_USB_usb1_function_d0fifo_dmaintid();
mbed_official 46:378357d7e90d 1883
mbed_official 46:378357d7e90d 1884 if (d0fifo_dmaintid != 0xFFFF)
mbed_official 46:378357d7e90d 1885 {
mbed_official 46:378357d7e90d 1886 R_INTC_RegistIntFunc(d0fifo_dmaintid, usb1_function_dma_interrupt_d0fifo);
mbed_official 46:378357d7e90d 1887 R_INTC_SetPriority(d0fifo_dmaintid, level);
mbed_official 46:378357d7e90d 1888 R_INTC_Enable(d0fifo_dmaintid);
mbed_official 46:378357d7e90d 1889 }
mbed_official 46:378357d7e90d 1890
mbed_official 46:378357d7e90d 1891 d1fifo_dmaintid = Userdef_USB_usb1_function_d1fifo_dmaintid();
mbed_official 46:378357d7e90d 1892
mbed_official 46:378357d7e90d 1893 if (d1fifo_dmaintid != 0xFFFF)
mbed_official 46:378357d7e90d 1894 {
mbed_official 46:378357d7e90d 1895 R_INTC_RegistIntFunc(d1fifo_dmaintid, usb1_function_dma_interrupt_d1fifo);
mbed_official 46:378357d7e90d 1896 R_INTC_SetPriority(d1fifo_dmaintid, level);
mbed_official 46:378357d7e90d 1897 R_INTC_Enable(d1fifo_dmaintid);
mbed_official 46:378357d7e90d 1898 }
mbed_official 46:378357d7e90d 1899 }
mbed_official 46:378357d7e90d 1900 #endif
mbed_official 46:378357d7e90d 1901
mbed_official 46:378357d7e90d 1902 /*******************************************************************************
mbed_official 46:378357d7e90d 1903 * Function Name: usb1_function_reset_module
mbed_official 46:378357d7e90d 1904 * Description : Initializes the USB module.
mbed_official 46:378357d7e90d 1905 * : Enables providing clock to the USB module.
mbed_official 46:378357d7e90d 1906 * : Sets USB bus wait register.
mbed_official 46:378357d7e90d 1907 * Arguments : uint16_t clockmode ; 48MHz ; USBFCLOCK_X1_48MHZ
mbed_official 46:378357d7e90d 1908 * : ; 12MHz ; USBFCLOCK_EXTAL_12MHZ
mbed_official 46:378357d7e90d 1909 * Return Value : none
mbed_official 46:378357d7e90d 1910 *******************************************************************************/
mbed_official 46:378357d7e90d 1911 void usb1_function_reset_module (uint16_t clockmode)
mbed_official 46:378357d7e90d 1912 {
mbed_official 46:378357d7e90d 1913 /* UPLLE bit is only USB0 */
mbed_official 46:378357d7e90d 1914 if (RZA_IO_RegRead_16(&USB200.SYSCFG0,
mbed_official 46:378357d7e90d 1915 USB_SYSCFG_UPLLE_SHIFT,
mbed_official 46:378357d7e90d 1916 USB_SYSCFG_UPLLE) == 1)
mbed_official 46:378357d7e90d 1917 {
mbed_official 46:378357d7e90d 1918 if ((USB200.SYSCFG0 & USB_FUNCTION_BITUCKSEL) != clockmode)
mbed_official 46:378357d7e90d 1919 {
mbed_official 46:378357d7e90d 1920 RZA_IO_RegWrite_16(&USB201.SUSPMODE,
mbed_official 46:378357d7e90d 1921 0,
mbed_official 46:378357d7e90d 1922 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1923 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1924 RZA_IO_RegWrite_16(&USB200.SUSPMODE,
mbed_official 46:378357d7e90d 1925 0,
mbed_official 46:378357d7e90d 1926 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1927 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1928 USB201.SYSCFG0 = 0;
mbed_official 46:378357d7e90d 1929 USB200.SYSCFG0 = 0;
mbed_official 46:378357d7e90d 1930 USB200.SYSCFG0 = (USB_FUNCTION_BITUPLLE | clockmode);
mbed_official 46:378357d7e90d 1931 Userdef_USB_usb1_function_delay_xms(1);
mbed_official 46:378357d7e90d 1932 RZA_IO_RegWrite_16(&USB200.SUSPMODE,
mbed_official 46:378357d7e90d 1933 1,
mbed_official 46:378357d7e90d 1934 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1935 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1936 RZA_IO_RegWrite_16(&USB201.SUSPMODE,
mbed_official 46:378357d7e90d 1937 1,
mbed_official 46:378357d7e90d 1938 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1939 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1940 }
mbed_official 46:378357d7e90d 1941 else
mbed_official 46:378357d7e90d 1942 {
mbed_official 46:378357d7e90d 1943 RZA_IO_RegWrite_16(&USB201.SUSPMODE,
mbed_official 46:378357d7e90d 1944 0,
mbed_official 46:378357d7e90d 1945 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1946 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1947 Userdef_USB_usb1_function_delay_xms(1);
mbed_official 46:378357d7e90d 1948 RZA_IO_RegWrite_16(&USB201.SUSPMODE,
mbed_official 46:378357d7e90d 1949 1,
mbed_official 46:378357d7e90d 1950 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1951 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1952 }
mbed_official 46:378357d7e90d 1953 }
mbed_official 46:378357d7e90d 1954 else
mbed_official 46:378357d7e90d 1955 {
mbed_official 46:378357d7e90d 1956 RZA_IO_RegWrite_16(&USB201.SUSPMODE,
mbed_official 46:378357d7e90d 1957 0,
mbed_official 46:378357d7e90d 1958 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1959 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1960 RZA_IO_RegWrite_16(&USB200.SUSPMODE,
mbed_official 46:378357d7e90d 1961 0,
mbed_official 46:378357d7e90d 1962 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1963 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1964 USB201.SYSCFG0 = 0;
mbed_official 46:378357d7e90d 1965 USB200.SYSCFG0 = 0;
mbed_official 46:378357d7e90d 1966 USB200.SYSCFG0 = (USB_FUNCTION_BITUPLLE | clockmode);
mbed_official 46:378357d7e90d 1967 Userdef_USB_usb1_function_delay_xms(1);
mbed_official 46:378357d7e90d 1968 RZA_IO_RegWrite_16(&USB200.SUSPMODE,
mbed_official 46:378357d7e90d 1969 1,
mbed_official 46:378357d7e90d 1970 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1971 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1972 RZA_IO_RegWrite_16(&USB201.SUSPMODE,
mbed_official 46:378357d7e90d 1973 1,
mbed_official 46:378357d7e90d 1974 USB_SUSPMODE_SUSPM_SHIFT,
mbed_official 46:378357d7e90d 1975 USB_SUSPMODE_SUSPM);
mbed_official 46:378357d7e90d 1976 }
mbed_official 46:378357d7e90d 1977
mbed_official 46:378357d7e90d 1978 USB201.BUSWAIT = (uint16_t)(USB_FUNCTION_BUSWAIT_05 & USB_FUNCTION_BITBWAIT);
mbed_official 46:378357d7e90d 1979 }
mbed_official 46:378357d7e90d 1980
mbed_official 46:378357d7e90d 1981 /*******************************************************************************
mbed_official 46:378357d7e90d 1982 * Function Name: usb1_function_get_buf_size
mbed_official 46:378357d7e90d 1983 * Description : Obtains pipe buffer size specified by the argument and
mbed_official 46:378357d7e90d 1984 * : maximum packet size of the USB device in use.
mbed_official 46:378357d7e90d 1985 * : When USB_FUNCTION_PIPE0 is specified by the argument, obtains the maximum
mbed_official 46:378357d7e90d 1986 * : packet size of the USB device using the corresponding pipe.
mbed_official 46:378357d7e90d 1987 * : For the case that USB_FUNCTION_PIPE0 is not assigned by the argument, when the
mbed_official 46:378357d7e90d 1988 * : corresponding pipe is in continuous transfer mode,
mbed_official 46:378357d7e90d 1989 * : obtains the buffer size allocated in the corresponcing pipe,
mbed_official 46:378357d7e90d 1990 * : when incontinuous transfer, obtains maximum packet size.
mbed_official 46:378357d7e90d 1991 * Arguments : uint16_t pipe ; Pipe Number
mbed_official 46:378357d7e90d 1992 * Return Value : Maximum packet size or buffer size
mbed_official 46:378357d7e90d 1993 *******************************************************************************/
mbed_official 46:378357d7e90d 1994 uint16_t usb1_function_get_buf_size (uint16_t pipe)
mbed_official 46:378357d7e90d 1995 {
mbed_official 46:378357d7e90d 1996 uint16_t size;
mbed_official 46:378357d7e90d 1997 uint16_t bufsize;
mbed_official 46:378357d7e90d 1998
mbed_official 46:378357d7e90d 1999 if (pipe == USB_FUNCTION_PIPE0)
mbed_official 46:378357d7e90d 2000 {
mbed_official 46:378357d7e90d 2001 size = RZA_IO_RegRead_16(&USB201.DCPMAXP,
mbed_official 46:378357d7e90d 2002 USB_DCPMAXP_MXPS_SHIFT,
mbed_official 46:378357d7e90d 2003 USB_DCPMAXP_MXPS);
mbed_official 46:378357d7e90d 2004 }
mbed_official 46:378357d7e90d 2005 else
mbed_official 46:378357d7e90d 2006 {
mbed_official 46:378357d7e90d 2007 if (RZA_IO_RegRead_16(&g_usb1_function_pipecfg[pipe], USB_PIPECFG_CNTMD_SHIFT, USB_PIPECFG_CNTMD) == 1)
mbed_official 46:378357d7e90d 2008 {
mbed_official 46:378357d7e90d 2009 bufsize = RZA_IO_RegRead_16(&g_usb1_function_pipebuf[pipe], USB_PIPEBUF_BUFSIZE_SHIFT, USB_PIPEBUF_BUFSIZE);
mbed_official 46:378357d7e90d 2010 size = (uint16_t)((bufsize + 1) * USB_FUNCTION_PIPExBUF);
mbed_official 46:378357d7e90d 2011 }
mbed_official 46:378357d7e90d 2012 else
mbed_official 46:378357d7e90d 2013 {
mbed_official 46:378357d7e90d 2014 size = RZA_IO_RegRead_16(&g_usb1_function_pipemaxp[pipe], USB_PIPEMAXP_MXPS_SHIFT, USB_PIPEMAXP_MXPS);
mbed_official 46:378357d7e90d 2015 }
mbed_official 46:378357d7e90d 2016 }
mbed_official 46:378357d7e90d 2017 return size;
mbed_official 46:378357d7e90d 2018 }
mbed_official 46:378357d7e90d 2019
mbed_official 46:378357d7e90d 2020 /*******************************************************************************
mbed_official 46:378357d7e90d 2021 * Function Name: usb1_function_get_mxps
mbed_official 46:378357d7e90d 2022 * Description : Obtains maximum packet size of the USB device using the pipe
mbed_official 46:378357d7e90d 2023 * : specified by the argument.
mbed_official 46:378357d7e90d 2024 * Arguments : uint16_t pipe ; Pipe Number
mbed_official 46:378357d7e90d 2025 * Return Value : Max Packet Size
mbed_official 46:378357d7e90d 2026 *******************************************************************************/
mbed_official 46:378357d7e90d 2027 uint16_t usb1_function_get_mxps (uint16_t pipe)
mbed_official 46:378357d7e90d 2028 {
mbed_official 46:378357d7e90d 2029 uint16_t size;
mbed_official 46:378357d7e90d 2030
mbed_official 46:378357d7e90d 2031 if (pipe == USB_FUNCTION_PIPE0)
mbed_official 46:378357d7e90d 2032 {
mbed_official 46:378357d7e90d 2033 size = RZA_IO_RegRead_16(&USB201.DCPMAXP,
mbed_official 46:378357d7e90d 2034 USB_DCPMAXP_MXPS_SHIFT,
mbed_official 46:378357d7e90d 2035 USB_DCPMAXP_MXPS);
mbed_official 46:378357d7e90d 2036 }
mbed_official 46:378357d7e90d 2037 else
mbed_official 46:378357d7e90d 2038 {
mbed_official 46:378357d7e90d 2039 size = RZA_IO_RegRead_16(&g_usb1_function_pipemaxp[pipe], USB_PIPEMAXP_MXPS_SHIFT, USB_PIPEMAXP_MXPS);
mbed_official 46:378357d7e90d 2040 }
mbed_official 46:378357d7e90d 2041 return size;
mbed_official 46:378357d7e90d 2042 }
mbed_official 46:378357d7e90d 2043
mbed_official 46:378357d7e90d 2044 /* End of File */