USB device stack

Dependents:   mbed-mX-USB-TEST1 USBMSD_SD_HID_HelloWorld HidTest MIDI_usb_bridge ... more

Legacy Warning

This is an mbed 2 library. To learn more about mbed OS 5, visit the docs.

Pull requests against this repository are no longer supported. Please raise against mbed OS 5 as documented above.

Committer:
Kojto
Date:
Thu Jul 27 12:14:04 2017 +0100
Revision:
71:53949e6131f6
Update libraries

Fixes the previous commmit, as some devices were not copied. USBDevice contains
now targets directory with all targets implementations

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 71:53949e6131f6 1 /*******************************************************************************
Kojto 71:53949e6131f6 2 * DISCLAIMER
Kojto 71:53949e6131f6 3 * This software is supplied by Renesas Electronics Corporation and is only
Kojto 71:53949e6131f6 4 * intended for use with Renesas products. No other uses are authorized. This
Kojto 71:53949e6131f6 5 * software is owned by Renesas Electronics Corporation and is protected under
Kojto 71:53949e6131f6 6 * all applicable laws, including copyright laws.
Kojto 71:53949e6131f6 7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
Kojto 71:53949e6131f6 8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
Kojto 71:53949e6131f6 9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
Kojto 71:53949e6131f6 10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
Kojto 71:53949e6131f6 11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
Kojto 71:53949e6131f6 12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
Kojto 71:53949e6131f6 13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
Kojto 71:53949e6131f6 14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
Kojto 71:53949e6131f6 15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Kojto 71:53949e6131f6 16 * Renesas reserves the right, without notice, to make changes to this software
Kojto 71:53949e6131f6 17 * and to discontinue the availability of this software. By using this software,
Kojto 71:53949e6131f6 18 * you agree to the additional terms and conditions found by accessing the
Kojto 71:53949e6131f6 19 * following link:
Kojto 71:53949e6131f6 20 * http://www.renesas.com/disclaimer
Kojto 71:53949e6131f6 21 * Copyright (C) 2012 - 2014 Renesas Electronics Corporation. All rights reserved.
Kojto 71:53949e6131f6 22 *******************************************************************************/
Kojto 71:53949e6131f6 23 /*******************************************************************************
Kojto 71:53949e6131f6 24 * File Name : usb1_function_sig.c
Kojto 71:53949e6131f6 25 * $Rev: 1116 $
Kojto 71:53949e6131f6 26 * $Date:: 2014-07-09 16:29:19 +0900#$
Kojto 71:53949e6131f6 27 * Device(s) : RZ/A1H
Kojto 71:53949e6131f6 28 * Tool-Chain :
Kojto 71:53949e6131f6 29 * OS : None
Kojto 71:53949e6131f6 30 * H/W Platform :
Kojto 71:53949e6131f6 31 * Description : RZ/A1H R7S72100 USB Sample Program
Kojto 71:53949e6131f6 32 * Operation :
Kojto 71:53949e6131f6 33 * Limitations :
Kojto 71:53949e6131f6 34 *******************************************************************************/
Kojto 71:53949e6131f6 35
Kojto 71:53949e6131f6 36
Kojto 71:53949e6131f6 37 /*******************************************************************************
Kojto 71:53949e6131f6 38 Includes <System Includes> , "Project Includes"
Kojto 71:53949e6131f6 39 *******************************************************************************/
Kojto 71:53949e6131f6 40 #include "usb1_function.h"
Kojto 71:53949e6131f6 41
Kojto 71:53949e6131f6 42
Kojto 71:53949e6131f6 43 /*******************************************************************************
Kojto 71:53949e6131f6 44 Typedef definitions
Kojto 71:53949e6131f6 45 *******************************************************************************/
Kojto 71:53949e6131f6 46
Kojto 71:53949e6131f6 47
Kojto 71:53949e6131f6 48 /*******************************************************************************
Kojto 71:53949e6131f6 49 Macro definitions
Kojto 71:53949e6131f6 50 *******************************************************************************/
Kojto 71:53949e6131f6 51
Kojto 71:53949e6131f6 52
Kojto 71:53949e6131f6 53 /*******************************************************************************
Kojto 71:53949e6131f6 54 Imported global variables and functions (from other files)
Kojto 71:53949e6131f6 55 *******************************************************************************/
Kojto 71:53949e6131f6 56
Kojto 71:53949e6131f6 57
Kojto 71:53949e6131f6 58 /*******************************************************************************
Kojto 71:53949e6131f6 59 Exported global variables and functions (to be accessed by other files)
Kojto 71:53949e6131f6 60 *******************************************************************************/
Kojto 71:53949e6131f6 61 static void usb1_function_EnableINTModule(void);
Kojto 71:53949e6131f6 62
Kojto 71:53949e6131f6 63
Kojto 71:53949e6131f6 64 /*******************************************************************************
Kojto 71:53949e6131f6 65 Private global variables and functions
Kojto 71:53949e6131f6 66 *******************************************************************************/
Kojto 71:53949e6131f6 67
Kojto 71:53949e6131f6 68
Kojto 71:53949e6131f6 69 /*******************************************************************************
Kojto 71:53949e6131f6 70 * Function Name: usb1_function_InitModule
Kojto 71:53949e6131f6 71 * Description : Initializes the USB module in the USB function mode.
Kojto 71:53949e6131f6 72 * Arguments : uint16_t mode ; USB_FUNCTION_HIGH_SPEED ; Hi-Speed Mode
Kojto 71:53949e6131f6 73 * : ; other ; Full-speed Mode
Kojto 71:53949e6131f6 74 * Return Value : none
Kojto 71:53949e6131f6 75 *******************************************************************************/
Kojto 71:53949e6131f6 76 void usb1_function_InitModule (uint16_t mode)
Kojto 71:53949e6131f6 77 {
Kojto 71:53949e6131f6 78 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 79 0,
Kojto 71:53949e6131f6 80 USB_SYSCFG_DCFM_SHIFT,
Kojto 71:53949e6131f6 81 USB_SYSCFG_DCFM); /* USB function */
Kojto 71:53949e6131f6 82
Kojto 71:53949e6131f6 83 /* USB module operation enabled */
Kojto 71:53949e6131f6 84 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 85 1,
Kojto 71:53949e6131f6 86 USB_SYSCFG_USBE_SHIFT,
Kojto 71:53949e6131f6 87 USB_SYSCFG_USBE);
Kojto 71:53949e6131f6 88
Kojto 71:53949e6131f6 89 if (mode == USB_FUNCTION_HIGH_SPEED)
Kojto 71:53949e6131f6 90 {
Kojto 71:53949e6131f6 91 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 92 1,
Kojto 71:53949e6131f6 93 USB_SYSCFG_HSE_SHIFT,
Kojto 71:53949e6131f6 94 USB_SYSCFG_HSE); /* Hi-Speed Mode */
Kojto 71:53949e6131f6 95 }
Kojto 71:53949e6131f6 96 else
Kojto 71:53949e6131f6 97 {
Kojto 71:53949e6131f6 98 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 99 0,
Kojto 71:53949e6131f6 100 USB_SYSCFG_HSE_SHIFT,
Kojto 71:53949e6131f6 101 USB_SYSCFG_HSE);
Kojto 71:53949e6131f6 102 }
Kojto 71:53949e6131f6 103
Kojto 71:53949e6131f6 104 /* for power-on */
Kojto 71:53949e6131f6 105 if (usb1_function_CheckVBUStaus() == DEVDRV_USBF_ON)
Kojto 71:53949e6131f6 106 {
Kojto 71:53949e6131f6 107 usb1_function_EnableINTModule(); /* Interrupt Enable */
Kojto 71:53949e6131f6 108 usb1_function_USB_FUNCTION_Attach(); /* pull-up D+ and open D- */
Kojto 71:53949e6131f6 109 }
Kojto 71:53949e6131f6 110 else
Kojto 71:53949e6131f6 111 {
Kojto 71:53949e6131f6 112 usb1_function_USB_FUNCTION_Detach(); /* USB Detach */
Kojto 71:53949e6131f6 113 /* with Interrupt Enable */
Kojto 71:53949e6131f6 114 }
Kojto 71:53949e6131f6 115 }
Kojto 71:53949e6131f6 116
Kojto 71:53949e6131f6 117 /*******************************************************************************
Kojto 71:53949e6131f6 118 * Function Name: usb1_function_CheckVBUStaus
Kojto 71:53949e6131f6 119 * Description : Checks the USB-VBUS state to returns the connection state to
Kojto 71:53949e6131f6 120 * : the USB host.
Kojto 71:53949e6131f6 121 * Arguments : none
Kojto 71:53949e6131f6 122 * Return Value : DEVDRV_USBF_ON : VBUS ON
Kojto 71:53949e6131f6 123 * : DEVDRV_USBF_OFF : VBUS OFF
Kojto 71:53949e6131f6 124 *******************************************************************************/
Kojto 71:53949e6131f6 125 uint16_t usb1_function_CheckVBUStaus (void)
Kojto 71:53949e6131f6 126 {
Kojto 71:53949e6131f6 127 uint16_t buf1;
Kojto 71:53949e6131f6 128 uint16_t buf2;
Kojto 71:53949e6131f6 129 uint16_t buf3;
Kojto 71:53949e6131f6 130
Kojto 71:53949e6131f6 131 /* monitor VBUS pins */
Kojto 71:53949e6131f6 132 do
Kojto 71:53949e6131f6 133 {
Kojto 71:53949e6131f6 134 buf1 = RZA_IO_RegRead_16(&USB201.INTSTS0,
Kojto 71:53949e6131f6 135 USB_INTSTS0_VBSTS_SHIFT,
Kojto 71:53949e6131f6 136 USB_INTSTS0_VBSTS);
Kojto 71:53949e6131f6 137 Userdef_USB_usb1_function_delay_10us(1);
Kojto 71:53949e6131f6 138 buf2 = RZA_IO_RegRead_16(&USB201.INTSTS0,
Kojto 71:53949e6131f6 139 USB_INTSTS0_VBSTS_SHIFT,
Kojto 71:53949e6131f6 140 USB_INTSTS0_VBSTS);
Kojto 71:53949e6131f6 141 Userdef_USB_usb1_function_delay_10us(1);
Kojto 71:53949e6131f6 142 buf3 = RZA_IO_RegRead_16(&USB201.INTSTS0,
Kojto 71:53949e6131f6 143 USB_INTSTS0_VBSTS_SHIFT,
Kojto 71:53949e6131f6 144 USB_INTSTS0_VBSTS);
Kojto 71:53949e6131f6 145 } while ((buf1 != buf2) || (buf2 != buf3));
Kojto 71:53949e6131f6 146
Kojto 71:53949e6131f6 147 if (buf1 == DEVDRV_USBF_OFF)
Kojto 71:53949e6131f6 148 {
Kojto 71:53949e6131f6 149 return DEVDRV_USBF_OFF; /* detach */
Kojto 71:53949e6131f6 150 }
Kojto 71:53949e6131f6 151
Kojto 71:53949e6131f6 152 return DEVDRV_USBF_ON; /* attach */
Kojto 71:53949e6131f6 153 }
Kojto 71:53949e6131f6 154
Kojto 71:53949e6131f6 155 /*******************************************************************************
Kojto 71:53949e6131f6 156 * Function Name: usb1_function_USB_FUNCTION_Attach
Kojto 71:53949e6131f6 157 * Description : Connects to the USB host controller.
Kojto 71:53949e6131f6 158 * : This function pulls up D+.
Kojto 71:53949e6131f6 159 * Arguments : none
Kojto 71:53949e6131f6 160 * Return Value : none
Kojto 71:53949e6131f6 161 *******************************************************************************/
Kojto 71:53949e6131f6 162 void usb1_function_USB_FUNCTION_Attach (void)
Kojto 71:53949e6131f6 163 {
Kojto 71:53949e6131f6 164 Userdef_USB_usb1_function_attach();
Kojto 71:53949e6131f6 165
Kojto 71:53949e6131f6 166 Userdef_USB_usb1_function_delay_xms(10);
Kojto 71:53949e6131f6 167
Kojto 71:53949e6131f6 168 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 169 1,
Kojto 71:53949e6131f6 170 USB_SYSCFG_DPRPU_SHIFT,
Kojto 71:53949e6131f6 171 USB_SYSCFG_DPRPU); /* Pull-up D+ and open D- */
Kojto 71:53949e6131f6 172 }
Kojto 71:53949e6131f6 173
Kojto 71:53949e6131f6 174 /*******************************************************************************
Kojto 71:53949e6131f6 175 * Function Name: usb1_function_USB_FUNCTION_Detach
Kojto 71:53949e6131f6 176 * Description : Disconnects from the USB host controller.
Kojto 71:53949e6131f6 177 * : This function opens D+/D-.
Kojto 71:53949e6131f6 178 * Arguments : none
Kojto 71:53949e6131f6 179 * Return Value : none
Kojto 71:53949e6131f6 180 *******************************************************************************/
Kojto 71:53949e6131f6 181 void usb1_function_USB_FUNCTION_Detach (void)
Kojto 71:53949e6131f6 182 {
Kojto 71:53949e6131f6 183 uint16_t pipe;
Kojto 71:53949e6131f6 184
Kojto 71:53949e6131f6 185 Userdef_USB_usb1_function_detach();
Kojto 71:53949e6131f6 186
Kojto 71:53949e6131f6 187 for (pipe = 0; pipe < (USB_FUNCTION_MAX_PIPE_NO + 1); ++pipe)
Kojto 71:53949e6131f6 188 {
Kojto 71:53949e6131f6 189 if (g_usb1_function_pipe_status[pipe] != DEVDRV_USBF_PIPE_IDLE)
Kojto 71:53949e6131f6 190 {
Kojto 71:53949e6131f6 191 usb1_function_stop_transfer(pipe);
Kojto 71:53949e6131f6 192 }
Kojto 71:53949e6131f6 193 }
Kojto 71:53949e6131f6 194
Kojto 71:53949e6131f6 195 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 196 0,
Kojto 71:53949e6131f6 197 USB_SYSCFG_DPRPU_SHIFT,
Kojto 71:53949e6131f6 198 USB_SYSCFG_DPRPU); /* open D+ and D- */
Kojto 71:53949e6131f6 199
Kojto 71:53949e6131f6 200 /* Detach Recovery */
Kojto 71:53949e6131f6 201 Userdef_USB_usb1_function_delay_500ns(); /* need 1us=500ns * 2 wait */
Kojto 71:53949e6131f6 202 Userdef_USB_usb1_function_delay_500ns();
Kojto 71:53949e6131f6 203
Kojto 71:53949e6131f6 204 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 205 1,
Kojto 71:53949e6131f6 206 USB_SYSCFG_DCFM_SHIFT,
Kojto 71:53949e6131f6 207 USB_SYSCFG_DCFM);
Kojto 71:53949e6131f6 208 Userdef_USB_usb1_function_delay_500ns(); /* need 100ns wait but 500ns S/W wait */
Kojto 71:53949e6131f6 209
Kojto 71:53949e6131f6 210 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 211 0,
Kojto 71:53949e6131f6 212 USB_SYSCFG_DCFM_SHIFT,
Kojto 71:53949e6131f6 213 USB_SYSCFG_DCFM);
Kojto 71:53949e6131f6 214
Kojto 71:53949e6131f6 215 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 216 0,
Kojto 71:53949e6131f6 217 USB_SYSCFG_USBE_SHIFT,
Kojto 71:53949e6131f6 218 USB_SYSCFG_USBE); /* soft reset module */
Kojto 71:53949e6131f6 219 Userdef_USB_usb1_function_delay_500ns();
Kojto 71:53949e6131f6 220
Kojto 71:53949e6131f6 221 RZA_IO_RegWrite_16(&USB201.SYSCFG0,
Kojto 71:53949e6131f6 222 1,
Kojto 71:53949e6131f6 223 USB_SYSCFG_USBE_SHIFT,
Kojto 71:53949e6131f6 224 USB_SYSCFG_USBE);
Kojto 71:53949e6131f6 225
Kojto 71:53949e6131f6 226 usb1_function_EnableINTModule(); /* Interrupt Enable */
Kojto 71:53949e6131f6 227 }
Kojto 71:53949e6131f6 228
Kojto 71:53949e6131f6 229 /*******************************************************************************
Kojto 71:53949e6131f6 230 * Function Name: usb1_function_USB_FUNCTION_BusReset
Kojto 71:53949e6131f6 231 * Description : This function is executed when the USB device is transitioned
Kojto 71:53949e6131f6 232 * : to POWERD_STATE. Sets the device descriptor according to the
Kojto 71:53949e6131f6 233 * : connection speed determined by the USB reset hand shake.
Kojto 71:53949e6131f6 234 * Arguments : none
Kojto 71:53949e6131f6 235 * Return Value : none
Kojto 71:53949e6131f6 236 *******************************************************************************/
Kojto 71:53949e6131f6 237 #if 0 /*The USBHAL in mbed does not need this function*/
Kojto 71:53949e6131f6 238 void usb1_function_USB_FUNCTION_BusReset (void)
Kojto 71:53949e6131f6 239 {
Kojto 71:53949e6131f6 240 usb1_function_init_status(); /* memory clear */
Kojto 71:53949e6131f6 241
Kojto 71:53949e6131f6 242 if (usb1_function_is_hispeed() == USB_FUNCTION_HIGH_SPEED)
Kojto 71:53949e6131f6 243 {
Kojto 71:53949e6131f6 244 usb1_function_ResetDescriptor(USB_FUNCTION_HIGH_SPEED); /* Device Descriptor reset */
Kojto 71:53949e6131f6 245 }
Kojto 71:53949e6131f6 246 else
Kojto 71:53949e6131f6 247 {
Kojto 71:53949e6131f6 248 usb1_function_ResetDescriptor(USB_FUNCTION_FULL_SPEED); /* Device Descriptor reset */
Kojto 71:53949e6131f6 249 }
Kojto 71:53949e6131f6 250
Kojto 71:53949e6131f6 251 usb1_function_ResetDCP(); /* Default Control PIPE reset */
Kojto 71:53949e6131f6 252 }
Kojto 71:53949e6131f6 253 #endif
Kojto 71:53949e6131f6 254
Kojto 71:53949e6131f6 255 /*******************************************************************************
Kojto 71:53949e6131f6 256 * Function Name: usb1_function_USB_FUNCTION_Resume
Kojto 71:53949e6131f6 257 * Description : This function is executed when the USB device detects a resume
Kojto 71:53949e6131f6 258 * : signal.
Kojto 71:53949e6131f6 259 * : The USB sample driver does not operate for this function.
Kojto 71:53949e6131f6 260 * Arguments : none
Kojto 71:53949e6131f6 261 * Return Value : none
Kojto 71:53949e6131f6 262 *******************************************************************************/
Kojto 71:53949e6131f6 263 #if 0 /*The USBHAL in mbed does not need this function*/
Kojto 71:53949e6131f6 264 void usb1_function_USB_FUNCTION_Resume (void)
Kojto 71:53949e6131f6 265 {
Kojto 71:53949e6131f6 266 /* NOP */
Kojto 71:53949e6131f6 267 }
Kojto 71:53949e6131f6 268 #endif
Kojto 71:53949e6131f6 269
Kojto 71:53949e6131f6 270 /*******************************************************************************
Kojto 71:53949e6131f6 271 * Function Name: usb1_function_USB_FUNCTION_Suspend
Kojto 71:53949e6131f6 272 * Description : This function is executed when the USB device detects a suspend
Kojto 71:53949e6131f6 273 * : signal.
Kojto 71:53949e6131f6 274 * : The USB sample driver does not operate for this function.
Kojto 71:53949e6131f6 275 * Arguments : none
Kojto 71:53949e6131f6 276 * Return Value : none
Kojto 71:53949e6131f6 277 *******************************************************************************/
Kojto 71:53949e6131f6 278 #if 0 /*The USBHAL in mbed does not need this function*/
Kojto 71:53949e6131f6 279 void usb1_function_USB_FUNCTION_Suspend (void)
Kojto 71:53949e6131f6 280 {
Kojto 71:53949e6131f6 281 /* NOP */
Kojto 71:53949e6131f6 282 }
Kojto 71:53949e6131f6 283 #endif
Kojto 71:53949e6131f6 284
Kojto 71:53949e6131f6 285 /*******************************************************************************
Kojto 71:53949e6131f6 286 * Function Name: usb1_function_USB_FUNCTION_TestMode
Kojto 71:53949e6131f6 287 * Description : This function is executed when the USB device is transitioned U
Kojto 71:53949e6131f6 288 * : to TEST_MODE by the USB standard request.
Kojto 71:53949e6131f6 289 * Arguments : none
Kojto 71:53949e6131f6 290 * Return Value : none
Kojto 71:53949e6131f6 291 *******************************************************************************/
Kojto 71:53949e6131f6 292 void usb1_function_USB_FUNCTION_TestMode (void)
Kojto 71:53949e6131f6 293 {
Kojto 71:53949e6131f6 294 switch (g_usb1_function_TestModeSelectors & USB_FUNCTION_FUNCTION_TEST_SELECT)
Kojto 71:53949e6131f6 295 {
Kojto 71:53949e6131f6 296 case USB_FUNCTION_FUNCTION_TEST_J:
Kojto 71:53949e6131f6 297 case USB_FUNCTION_FUNCTION_TEST_K:
Kojto 71:53949e6131f6 298 case USB_FUNCTION_FUNCTION_TEST_SE0_NAK:
Kojto 71:53949e6131f6 299 case USB_FUNCTION_FUNCTION_TEST_PACKET:
Kojto 71:53949e6131f6 300 RZA_IO_RegWrite_16(&USB201.TESTMODE,
Kojto 71:53949e6131f6 301 (g_usb1_function_TestModeSelectors >> 8),
Kojto 71:53949e6131f6 302 USB_TESTMODE_UTST_SHIFT,
Kojto 71:53949e6131f6 303 USB_TESTMODE_UTST);
Kojto 71:53949e6131f6 304 break;
Kojto 71:53949e6131f6 305
Kojto 71:53949e6131f6 306 case USB_FUNCTION_FUNCTION_TEST_FORCE_ENABLE:
Kojto 71:53949e6131f6 307 default:
Kojto 71:53949e6131f6 308 break;
Kojto 71:53949e6131f6 309 }
Kojto 71:53949e6131f6 310 }
Kojto 71:53949e6131f6 311
Kojto 71:53949e6131f6 312 /*******************************************************************************
Kojto 71:53949e6131f6 313 * Function Name: usb1_function_EnableINTModule
Kojto 71:53949e6131f6 314 * Description : Enables USB interrupt.
Kojto 71:53949e6131f6 315 * Arguments : none
Kojto 71:53949e6131f6 316 * Return Value : none
Kojto 71:53949e6131f6 317 *******************************************************************************/
Kojto 71:53949e6131f6 318 static void usb1_function_EnableINTModule (void)
Kojto 71:53949e6131f6 319 {
Kojto 71:53949e6131f6 320 uint16_t buf;
Kojto 71:53949e6131f6 321
Kojto 71:53949e6131f6 322 buf = USB201.INTENB0;
Kojto 71:53949e6131f6 323 buf |= (USB_FUNCTION_BITVBSE | USB_FUNCTION_BITDVSE | USB_FUNCTION_BITCTRE |
Kojto 71:53949e6131f6 324 USB_FUNCTION_BITBEMPE | USB_FUNCTION_BITNRDYE | USB_FUNCTION_BITBRDYE);
Kojto 71:53949e6131f6 325 USB201.INTENB0 = buf;
Kojto 71:53949e6131f6 326
Kojto 71:53949e6131f6 327 usb1_function_enable_bemp_int(USB_FUNCTION_PIPE0);
Kojto 71:53949e6131f6 328 }
Kojto 71:53949e6131f6 329
Kojto 71:53949e6131f6 330 /* End of File */