Support Isochronous transfer additionally

Dependents:   USBHostC270_example_GR-PEACH USBHostDac_example USBHostDac_Audio_in_out

Fork of USBHost_custom by Renesas

Committer:
HinoNaka
Date:
Fri Apr 21 07:23:33 2017 +0000
Revision:
41:5c3ebf7372ee
Parent:
35:f72ccc6892ee
Support Isochronous transfer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 35:f72ccc6892ee 1 /*******************************************************************************
mbed_official 35:f72ccc6892ee 2 * DISCLAIMER
mbed_official 35:f72ccc6892ee 3 * This software is supplied by Renesas Electronics Corporation and is only
mbed_official 35:f72ccc6892ee 4 * intended for use with Renesas products. No other uses are authorized. This
mbed_official 35:f72ccc6892ee 5 * software is owned by Renesas Electronics Corporation and is protected under
mbed_official 35:f72ccc6892ee 6 * all applicable laws, including copyright laws.
mbed_official 35:f72ccc6892ee 7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
mbed_official 35:f72ccc6892ee 8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
mbed_official 35:f72ccc6892ee 9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
mbed_official 35:f72ccc6892ee 10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
mbed_official 35:f72ccc6892ee 11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
mbed_official 35:f72ccc6892ee 12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
mbed_official 35:f72ccc6892ee 13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
mbed_official 35:f72ccc6892ee 14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
mbed_official 35:f72ccc6892ee 15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
mbed_official 35:f72ccc6892ee 16 * Renesas reserves the right, without notice, to make changes to this software
mbed_official 35:f72ccc6892ee 17 * and to discontinue the availability of this software. By using this software,
mbed_official 35:f72ccc6892ee 18 * you agree to the additional terms and conditions found by accessing the
mbed_official 35:f72ccc6892ee 19 * following link:
mbed_official 35:f72ccc6892ee 20 * http://www.renesas.com/disclaimer
mbed_official 35:f72ccc6892ee 21 * Copyright (C) 2012 - 2014 Renesas Electronics Corporation. All rights reserved.
mbed_official 35:f72ccc6892ee 22 *******************************************************************************/
mbed_official 35:f72ccc6892ee 23
mbed_official 35:f72ccc6892ee 24 /*******************************************************************************
mbed_official 35:f72ccc6892ee 25 Includes <System Includes> , "Project Includes"
mbed_official 35:f72ccc6892ee 26 *******************************************************************************/
mbed_official 35:f72ccc6892ee 27 #include "devdrv_usb_host_api.h"
mbed_official 35:f72ccc6892ee 28
mbed_official 35:f72ccc6892ee 29
mbed_official 35:f72ccc6892ee 30 /*******************************************************************************
mbed_official 35:f72ccc6892ee 31 Typedef definitions
mbed_official 35:f72ccc6892ee 32 *******************************************************************************/
mbed_official 35:f72ccc6892ee 33
mbed_official 35:f72ccc6892ee 34
mbed_official 35:f72ccc6892ee 35 /*******************************************************************************
mbed_official 35:f72ccc6892ee 36 Macro definitions
mbed_official 35:f72ccc6892ee 37 *******************************************************************************/
mbed_official 35:f72ccc6892ee 38
mbed_official 35:f72ccc6892ee 39
mbed_official 35:f72ccc6892ee 40 /*******************************************************************************
mbed_official 35:f72ccc6892ee 41 Imported global variables and functions (from other files)
mbed_official 35:f72ccc6892ee 42 *******************************************************************************/
mbed_official 35:f72ccc6892ee 43
mbed_official 35:f72ccc6892ee 44
mbed_official 35:f72ccc6892ee 45 /*******************************************************************************
mbed_official 35:f72ccc6892ee 46 Exported global variables and functions (to be accessed by other files)
mbed_official 35:f72ccc6892ee 47 *******************************************************************************/
mbed_official 35:f72ccc6892ee 48
mbed_official 35:f72ccc6892ee 49
mbed_official 35:f72ccc6892ee 50 /********************************************************************************************************/
mbed_official 35:f72ccc6892ee 51 /* Endpoint Configuration Data Format */
mbed_official 35:f72ccc6892ee 52 /********************************************************************************************************/
mbed_official 35:f72ccc6892ee 53 /* LINE1: Pipe Window Select Register */
mbed_official 35:f72ccc6892ee 54 /* CPU Access PIPE : USB_HOST_PIPE1 to USB_HOST_PIPE9 [ ### SET ### ] */
mbed_official 35:f72ccc6892ee 55 /* LINE2: Pipe Configuration Register */
mbed_official 35:f72ccc6892ee 56 /* Transfer Type : USB_HOST_NONE [ USB_HOST_NONE ] */
mbed_official 35:f72ccc6892ee 57 /* Buffer Ready interrupt : USB_HOST_NONE [ USB_HOST_NONE ] */
mbed_official 35:f72ccc6892ee 58 /* Double Buffer Mode : USB_HOST_DBLBON / USB_HOST_DBLBOFF [ ### SET ### ] */
mbed_official 35:f72ccc6892ee 59 /* Continuous Transmit: : USB_HOST_CNTMDON / USB_HOST_CNTMDOFF [ ### SET ### ] */
mbed_official 35:f72ccc6892ee 60 /* Short NAK : USB_HOST_NONE [ USB_HOST_NONE ] */
mbed_official 35:f72ccc6892ee 61 /* Transfer Direction : USB_HOST_NONE [ USB_HOST_NONE ] */
mbed_official 35:f72ccc6892ee 62 /* Endpoint Number : USB_HOST_NONE [ USB_HOST_NONE ] */
mbed_official 35:f72ccc6892ee 63 /* LINE3: Pipe Buffer Configuration Register */
mbed_official 35:f72ccc6892ee 64 /* Buffer Size : (uint16_t)((uint16_t)(((x) / 64) - 1) << 10) */
mbed_official 35:f72ccc6892ee 65 /* [ ### SET ### ] */
mbed_official 35:f72ccc6892ee 66 /* Buffer Top Number : (uint16_t)(x) [ ### SET ### ] */
mbed_official 35:f72ccc6892ee 67 /* LINE4: Pipe Maxpacket Size Register */
mbed_official 35:f72ccc6892ee 68 /* Max Packet Size : USB_HOST_NONE [ USB_HOST_NONE ] */
mbed_official 35:f72ccc6892ee 69 /* LINE5: Pipe Cycle Configuration Register (0x6C) */
mbed_official 35:f72ccc6892ee 70 /* ISO Buffer Flush Mode : USB_HOST_NONE [ USB_HOST_NONE ] */
mbed_official 35:f72ccc6892ee 71 /* ISO Interval Value : USB_HOST_NONE [ USB_HOST_NONE ] */
mbed_official 35:f72ccc6892ee 72 /* LINE6: use FIFO port */
mbed_official 35:f72ccc6892ee 73 /* : USB_HOST_CUSE [ ### SET ### ] */
mbed_official 35:f72ccc6892ee 74 /* : USB_HOST_D0USE / USB_HOST_D1USE */
mbed_official 35:f72ccc6892ee 75 /* : USB_HOST_D0DMA / USB_HOST_D0DMA */
mbed_official 35:f72ccc6892ee 76 /********************************************************************************************************/
mbed_official 35:f72ccc6892ee 77
mbed_official 35:f72ccc6892ee 78 /* Device Address 1 */
mbed_official 35:f72ccc6892ee 79 USB_HOST_CFG_PIPETBL_t usb_host_blk_ep_tbl1[ ] =
mbed_official 35:f72ccc6892ee 80 {
mbed_official 35:f72ccc6892ee 81 {
mbed_official 35:f72ccc6892ee 82 USB_HOST_PIPE3,
mbed_official 35:f72ccc6892ee 83 /* TYPE / BFRE / DBLB / CNTMD / SHTNAK / DIR / EPNUM */
mbed_official 35:f72ccc6892ee 84 USB_HOST_NONE | USB_HOST_NONE | USB_HOST_DBLBON | USB_HOST_CNTMDON | USB_HOST_NONE | USB_HOST_NONE | USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 85 (uint16_t)((uint16_t)(((1024) / 64) - 1) << 10) | (uint16_t)(8),
mbed_official 35:f72ccc6892ee 86 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 87 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 88 USB_HOST_D0USE
mbed_official 35:f72ccc6892ee 89 },
mbed_official 35:f72ccc6892ee 90
mbed_official 35:f72ccc6892ee 91 {
mbed_official 35:f72ccc6892ee 92 /* Pipe end */
mbed_official 35:f72ccc6892ee 93 0xFFFF,
mbed_official 35:f72ccc6892ee 94 0xFFFF,
mbed_official 35:f72ccc6892ee 95 0xFFFF,
mbed_official 35:f72ccc6892ee 96 0xFFFF,
mbed_official 35:f72ccc6892ee 97 0xFFFF,
mbed_official 35:f72ccc6892ee 98 0xFFFF
mbed_official 35:f72ccc6892ee 99 }
mbed_official 35:f72ccc6892ee 100 };
mbed_official 35:f72ccc6892ee 101
mbed_official 35:f72ccc6892ee 102 USB_HOST_CFG_PIPETBL_t usb_host_int_ep_tbl1[ ] =
mbed_official 35:f72ccc6892ee 103 {
mbed_official 35:f72ccc6892ee 104 {
mbed_official 35:f72ccc6892ee 105 USB_HOST_PIPE6,
mbed_official 35:f72ccc6892ee 106 /* TYPE / BFRE / DBLB / CNTMD / SHTNAK / DIR / EPNUM */
mbed_official 35:f72ccc6892ee 107 USB_HOST_NONE | USB_HOST_NONE | USB_HOST_DBLBOFF | USB_HOST_CNTMDOFF | USB_HOST_NONE | USB_HOST_NONE | USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 108 (uint16_t)((uint16_t)(((64) / 64) - 1) << 10) | (uint16_t)(40),
mbed_official 35:f72ccc6892ee 109 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 110 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 111 USB_HOST_D1USE
mbed_official 35:f72ccc6892ee 112 },
mbed_official 35:f72ccc6892ee 113
mbed_official 35:f72ccc6892ee 114 {
mbed_official 35:f72ccc6892ee 115 USB_HOST_PIPE7,
mbed_official 35:f72ccc6892ee 116 /* TYPE / BFRE / DBLB / CNTMD / SHTNAK / DIR / EPNUM */
mbed_official 35:f72ccc6892ee 117 USB_HOST_NONE | USB_HOST_NONE | USB_HOST_DBLBOFF | USB_HOST_CNTMDOFF | USB_HOST_NONE | USB_HOST_NONE | USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 118 (uint16_t)((uint16_t)(((64) / 64) - 1) << 10) | (uint16_t)(41),
mbed_official 35:f72ccc6892ee 119 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 120 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 121 USB_HOST_D1USE
mbed_official 35:f72ccc6892ee 122 },
mbed_official 35:f72ccc6892ee 123
mbed_official 35:f72ccc6892ee 124 {
mbed_official 35:f72ccc6892ee 125 USB_HOST_PIPE8,
mbed_official 35:f72ccc6892ee 126 /* TYPE / BFRE / DBLB / CNTMD / SHTNAK / DIR / EPNUM */
mbed_official 35:f72ccc6892ee 127 USB_HOST_NONE | USB_HOST_NONE | USB_HOST_DBLBOFF | USB_HOST_CNTMDOFF | USB_HOST_NONE | USB_HOST_NONE | USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 128 (uint16_t)((uint16_t)(((64) / 64) - 1) << 10) | (uint16_t)(42),
mbed_official 35:f72ccc6892ee 129 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 130 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 131 USB_HOST_D1USE
mbed_official 35:f72ccc6892ee 132 },
mbed_official 35:f72ccc6892ee 133
mbed_official 35:f72ccc6892ee 134 {
mbed_official 35:f72ccc6892ee 135 USB_HOST_PIPE9,
mbed_official 35:f72ccc6892ee 136 /* TYPE / BFRE / DBLB / CNTMD / SHTNAK / DIR / EPNUM */
mbed_official 35:f72ccc6892ee 137 USB_HOST_NONE | USB_HOST_NONE | USB_HOST_DBLBOFF | USB_HOST_CNTMDOFF | USB_HOST_NONE | USB_HOST_NONE | USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 138 (uint16_t)((uint16_t)(((64) / 64) - 1) << 10) | (uint16_t)(43),
mbed_official 35:f72ccc6892ee 139 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 140 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 141 USB_HOST_D1USE
mbed_official 35:f72ccc6892ee 142 },
mbed_official 35:f72ccc6892ee 143
mbed_official 35:f72ccc6892ee 144 {
mbed_official 35:f72ccc6892ee 145 /* Pipe end */
mbed_official 35:f72ccc6892ee 146 0xFFFF,
mbed_official 35:f72ccc6892ee 147 0xFFFF,
mbed_official 35:f72ccc6892ee 148 0xFFFF,
mbed_official 35:f72ccc6892ee 149 0xFFFF,
mbed_official 35:f72ccc6892ee 150 0xFFFF,
mbed_official 35:f72ccc6892ee 151 0xFFFF
mbed_official 35:f72ccc6892ee 152 }
mbed_official 35:f72ccc6892ee 153 };
mbed_official 35:f72ccc6892ee 154
mbed_official 35:f72ccc6892ee 155 USB_HOST_CFG_PIPETBL_t usb_host_iso_ep_tbl1[ ] =
mbed_official 35:f72ccc6892ee 156 {
mbed_official 35:f72ccc6892ee 157 {
mbed_official 35:f72ccc6892ee 158 USB_HOST_PIPE1,
mbed_official 35:f72ccc6892ee 159 /* TYPE / BFRE / DBLB / CNTMD / SHTNAK / DIR / EPNUM */
mbed_official 35:f72ccc6892ee 160 USB_HOST_NONE | USB_HOST_NONE | USB_HOST_DBLBON | USB_HOST_CNTMDOFF | USB_HOST_NONE | USB_HOST_NONE | USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 161 (uint16_t)((uint16_t)(((1024) / 64) - 1) << 10) | (uint16_t)(44),
mbed_official 35:f72ccc6892ee 162 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 163 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 164 USB_HOST_D1USE
mbed_official 35:f72ccc6892ee 165 },
mbed_official 35:f72ccc6892ee 166
mbed_official 35:f72ccc6892ee 167 {
mbed_official 35:f72ccc6892ee 168 USB_HOST_PIPE2,
mbed_official 35:f72ccc6892ee 169 /* TYPE / BFRE / DBLB / CNTMD / SHTNAK / DIR / EPNUM */
mbed_official 35:f72ccc6892ee 170 USB_HOST_NONE | USB_HOST_NONE | USB_HOST_DBLBON | USB_HOST_CNTMDOFF | USB_HOST_NONE | USB_HOST_NONE | USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 171 (uint16_t)((uint16_t)(((1024) / 64) - 1) << 10) | (uint16_t)(76),
mbed_official 35:f72ccc6892ee 172 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 173 USB_HOST_NONE,
mbed_official 35:f72ccc6892ee 174 USB_HOST_D1USE
mbed_official 35:f72ccc6892ee 175 },
mbed_official 35:f72ccc6892ee 176
mbed_official 35:f72ccc6892ee 177 {
mbed_official 35:f72ccc6892ee 178 /* Pipe end */
mbed_official 35:f72ccc6892ee 179 0xFFFF,
mbed_official 35:f72ccc6892ee 180 0xFFFF,
mbed_official 35:f72ccc6892ee 181 0xFFFF,
mbed_official 35:f72ccc6892ee 182 0xFFFF,
mbed_official 35:f72ccc6892ee 183 0xFFFF,
mbed_official 35:f72ccc6892ee 184 0xFFFF
mbed_official 35:f72ccc6892ee 185 }
mbed_official 35:f72ccc6892ee 186 };
mbed_official 35:f72ccc6892ee 187
mbed_official 35:f72ccc6892ee 188
mbed_official 35:f72ccc6892ee 189 /* End of File */