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