SDG+USBHost(Mouse) Sample

Dependencies:   Sound_Generator USBHost_custom

Fork of SDG_Mouse_Sample by GR-PEACH_producer_meeting

Information

Japanese version is available in lower part of this page.
このページの後半に日本語版が用意されています.

What is this?

This program is a demonstration that sounds the sound by mouse operation by using USBHost(Mouse) and Sound Generator.

Settings

Close JP3 of GR-PEACH.
/media/uploads/RyoheiHagimoto/sdg-mouse.jpg

Operation

operationeffect
Right clickSounds
Left clickReset to base tone (C)
Moves the mouse to the rightLower the sound
Moves the mouse to the leftHigher the sound
Center cursorAdjust the sensitivity.
Reset the reference value in the click.

Others

The default setting of serial communication (baud rate etc.) in mbed is shown the following link.
Please refer to the link and change the settings of your PC terminal software.
The default value of baud rate in mbed is 9600, and this application uses baud rate 9600.
https://developer.mbed.org/teams/Renesas/wiki/GR-PEACH-Getting-Started#install-the-usb-serial-communication


概要

このプログラムは、USBHost(Mouse) + Sound Generatorで、マウス操作による擬似笛デモです。

設定

GR-PEACHのJP3をショートする必要があります。
/media/uploads/RyoheiHagimoto/sdg-mouse.jpg

操作方法

操作内容
右クリック音出力開始
左クリック基準音(ド)にリセット
マウス右移動高音になります
マウス左移動低音になります
センターカーソル音高低の変化量調整(クリックで基準値にリセット)

Others

mbedのシリアル通信(ボーレート等)のデフォルト設定は以下のリンクに示しています。
リンクを参考に、お使いのPCターミナルソフトの設定を変更して下さい。
mbedでのボーレートのデフォルト値は9600で、このサンプルではボーレート9600を使います。
https://developer.mbed.org/teams/Renesas/wiki/GR-PEACH-Getting-Started#install-the-usb-serial-communication

Committer:
mbed_official
Date:
Mon Jan 19 14:30:37 2015 +0000
Revision:
27:4206883f4cb7
Synchronized with git revision 0ab8d2e6b3d884137dcb5c62d29a07abe132bac7

Full URL: https://github.com/mbedmicro/mbed/commit/0ab8d2e6b3d884137dcb5c62d29a07abe132bac7/

RZ_A1H - Implement some USB functions and fix some bugs about USBHost common codes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 27:4206883f4cb7 1 /*******************************************************************************
mbed_official 27:4206883f4cb7 2 * DISCLAIMER
mbed_official 27:4206883f4cb7 3 * This software is supplied by Renesas Electronics Corporation and is only
mbed_official 27:4206883f4cb7 4 * intended for use with Renesas products. No other uses are authorized. This
mbed_official 27:4206883f4cb7 5 * software is owned by Renesas Electronics Corporation and is protected under
mbed_official 27:4206883f4cb7 6 * all applicable laws, including copyright laws.
mbed_official 27:4206883f4cb7 7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
mbed_official 27:4206883f4cb7 8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
mbed_official 27:4206883f4cb7 9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
mbed_official 27:4206883f4cb7 10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
mbed_official 27:4206883f4cb7 11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
mbed_official 27:4206883f4cb7 12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
mbed_official 27:4206883f4cb7 13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
mbed_official 27:4206883f4cb7 14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
mbed_official 27:4206883f4cb7 15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
mbed_official 27:4206883f4cb7 16 * Renesas reserves the right, without notice, to make changes to this software
mbed_official 27:4206883f4cb7 17 * and to discontinue the availability of this software. By using this software,
mbed_official 27:4206883f4cb7 18 * you agree to the additional terms and conditions found by accessing the
mbed_official 27:4206883f4cb7 19 * following link:
mbed_official 27:4206883f4cb7 20 * http://www.renesas.com/disclaimer
mbed_official 27:4206883f4cb7 21 * Copyright (C) 2012 - 2014 Renesas Electronics Corporation. All rights reserved.
mbed_official 27:4206883f4cb7 22 *******************************************************************************/
mbed_official 27:4206883f4cb7 23 /*******************************************************************************
mbed_official 27:4206883f4cb7 24 * File Name : usb0_host_usbsig.c
mbed_official 27:4206883f4cb7 25 * $Rev: 1116 $
mbed_official 27:4206883f4cb7 26 * $Date:: 2014-07-09 16:29:19 +0900#$
mbed_official 27:4206883f4cb7 27 * Device(s) : RZ/A1H
mbed_official 27:4206883f4cb7 28 * Tool-Chain :
mbed_official 27:4206883f4cb7 29 * OS : None
mbed_official 27:4206883f4cb7 30 * H/W Platform :
mbed_official 27:4206883f4cb7 31 * Description : RZ/A1H R7S72100 USB Sample Program
mbed_official 27:4206883f4cb7 32 * Operation :
mbed_official 27:4206883f4cb7 33 * Limitations :
mbed_official 27:4206883f4cb7 34 *******************************************************************************/
mbed_official 27:4206883f4cb7 35
mbed_official 27:4206883f4cb7 36
mbed_official 27:4206883f4cb7 37 /*******************************************************************************
mbed_official 27:4206883f4cb7 38 Includes <System Includes> , "Project Includes"
mbed_official 27:4206883f4cb7 39 *******************************************************************************/
mbed_official 27:4206883f4cb7 40 #include "usb0_host.h"
mbed_official 27:4206883f4cb7 41 #include "dev_drv.h"
mbed_official 27:4206883f4cb7 42
mbed_official 27:4206883f4cb7 43
mbed_official 27:4206883f4cb7 44 /*******************************************************************************
mbed_official 27:4206883f4cb7 45 Typedef definitions
mbed_official 27:4206883f4cb7 46 *******************************************************************************/
mbed_official 27:4206883f4cb7 47
mbed_official 27:4206883f4cb7 48
mbed_official 27:4206883f4cb7 49 /*******************************************************************************
mbed_official 27:4206883f4cb7 50 Macro definitions
mbed_official 27:4206883f4cb7 51 *******************************************************************************/
mbed_official 27:4206883f4cb7 52
mbed_official 27:4206883f4cb7 53
mbed_official 27:4206883f4cb7 54 /*******************************************************************************
mbed_official 27:4206883f4cb7 55 Imported global variables and functions (from other files)
mbed_official 27:4206883f4cb7 56 *******************************************************************************/
mbed_official 27:4206883f4cb7 57
mbed_official 27:4206883f4cb7 58
mbed_official 27:4206883f4cb7 59 /*******************************************************************************
mbed_official 27:4206883f4cb7 60 Exported global variables and functions (to be accessed by other files)
mbed_official 27:4206883f4cb7 61 *******************************************************************************/
mbed_official 27:4206883f4cb7 62 static void usb0_host_EnableINT_Module(void);
mbed_official 27:4206883f4cb7 63 static void usb0_host_Enable_AttachINT(void);
mbed_official 27:4206883f4cb7 64 static void usb0_host_Disable_AttachINT(void);
mbed_official 27:4206883f4cb7 65 static void usb0_host_Disable_BchgINT(void);
mbed_official 27:4206883f4cb7 66
mbed_official 27:4206883f4cb7 67
mbed_official 27:4206883f4cb7 68 /*******************************************************************************
mbed_official 27:4206883f4cb7 69 Private global variables and functions
mbed_official 27:4206883f4cb7 70 *******************************************************************************/
mbed_official 27:4206883f4cb7 71
mbed_official 27:4206883f4cb7 72
mbed_official 27:4206883f4cb7 73 /*******************************************************************************
mbed_official 27:4206883f4cb7 74 * Function Name: usb0_host_InitModule
mbed_official 27:4206883f4cb7 75 * Description : Initializes the USB module in USB host module.
mbed_official 27:4206883f4cb7 76 * Arguments : none
mbed_official 27:4206883f4cb7 77 * Return Value : none
mbed_official 27:4206883f4cb7 78 *******************************************************************************/
mbed_official 27:4206883f4cb7 79 void usb0_host_InitModule (void)
mbed_official 27:4206883f4cb7 80 {
mbed_official 27:4206883f4cb7 81 uint16_t buf1;
mbed_official 27:4206883f4cb7 82 uint16_t buf2;
mbed_official 27:4206883f4cb7 83 uint16_t buf3;
mbed_official 27:4206883f4cb7 84
mbed_official 27:4206883f4cb7 85 usb0_host_init_pipe_status();
mbed_official 27:4206883f4cb7 86
mbed_official 27:4206883f4cb7 87 RZA_IO_RegWrite_16(&USB200.SYSCFG0,
mbed_official 27:4206883f4cb7 88 1,
mbed_official 27:4206883f4cb7 89 USB_SYSCFG_DCFM_SHIFT,
mbed_official 27:4206883f4cb7 90 USB_SYSCFG_DCFM); /* HOST mode */
mbed_official 27:4206883f4cb7 91 RZA_IO_RegWrite_16(&USB200.SYSCFG0,
mbed_official 27:4206883f4cb7 92 1,
mbed_official 27:4206883f4cb7 93 USB_SYSCFG_DRPD_SHIFT,
mbed_official 27:4206883f4cb7 94 USB_SYSCFG_DRPD); /* PORT0 D+, D- setting */
mbed_official 27:4206883f4cb7 95
mbed_official 27:4206883f4cb7 96 do
mbed_official 27:4206883f4cb7 97 {
mbed_official 27:4206883f4cb7 98 buf1 = RZA_IO_RegRead_16(&USB200.SYSSTS0,
mbed_official 27:4206883f4cb7 99 USB_SYSSTS0_LNST_SHIFT,
mbed_official 27:4206883f4cb7 100 USB_SYSSTS0_LNST);
mbed_official 27:4206883f4cb7 101 Userdef_USB_usb0_host_delay_xms(50);
mbed_official 27:4206883f4cb7 102 buf2 = RZA_IO_RegRead_16(&USB200.SYSSTS0,
mbed_official 27:4206883f4cb7 103 USB_SYSSTS0_LNST_SHIFT,
mbed_official 27:4206883f4cb7 104 USB_SYSSTS0_LNST);
mbed_official 27:4206883f4cb7 105 Userdef_USB_usb0_host_delay_xms(50);
mbed_official 27:4206883f4cb7 106 buf3 = RZA_IO_RegRead_16(&USB200.SYSSTS0,
mbed_official 27:4206883f4cb7 107 USB_SYSSTS0_LNST_SHIFT,
mbed_official 27:4206883f4cb7 108 USB_SYSSTS0_LNST);
mbed_official 27:4206883f4cb7 109
mbed_official 27:4206883f4cb7 110 } while ((buf1 != buf2) || (buf1 != buf3));
mbed_official 27:4206883f4cb7 111
mbed_official 27:4206883f4cb7 112 RZA_IO_RegWrite_16(&USB200.SYSCFG0,
mbed_official 27:4206883f4cb7 113 1,
mbed_official 27:4206883f4cb7 114 USB_SYSCFG_USBE_SHIFT,
mbed_official 27:4206883f4cb7 115 USB_SYSCFG_USBE);
mbed_official 27:4206883f4cb7 116
mbed_official 27:4206883f4cb7 117 USB200.CFIFOSEL = (uint16_t)(USB_HOST_BITRCNT | USB_HOST_BITMBW_8 | USB_HOST_BITBYTE_LITTLE);
mbed_official 27:4206883f4cb7 118 USB200.D0FIFOSEL = (uint16_t)( USB_HOST_BITMBW_8 | USB_HOST_BITBYTE_LITTLE);
mbed_official 27:4206883f4cb7 119 USB200.D1FIFOSEL = (uint16_t)( USB_HOST_BITMBW_8 | USB_HOST_BITBYTE_LITTLE);
mbed_official 27:4206883f4cb7 120 }
mbed_official 27:4206883f4cb7 121
mbed_official 27:4206883f4cb7 122 /*******************************************************************************
mbed_official 27:4206883f4cb7 123 * Function Name: usb0_host_CheckAttach
mbed_official 27:4206883f4cb7 124 * Description : Returns the USB device connection state.
mbed_official 27:4206883f4cb7 125 * Arguments : none
mbed_official 27:4206883f4cb7 126 * Return Value : uint16_t ; USB_HOST_ATTACH : Attached
mbed_official 27:4206883f4cb7 127 * : ; USB_HOST_DETACH : not Attached
mbed_official 27:4206883f4cb7 128 *******************************************************************************/
mbed_official 27:4206883f4cb7 129 uint16_t usb0_host_CheckAttach (void)
mbed_official 27:4206883f4cb7 130 {
mbed_official 27:4206883f4cb7 131 uint16_t buf1;
mbed_official 27:4206883f4cb7 132 uint16_t buf2;
mbed_official 27:4206883f4cb7 133 uint16_t buf3;
mbed_official 27:4206883f4cb7 134 uint16_t rhst;
mbed_official 27:4206883f4cb7 135
mbed_official 27:4206883f4cb7 136 do
mbed_official 27:4206883f4cb7 137 {
mbed_official 27:4206883f4cb7 138 buf1 = RZA_IO_RegRead_16(&USB200.SYSSTS0,
mbed_official 27:4206883f4cb7 139 USB_SYSSTS0_LNST_SHIFT,
mbed_official 27:4206883f4cb7 140 USB_SYSSTS0_LNST);
mbed_official 27:4206883f4cb7 141 Userdef_USB_usb0_host_delay_xms(50);
mbed_official 27:4206883f4cb7 142 buf2 = RZA_IO_RegRead_16(&USB200.SYSSTS0,
mbed_official 27:4206883f4cb7 143 USB_SYSSTS0_LNST_SHIFT,
mbed_official 27:4206883f4cb7 144 USB_SYSSTS0_LNST);
mbed_official 27:4206883f4cb7 145 Userdef_USB_usb0_host_delay_xms(50);
mbed_official 27:4206883f4cb7 146 buf3 = RZA_IO_RegRead_16(&USB200.SYSSTS0,
mbed_official 27:4206883f4cb7 147 USB_SYSSTS0_LNST_SHIFT,
mbed_official 27:4206883f4cb7 148 USB_SYSSTS0_LNST);
mbed_official 27:4206883f4cb7 149
mbed_official 27:4206883f4cb7 150 } while ((buf1 != buf2) || (buf1 != buf3));
mbed_official 27:4206883f4cb7 151
mbed_official 27:4206883f4cb7 152 rhst = RZA_IO_RegRead_16(&USB200.DVSTCTR0,
mbed_official 27:4206883f4cb7 153 USB_DVSTCTR0_RHST_SHIFT,
mbed_official 27:4206883f4cb7 154 USB_DVSTCTR0_RHST);
mbed_official 27:4206883f4cb7 155 if (rhst == USB_HOST_UNDECID)
mbed_official 27:4206883f4cb7 156 {
mbed_official 27:4206883f4cb7 157 if (buf1 == USB_HOST_FS_JSTS)
mbed_official 27:4206883f4cb7 158 {
mbed_official 27:4206883f4cb7 159 if (g_usb0_host_SupportUsbDeviceSpeed == USB_HOST_HIGH_SPEED)
mbed_official 27:4206883f4cb7 160 {
mbed_official 27:4206883f4cb7 161 RZA_IO_RegWrite_16(&USB200.SYSCFG0,
mbed_official 27:4206883f4cb7 162 1,
mbed_official 27:4206883f4cb7 163 USB_SYSCFG_HSE_SHIFT,
mbed_official 27:4206883f4cb7 164 USB_SYSCFG_HSE);
mbed_official 27:4206883f4cb7 165 }
mbed_official 27:4206883f4cb7 166 else
mbed_official 27:4206883f4cb7 167 {
mbed_official 27:4206883f4cb7 168 RZA_IO_RegWrite_16(&USB200.SYSCFG0,
mbed_official 27:4206883f4cb7 169 0,
mbed_official 27:4206883f4cb7 170 USB_SYSCFG_HSE_SHIFT,
mbed_official 27:4206883f4cb7 171 USB_SYSCFG_HSE);
mbed_official 27:4206883f4cb7 172 }
mbed_official 27:4206883f4cb7 173 return USB_HOST_ATTACH;
mbed_official 27:4206883f4cb7 174 }
mbed_official 27:4206883f4cb7 175 else if (buf1 == USB_HOST_LS_JSTS)
mbed_official 27:4206883f4cb7 176 {
mbed_official 27:4206883f4cb7 177 /* Low Speed Device */
mbed_official 27:4206883f4cb7 178 RZA_IO_RegWrite_16(&USB200.SYSCFG0,
mbed_official 27:4206883f4cb7 179 0,
mbed_official 27:4206883f4cb7 180 USB_SYSCFG_HSE_SHIFT,
mbed_official 27:4206883f4cb7 181 USB_SYSCFG_HSE);
mbed_official 27:4206883f4cb7 182 return USB_HOST_ATTACH;
mbed_official 27:4206883f4cb7 183 }
mbed_official 27:4206883f4cb7 184 else
mbed_official 27:4206883f4cb7 185 {
mbed_official 27:4206883f4cb7 186 /* Do Nothing */
mbed_official 27:4206883f4cb7 187 }
mbed_official 27:4206883f4cb7 188 }
mbed_official 27:4206883f4cb7 189 else if ((rhst == USB_HOST_HSMODE) || (rhst == USB_HOST_FSMODE))
mbed_official 27:4206883f4cb7 190 {
mbed_official 27:4206883f4cb7 191 return USB_HOST_ATTACH;
mbed_official 27:4206883f4cb7 192 }
mbed_official 27:4206883f4cb7 193 else if (rhst == USB_HOST_LSMODE)
mbed_official 27:4206883f4cb7 194 {
mbed_official 27:4206883f4cb7 195 return USB_HOST_ATTACH;
mbed_official 27:4206883f4cb7 196 }
mbed_official 27:4206883f4cb7 197 else
mbed_official 27:4206883f4cb7 198 {
mbed_official 27:4206883f4cb7 199 /* Do Nothing */
mbed_official 27:4206883f4cb7 200 }
mbed_official 27:4206883f4cb7 201
mbed_official 27:4206883f4cb7 202 return USB_HOST_DETACH;
mbed_official 27:4206883f4cb7 203 }
mbed_official 27:4206883f4cb7 204
mbed_official 27:4206883f4cb7 205 /*******************************************************************************
mbed_official 27:4206883f4cb7 206 * Function Name: usb0_host_UsbAttach
mbed_official 27:4206883f4cb7 207 * Description : Connects the USB device.
mbed_official 27:4206883f4cb7 208 * Arguments : none
mbed_official 27:4206883f4cb7 209 * Return Value : none
mbed_official 27:4206883f4cb7 210 *******************************************************************************/
mbed_official 27:4206883f4cb7 211 void usb0_host_UsbAttach (void)
mbed_official 27:4206883f4cb7 212 {
mbed_official 27:4206883f4cb7 213 usb0_host_EnableINT_Module();
mbed_official 27:4206883f4cb7 214 usb0_host_Disable_BchgINT();
mbed_official 27:4206883f4cb7 215 usb0_host_Disable_AttachINT();
mbed_official 27:4206883f4cb7 216 usb0_host_Enable_DetachINT();
mbed_official 27:4206883f4cb7 217 }
mbed_official 27:4206883f4cb7 218
mbed_official 27:4206883f4cb7 219 /*******************************************************************************
mbed_official 27:4206883f4cb7 220 * Function Name: usb0_host_UsbDetach
mbed_official 27:4206883f4cb7 221 * Description : Disconnects the USB device.
mbed_official 27:4206883f4cb7 222 * Arguments : none
mbed_official 27:4206883f4cb7 223 * Return Value : none
mbed_official 27:4206883f4cb7 224 *******************************************************************************/
mbed_official 27:4206883f4cb7 225 void usb0_host_UsbDetach (void)
mbed_official 27:4206883f4cb7 226 {
mbed_official 27:4206883f4cb7 227 uint16_t pipe;
mbed_official 27:4206883f4cb7 228 uint16_t devadr;
mbed_official 27:4206883f4cb7 229
mbed_official 27:4206883f4cb7 230 g_usb0_host_driver_state = USB_HOST_DRV_DETACHED;
mbed_official 27:4206883f4cb7 231
mbed_official 27:4206883f4cb7 232 /* Terminate all the pipes in which communications on port */
mbed_official 27:4206883f4cb7 233 /* are currently carried out */
mbed_official 27:4206883f4cb7 234 for (pipe = 0; pipe < (USB_HOST_MAX_PIPE_NO + 1); ++pipe)
mbed_official 27:4206883f4cb7 235 {
mbed_official 27:4206883f4cb7 236 if (g_usb0_host_pipe_status[pipe] != USB_HOST_PIPE_IDLE)
mbed_official 27:4206883f4cb7 237 {
mbed_official 27:4206883f4cb7 238 if (pipe == USB_HOST_PIPE0)
mbed_official 27:4206883f4cb7 239 {
mbed_official 27:4206883f4cb7 240 devadr = RZA_IO_RegRead_16(&USB200.DCPMAXP,
mbed_official 27:4206883f4cb7 241 USB_DCPMAXP_DEVSEL_SHIFT,
mbed_official 27:4206883f4cb7 242 USB_DCPMAXP_DEVSEL);
mbed_official 27:4206883f4cb7 243 }
mbed_official 27:4206883f4cb7 244 else
mbed_official 27:4206883f4cb7 245 {
mbed_official 27:4206883f4cb7 246 devadr = RZA_IO_RegRead_16(&g_usb0_host_pipemaxp[pipe], USB_PIPEMAXP_DEVSEL_SHIFT, USB_PIPEMAXP_DEVSEL);
mbed_official 27:4206883f4cb7 247 }
mbed_official 27:4206883f4cb7 248
mbed_official 27:4206883f4cb7 249 if (devadr == g_usb0_host_UsbAddress)
mbed_official 27:4206883f4cb7 250 {
mbed_official 27:4206883f4cb7 251 usb0_host_stop_transfer(pipe);
mbed_official 27:4206883f4cb7 252 }
mbed_official 27:4206883f4cb7 253
mbed_official 27:4206883f4cb7 254 g_usb0_host_pipe_status[pipe] = USB_HOST_PIPE_IDLE;
mbed_official 27:4206883f4cb7 255 }
mbed_official 27:4206883f4cb7 256 }
mbed_official 27:4206883f4cb7 257
mbed_official 27:4206883f4cb7 258 g_usb0_host_ConfigNum = 0;
mbed_official 27:4206883f4cb7 259 g_usb0_host_UsbAddress = 0;
mbed_official 27:4206883f4cb7 260 g_usb0_host_default_max_packet[USB_HOST_DEVICE_0] = 64;
mbed_official 27:4206883f4cb7 261
mbed_official 27:4206883f4cb7 262 usb0_host_UsbDetach2();
mbed_official 27:4206883f4cb7 263 }
mbed_official 27:4206883f4cb7 264
mbed_official 27:4206883f4cb7 265 /*******************************************************************************
mbed_official 27:4206883f4cb7 266 * Function Name: usb0_host_UsbDetach2
mbed_official 27:4206883f4cb7 267 * Description : Disconnects the USB device.
mbed_official 27:4206883f4cb7 268 * Arguments : none
mbed_official 27:4206883f4cb7 269 * Return Value : none
mbed_official 27:4206883f4cb7 270 *******************************************************************************/
mbed_official 27:4206883f4cb7 271 void usb0_host_UsbDetach2 (void)
mbed_official 27:4206883f4cb7 272 {
mbed_official 27:4206883f4cb7 273 usb0_host_Disable_DetachINT();
mbed_official 27:4206883f4cb7 274 usb0_host_Disable_BchgINT();
mbed_official 27:4206883f4cb7 275 usb0_host_Enable_AttachINT();
mbed_official 27:4206883f4cb7 276 }
mbed_official 27:4206883f4cb7 277
mbed_official 27:4206883f4cb7 278 /*******************************************************************************
mbed_official 27:4206883f4cb7 279 * Function Name: usb0_host_UsbBusReset
mbed_official 27:4206883f4cb7 280 * Description : Issues the USB bus reset signal.
mbed_official 27:4206883f4cb7 281 * Arguments : none
mbed_official 27:4206883f4cb7 282 * Return Value : uint16_t ; RHST
mbed_official 27:4206883f4cb7 283 *******************************************************************************/
mbed_official 27:4206883f4cb7 284 uint16_t usb0_host_UsbBusReset (void)
mbed_official 27:4206883f4cb7 285 {
mbed_official 27:4206883f4cb7 286 uint16_t buffer;
mbed_official 27:4206883f4cb7 287 uint16_t loop;
mbed_official 27:4206883f4cb7 288
mbed_official 27:4206883f4cb7 289 RZA_IO_RegWrite_16(&USB200.DVSTCTR0,
mbed_official 27:4206883f4cb7 290 1,
mbed_official 27:4206883f4cb7 291 USB_DVSTCTR0_USBRST_SHIFT,
mbed_official 27:4206883f4cb7 292 USB_DVSTCTR0_USBRST);
mbed_official 27:4206883f4cb7 293 RZA_IO_RegWrite_16(&USB200.DVSTCTR0,
mbed_official 27:4206883f4cb7 294 0,
mbed_official 27:4206883f4cb7 295 USB_DVSTCTR0_UACT_SHIFT,
mbed_official 27:4206883f4cb7 296 USB_DVSTCTR0_UACT);
mbed_official 27:4206883f4cb7 297
mbed_official 27:4206883f4cb7 298 Userdef_USB_usb0_host_delay_xms(50);
mbed_official 27:4206883f4cb7 299
mbed_official 27:4206883f4cb7 300 buffer = USB200.DVSTCTR0;
mbed_official 27:4206883f4cb7 301 buffer &= (uint16_t)(~(USB_HOST_BITRST));
mbed_official 27:4206883f4cb7 302 buffer |= USB_HOST_BITUACT;
mbed_official 27:4206883f4cb7 303 USB200.DVSTCTR0 = buffer;
mbed_official 27:4206883f4cb7 304
mbed_official 27:4206883f4cb7 305 Userdef_USB_usb0_host_delay_xms(20);
mbed_official 27:4206883f4cb7 306
mbed_official 27:4206883f4cb7 307 for (loop = 0, buffer = USB_HOST_HSPROC; loop < 3; ++loop)
mbed_official 27:4206883f4cb7 308 {
mbed_official 27:4206883f4cb7 309 buffer = RZA_IO_RegRead_16(&USB200.DVSTCTR0,
mbed_official 27:4206883f4cb7 310 USB_DVSTCTR0_RHST_SHIFT,
mbed_official 27:4206883f4cb7 311 USB_DVSTCTR0_RHST);
mbed_official 27:4206883f4cb7 312 if (buffer == USB_HOST_HSPROC)
mbed_official 27:4206883f4cb7 313 {
mbed_official 27:4206883f4cb7 314 Userdef_USB_usb0_host_delay_xms(10);
mbed_official 27:4206883f4cb7 315 }
mbed_official 27:4206883f4cb7 316 else
mbed_official 27:4206883f4cb7 317 {
mbed_official 27:4206883f4cb7 318 break;
mbed_official 27:4206883f4cb7 319 }
mbed_official 27:4206883f4cb7 320 }
mbed_official 27:4206883f4cb7 321
mbed_official 27:4206883f4cb7 322 return buffer;
mbed_official 27:4206883f4cb7 323 }
mbed_official 27:4206883f4cb7 324
mbed_official 27:4206883f4cb7 325 /*******************************************************************************
mbed_official 27:4206883f4cb7 326 * Function Name: usb0_host_UsbResume
mbed_official 27:4206883f4cb7 327 * Description : Issues the USB resume signal.
mbed_official 27:4206883f4cb7 328 * Arguments : none
mbed_official 27:4206883f4cb7 329 * Return Value : int32_t ; DEVDRV_SUCCESS
mbed_official 27:4206883f4cb7 330 * : ; DEVDRV_ERROR
mbed_official 27:4206883f4cb7 331 *******************************************************************************/
mbed_official 27:4206883f4cb7 332 int32_t usb0_host_UsbResume (void)
mbed_official 27:4206883f4cb7 333 {
mbed_official 27:4206883f4cb7 334 uint16_t buf;
mbed_official 27:4206883f4cb7 335
mbed_official 27:4206883f4cb7 336 if ((g_usb0_host_driver_state & USB_HOST_DRV_SUSPEND) == 0)
mbed_official 27:4206883f4cb7 337 {
mbed_official 27:4206883f4cb7 338 /* not SUSPEND */
mbed_official 27:4206883f4cb7 339 return DEVDRV_ERROR;
mbed_official 27:4206883f4cb7 340 }
mbed_official 27:4206883f4cb7 341
mbed_official 27:4206883f4cb7 342 RZA_IO_RegWrite_16(&USB200.INTENB1,
mbed_official 27:4206883f4cb7 343 0,
mbed_official 27:4206883f4cb7 344 USB_INTENB1_BCHGE_SHIFT,
mbed_official 27:4206883f4cb7 345 USB_INTENB1_BCHGE);
mbed_official 27:4206883f4cb7 346 RZA_IO_RegWrite_16(&USB200.DVSTCTR0,
mbed_official 27:4206883f4cb7 347 1,
mbed_official 27:4206883f4cb7 348 USB_DVSTCTR0_RESUME_SHIFT,
mbed_official 27:4206883f4cb7 349 USB_DVSTCTR0_RESUME);
mbed_official 27:4206883f4cb7 350 Userdef_USB_usb0_host_delay_xms(20);
mbed_official 27:4206883f4cb7 351
mbed_official 27:4206883f4cb7 352 buf = USB200.DVSTCTR0;
mbed_official 27:4206883f4cb7 353 buf &= (uint16_t)(~(USB_HOST_BITRESUME));
mbed_official 27:4206883f4cb7 354 buf |= USB_HOST_BITUACT;
mbed_official 27:4206883f4cb7 355 USB200.DVSTCTR0 = buf;
mbed_official 27:4206883f4cb7 356
mbed_official 27:4206883f4cb7 357 g_usb0_host_driver_state &= (uint16_t)~USB_HOST_DRV_SUSPEND;
mbed_official 27:4206883f4cb7 358
mbed_official 27:4206883f4cb7 359 return DEVDRV_SUCCESS;
mbed_official 27:4206883f4cb7 360 }
mbed_official 27:4206883f4cb7 361
mbed_official 27:4206883f4cb7 362 /*******************************************************************************
mbed_official 27:4206883f4cb7 363 * Function Name: usb0_host_UsbSuspend
mbed_official 27:4206883f4cb7 364 * Description : Issues the USB suspend signal.
mbed_official 27:4206883f4cb7 365 * Arguments : none
mbed_official 27:4206883f4cb7 366 * Return Value : int32_t ; DEVDRV_SUCCESS :not SUSPEND
mbed_official 27:4206883f4cb7 367 * : ; DEVDRV_ERROR :SUSPEND
mbed_official 27:4206883f4cb7 368 *******************************************************************************/
mbed_official 27:4206883f4cb7 369 int32_t usb0_host_UsbSuspend (void)
mbed_official 27:4206883f4cb7 370 {
mbed_official 27:4206883f4cb7 371 uint16_t buf;
mbed_official 27:4206883f4cb7 372
mbed_official 27:4206883f4cb7 373 if ((g_usb0_host_driver_state & USB_HOST_DRV_SUSPEND) != 0)
mbed_official 27:4206883f4cb7 374 {
mbed_official 27:4206883f4cb7 375 /* SUSPEND */
mbed_official 27:4206883f4cb7 376 return DEVDRV_ERROR;
mbed_official 27:4206883f4cb7 377 }
mbed_official 27:4206883f4cb7 378
mbed_official 27:4206883f4cb7 379 RZA_IO_RegWrite_16(&USB200.DVSTCTR0,
mbed_official 27:4206883f4cb7 380 0,
mbed_official 27:4206883f4cb7 381 USB_DVSTCTR0_UACT_SHIFT,
mbed_official 27:4206883f4cb7 382 USB_DVSTCTR0_UACT);
mbed_official 27:4206883f4cb7 383
mbed_official 27:4206883f4cb7 384 Userdef_USB_usb0_host_delay_xms(5);
mbed_official 27:4206883f4cb7 385
mbed_official 27:4206883f4cb7 386 buf = RZA_IO_RegRead_16(&USB200.SYSSTS0,
mbed_official 27:4206883f4cb7 387 USB_SYSSTS0_LNST_SHIFT,
mbed_official 27:4206883f4cb7 388 USB_SYSSTS0_LNST);
mbed_official 27:4206883f4cb7 389 if ((buf != USB_HOST_FS_JSTS) && (buf != USB_HOST_LS_JSTS))
mbed_official 27:4206883f4cb7 390 {
mbed_official 27:4206883f4cb7 391 usb0_host_UsbDetach();
mbed_official 27:4206883f4cb7 392 }
mbed_official 27:4206883f4cb7 393 else
mbed_official 27:4206883f4cb7 394 {
mbed_official 27:4206883f4cb7 395 g_usb0_host_driver_state |= USB_HOST_DRV_SUSPEND;
mbed_official 27:4206883f4cb7 396 }
mbed_official 27:4206883f4cb7 397
mbed_official 27:4206883f4cb7 398 return DEVDRV_SUCCESS;
mbed_official 27:4206883f4cb7 399 }
mbed_official 27:4206883f4cb7 400
mbed_official 27:4206883f4cb7 401 /*******************************************************************************
mbed_official 27:4206883f4cb7 402 * Function Name: usb0_host_Enable_DetachINT
mbed_official 27:4206883f4cb7 403 * Description : Enables the USB disconnection interrupt.
mbed_official 27:4206883f4cb7 404 * Arguments : none
mbed_official 27:4206883f4cb7 405 * Return Value : none
mbed_official 27:4206883f4cb7 406 *******************************************************************************/
mbed_official 27:4206883f4cb7 407 void usb0_host_Enable_DetachINT (void)
mbed_official 27:4206883f4cb7 408 {
mbed_official 27:4206883f4cb7 409 USB200.INTSTS1 = (uint16_t)(~(USB_HOST_BITDTCH));
mbed_official 27:4206883f4cb7 410 RZA_IO_RegWrite_16(&USB200.INTENB1,
mbed_official 27:4206883f4cb7 411 1,
mbed_official 27:4206883f4cb7 412 USB_INTENB1_DTCHE_SHIFT,
mbed_official 27:4206883f4cb7 413 USB_INTENB1_DTCHE);
mbed_official 27:4206883f4cb7 414 }
mbed_official 27:4206883f4cb7 415
mbed_official 27:4206883f4cb7 416 /*******************************************************************************
mbed_official 27:4206883f4cb7 417 * Function Name: usb0_host_Disable_DetachINT
mbed_official 27:4206883f4cb7 418 * Description : Disables the USB disconnection interrupt.
mbed_official 27:4206883f4cb7 419 * Arguments : none
mbed_official 27:4206883f4cb7 420 * Return Value : none
mbed_official 27:4206883f4cb7 421 *******************************************************************************/
mbed_official 27:4206883f4cb7 422 void usb0_host_Disable_DetachINT (void)
mbed_official 27:4206883f4cb7 423 {
mbed_official 27:4206883f4cb7 424 USB200.INTSTS1 = (uint16_t)(~(USB_HOST_BITDTCH));
mbed_official 27:4206883f4cb7 425 RZA_IO_RegWrite_16(&USB200.INTENB1,
mbed_official 27:4206883f4cb7 426 0,
mbed_official 27:4206883f4cb7 427 USB_INTENB1_DTCHE_SHIFT,
mbed_official 27:4206883f4cb7 428 USB_INTENB1_DTCHE);
mbed_official 27:4206883f4cb7 429 }
mbed_official 27:4206883f4cb7 430
mbed_official 27:4206883f4cb7 431 /*******************************************************************************
mbed_official 27:4206883f4cb7 432 * Function Name: usb0_host_Enable_AttachINT
mbed_official 27:4206883f4cb7 433 * Description : Enables the USB connection detection interrupt.
mbed_official 27:4206883f4cb7 434 * Arguments : none
mbed_official 27:4206883f4cb7 435 * Return Value : none
mbed_official 27:4206883f4cb7 436 *******************************************************************************/
mbed_official 27:4206883f4cb7 437 void usb0_host_Enable_AttachINT (void)
mbed_official 27:4206883f4cb7 438 {
mbed_official 27:4206883f4cb7 439 USB200.INTSTS1 = (uint16_t)(~(USB_HOST_BITATTCH));
mbed_official 27:4206883f4cb7 440 RZA_IO_RegWrite_16(&USB200.INTENB1,
mbed_official 27:4206883f4cb7 441 1,
mbed_official 27:4206883f4cb7 442 USB_INTENB1_ATTCHE_SHIFT,
mbed_official 27:4206883f4cb7 443 USB_INTENB1_ATTCHE);
mbed_official 27:4206883f4cb7 444 }
mbed_official 27:4206883f4cb7 445
mbed_official 27:4206883f4cb7 446 /*******************************************************************************
mbed_official 27:4206883f4cb7 447 * Function Name: usb0_host_Disable_AttachINT
mbed_official 27:4206883f4cb7 448 * Description : Disables the USB connection detection interrupt.
mbed_official 27:4206883f4cb7 449 * Arguments : none
mbed_official 27:4206883f4cb7 450 * Return Value : none
mbed_official 27:4206883f4cb7 451 *******************************************************************************/
mbed_official 27:4206883f4cb7 452 void usb0_host_Disable_AttachINT (void)
mbed_official 27:4206883f4cb7 453 {
mbed_official 27:4206883f4cb7 454 USB200.INTSTS1 = (uint16_t)(~(USB_HOST_BITATTCH));
mbed_official 27:4206883f4cb7 455 RZA_IO_RegWrite_16(&USB200.INTENB1,
mbed_official 27:4206883f4cb7 456 0,
mbed_official 27:4206883f4cb7 457 USB_INTENB1_ATTCHE_SHIFT,
mbed_official 27:4206883f4cb7 458 USB_INTENB1_ATTCHE);
mbed_official 27:4206883f4cb7 459 }
mbed_official 27:4206883f4cb7 460
mbed_official 27:4206883f4cb7 461 /*******************************************************************************
mbed_official 27:4206883f4cb7 462 * Function Name: usb0_host_Disable_BchgINT
mbed_official 27:4206883f4cb7 463 * Description : Disables the USB bus change detection interrupt.
mbed_official 27:4206883f4cb7 464 * Arguments : none
mbed_official 27:4206883f4cb7 465 * Return Value : none
mbed_official 27:4206883f4cb7 466 *******************************************************************************/
mbed_official 27:4206883f4cb7 467 void usb0_host_Disable_BchgINT (void)
mbed_official 27:4206883f4cb7 468 {
mbed_official 27:4206883f4cb7 469 USB200.INTSTS1 = (uint16_t)(~(USB_HOST_BITBCHG));
mbed_official 27:4206883f4cb7 470 RZA_IO_RegWrite_16(&USB200.INTENB1,
mbed_official 27:4206883f4cb7 471 0,
mbed_official 27:4206883f4cb7 472 USB_INTENB1_BCHGE_SHIFT,
mbed_official 27:4206883f4cb7 473 USB_INTENB1_BCHGE);
mbed_official 27:4206883f4cb7 474 }
mbed_official 27:4206883f4cb7 475
mbed_official 27:4206883f4cb7 476 /*******************************************************************************
mbed_official 27:4206883f4cb7 477 * Function Name: usb0_host_set_devadd
mbed_official 27:4206883f4cb7 478 * Description : DEVADDn register is set by specified value
mbed_official 27:4206883f4cb7 479 * Arguments : uint16_t addr : Device address
mbed_official 27:4206883f4cb7 480 * : uint16_t *devadd : Set value
mbed_official 27:4206883f4cb7 481 * Return Value : none
mbed_official 27:4206883f4cb7 482 *******************************************************************************/
mbed_official 27:4206883f4cb7 483 void usb0_host_set_devadd (uint16_t addr, uint16_t * devadd)
mbed_official 27:4206883f4cb7 484 {
mbed_official 27:4206883f4cb7 485 uint16_t * ptr;
mbed_official 27:4206883f4cb7 486 uint16_t ret_flag = DEVDRV_FLAG_ON; // avoid warning.
mbed_official 27:4206883f4cb7 487
mbed_official 27:4206883f4cb7 488 switch (addr)
mbed_official 27:4206883f4cb7 489 {
mbed_official 27:4206883f4cb7 490 case USB_HOST_DEVICE_0:
mbed_official 27:4206883f4cb7 491 ptr = (uint16_t *)&USB200.DEVADD0;
mbed_official 27:4206883f4cb7 492 break;
mbed_official 27:4206883f4cb7 493
mbed_official 27:4206883f4cb7 494 case USB_HOST_DEVICE_1:
mbed_official 27:4206883f4cb7 495 ptr = (uint16_t *)&USB200.DEVADD1;
mbed_official 27:4206883f4cb7 496 break;
mbed_official 27:4206883f4cb7 497
mbed_official 27:4206883f4cb7 498 case USB_HOST_DEVICE_2:
mbed_official 27:4206883f4cb7 499 ptr = (uint16_t *)&USB200.DEVADD2;
mbed_official 27:4206883f4cb7 500 break;
mbed_official 27:4206883f4cb7 501
mbed_official 27:4206883f4cb7 502 case USB_HOST_DEVICE_3:
mbed_official 27:4206883f4cb7 503 ptr = (uint16_t *)&USB200.DEVADD3;
mbed_official 27:4206883f4cb7 504 break;
mbed_official 27:4206883f4cb7 505
mbed_official 27:4206883f4cb7 506 case USB_HOST_DEVICE_4:
mbed_official 27:4206883f4cb7 507 ptr = (uint16_t *)&USB200.DEVADD4;
mbed_official 27:4206883f4cb7 508 break;
mbed_official 27:4206883f4cb7 509
mbed_official 27:4206883f4cb7 510 case USB_HOST_DEVICE_5:
mbed_official 27:4206883f4cb7 511 ptr = (uint16_t *)&USB200.DEVADD5;
mbed_official 27:4206883f4cb7 512 break;
mbed_official 27:4206883f4cb7 513
mbed_official 27:4206883f4cb7 514 case USB_HOST_DEVICE_6:
mbed_official 27:4206883f4cb7 515 ptr = (uint16_t *)&USB200.DEVADD6;
mbed_official 27:4206883f4cb7 516 break;
mbed_official 27:4206883f4cb7 517
mbed_official 27:4206883f4cb7 518 case USB_HOST_DEVICE_7:
mbed_official 27:4206883f4cb7 519 ptr = (uint16_t *)&USB200.DEVADD7;
mbed_official 27:4206883f4cb7 520 break;
mbed_official 27:4206883f4cb7 521
mbed_official 27:4206883f4cb7 522 case USB_HOST_DEVICE_8:
mbed_official 27:4206883f4cb7 523 ptr = (uint16_t *)&USB200.DEVADD8;
mbed_official 27:4206883f4cb7 524 break;
mbed_official 27:4206883f4cb7 525
mbed_official 27:4206883f4cb7 526 case USB_HOST_DEVICE_9:
mbed_official 27:4206883f4cb7 527 ptr = (uint16_t *)&USB200.DEVADD9;
mbed_official 27:4206883f4cb7 528 break;
mbed_official 27:4206883f4cb7 529
mbed_official 27:4206883f4cb7 530 case USB_HOST_DEVICE_10:
mbed_official 27:4206883f4cb7 531 ptr = (uint16_t *)&USB200.DEVADDA;
mbed_official 27:4206883f4cb7 532 break;
mbed_official 27:4206883f4cb7 533
mbed_official 27:4206883f4cb7 534 default:
mbed_official 27:4206883f4cb7 535 ret_flag = DEVDRV_FLAG_OFF;
mbed_official 27:4206883f4cb7 536 break;
mbed_official 27:4206883f4cb7 537 }
mbed_official 27:4206883f4cb7 538
mbed_official 27:4206883f4cb7 539 if (ret_flag == DEVDRV_FLAG_ON)
mbed_official 27:4206883f4cb7 540 {
mbed_official 27:4206883f4cb7 541 *ptr = (uint16_t)(*devadd & USB_HOST_DEVADD_MASK);
mbed_official 27:4206883f4cb7 542 }
mbed_official 27:4206883f4cb7 543 }
mbed_official 27:4206883f4cb7 544
mbed_official 27:4206883f4cb7 545 /*******************************************************************************
mbed_official 27:4206883f4cb7 546 * Function Name: usb0_host_get_devadd
mbed_official 27:4206883f4cb7 547 * Description : DEVADDn register is obtained
mbed_official 27:4206883f4cb7 548 * Arguments : uint16_t addr : Device address
mbed_official 27:4206883f4cb7 549 * : uint16_t *devadd : USB_HOST_DEVADD register value
mbed_official 27:4206883f4cb7 550 * Return Value : none
mbed_official 27:4206883f4cb7 551 *******************************************************************************/
mbed_official 27:4206883f4cb7 552 void usb0_host_get_devadd (uint16_t addr, uint16_t * devadd)
mbed_official 27:4206883f4cb7 553 {
mbed_official 27:4206883f4cb7 554 uint16_t * ptr;
mbed_official 27:4206883f4cb7 555 uint16_t ret_flag = DEVDRV_FLAG_ON; // avoid warning.
mbed_official 27:4206883f4cb7 556
mbed_official 27:4206883f4cb7 557 switch (addr)
mbed_official 27:4206883f4cb7 558 {
mbed_official 27:4206883f4cb7 559 case USB_HOST_DEVICE_0:
mbed_official 27:4206883f4cb7 560 ptr = (uint16_t *)&USB200.DEVADD0;
mbed_official 27:4206883f4cb7 561 break;
mbed_official 27:4206883f4cb7 562
mbed_official 27:4206883f4cb7 563 case USB_HOST_DEVICE_1:
mbed_official 27:4206883f4cb7 564 ptr = (uint16_t *)&USB200.DEVADD1;
mbed_official 27:4206883f4cb7 565 break;
mbed_official 27:4206883f4cb7 566
mbed_official 27:4206883f4cb7 567 case USB_HOST_DEVICE_2:
mbed_official 27:4206883f4cb7 568 ptr = (uint16_t *)&USB200.DEVADD2;
mbed_official 27:4206883f4cb7 569 break;
mbed_official 27:4206883f4cb7 570
mbed_official 27:4206883f4cb7 571 case USB_HOST_DEVICE_3:
mbed_official 27:4206883f4cb7 572 ptr = (uint16_t *)&USB200.DEVADD3;
mbed_official 27:4206883f4cb7 573 break;
mbed_official 27:4206883f4cb7 574
mbed_official 27:4206883f4cb7 575 case USB_HOST_DEVICE_4:
mbed_official 27:4206883f4cb7 576 ptr = (uint16_t *)&USB200.DEVADD4;
mbed_official 27:4206883f4cb7 577 break;
mbed_official 27:4206883f4cb7 578
mbed_official 27:4206883f4cb7 579 case USB_HOST_DEVICE_5:
mbed_official 27:4206883f4cb7 580 ptr = (uint16_t *)&USB200.DEVADD5;
mbed_official 27:4206883f4cb7 581 break;
mbed_official 27:4206883f4cb7 582
mbed_official 27:4206883f4cb7 583 case USB_HOST_DEVICE_6:
mbed_official 27:4206883f4cb7 584 ptr = (uint16_t *)&USB200.DEVADD6;
mbed_official 27:4206883f4cb7 585 break;
mbed_official 27:4206883f4cb7 586
mbed_official 27:4206883f4cb7 587 case USB_HOST_DEVICE_7:
mbed_official 27:4206883f4cb7 588 ptr = (uint16_t *)&USB200.DEVADD7;
mbed_official 27:4206883f4cb7 589 break;
mbed_official 27:4206883f4cb7 590
mbed_official 27:4206883f4cb7 591 case USB_HOST_DEVICE_8:
mbed_official 27:4206883f4cb7 592 ptr = (uint16_t *)&USB200.DEVADD8;
mbed_official 27:4206883f4cb7 593 break;
mbed_official 27:4206883f4cb7 594
mbed_official 27:4206883f4cb7 595 case USB_HOST_DEVICE_9:
mbed_official 27:4206883f4cb7 596 ptr = (uint16_t *)&USB200.DEVADD9;
mbed_official 27:4206883f4cb7 597 break;
mbed_official 27:4206883f4cb7 598
mbed_official 27:4206883f4cb7 599 case USB_HOST_DEVICE_10:
mbed_official 27:4206883f4cb7 600 ptr = (uint16_t *)&USB200.DEVADDA;
mbed_official 27:4206883f4cb7 601 break;
mbed_official 27:4206883f4cb7 602
mbed_official 27:4206883f4cb7 603 default:
mbed_official 27:4206883f4cb7 604 ret_flag = DEVDRV_FLAG_OFF;
mbed_official 27:4206883f4cb7 605 break;
mbed_official 27:4206883f4cb7 606 }
mbed_official 27:4206883f4cb7 607
mbed_official 27:4206883f4cb7 608 if (ret_flag == DEVDRV_FLAG_ON)
mbed_official 27:4206883f4cb7 609 {
mbed_official 27:4206883f4cb7 610 *devadd = *ptr;
mbed_official 27:4206883f4cb7 611 }
mbed_official 27:4206883f4cb7 612 }
mbed_official 27:4206883f4cb7 613
mbed_official 27:4206883f4cb7 614 /*******************************************************************************
mbed_official 27:4206883f4cb7 615 * Function Name: usb0_host_EnableINT_Module
mbed_official 27:4206883f4cb7 616 * Description : Enables BEMP/NRDY/BRDY interrupt and SIGN/SACK interrupt.
mbed_official 27:4206883f4cb7 617 * : Enables NRDY/BEMP interrupt in the pipe0.
mbed_official 27:4206883f4cb7 618 * Arguments : none
mbed_official 27:4206883f4cb7 619 * Return Value : none
mbed_official 27:4206883f4cb7 620 *******************************************************************************/
mbed_official 27:4206883f4cb7 621 void usb0_host_EnableINT_Module (void)
mbed_official 27:4206883f4cb7 622 {
mbed_official 27:4206883f4cb7 623 uint16_t buf;
mbed_official 27:4206883f4cb7 624
mbed_official 27:4206883f4cb7 625 buf = USB200.INTENB0;
mbed_official 27:4206883f4cb7 626 buf |= (USB_HOST_BITBEMPE | USB_HOST_BITNRDYE | USB_HOST_BITBRDYE);
mbed_official 27:4206883f4cb7 627 USB200.INTENB0 = buf;
mbed_official 27:4206883f4cb7 628
mbed_official 27:4206883f4cb7 629 buf = USB200.INTENB1;
mbed_official 27:4206883f4cb7 630 buf |= (USB_HOST_BITSIGNE | USB_HOST_BITSACKE);
mbed_official 27:4206883f4cb7 631 USB200.INTENB1 = buf;
mbed_official 27:4206883f4cb7 632
mbed_official 27:4206883f4cb7 633 usb0_host_enable_nrdy_int(USB_HOST_PIPE0);
mbed_official 27:4206883f4cb7 634 usb0_host_enable_bemp_int(USB_HOST_PIPE0);
mbed_official 27:4206883f4cb7 635 }
mbed_official 27:4206883f4cb7 636
mbed_official 27:4206883f4cb7 637 /* End of File */