]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/USBDevice/USBDevice/TARGET_RENESAS/TARGET_RZ_A1H/usb1/inc/usb1_function.h
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / USBDevice / USBDevice / TARGET_RENESAS / TARGET_RZ_A1H / usb1 / inc / usb1_function.h
1 /*******************************************************************************
2 * DISCLAIMER
3 * This software is supplied by Renesas Electronics Corporation and is only
4 * intended for use with Renesas products. No other uses are authorized. This
5 * software is owned by Renesas Electronics Corporation and is protected under
6 * all applicable laws, including copyright laws.
7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
16 * Renesas reserves the right, without notice, to make changes to this software
17 * and to discontinue the availability of this software. By using this software,
18 * you agree to the additional terms and conditions found by accessing the
19 * following link:
20 * http://www.renesas.com/disclaimer
21 * Copyright (C) 2012 - 2014 Renesas Electronics Corporation. All rights reserved.
22 *******************************************************************************/
23 /*******************************************************************************
24 * File Name    : usb1_function.h
25 * $Rev: 1116 $
26 * $Date:: 2014-07-09 16:29:19 +0900#$
27 * Description  : RZ/A1H R7S72100 USB Sample Program
28 *******************************************************************************/
29 #ifndef USB1_FUNCTION_H
30 #define USB1_FUNCTION_H
31
32
33 /*******************************************************************************
34 Includes   <System Includes> , "Project Includes"
35 *******************************************************************************/
36 #include "devdrv_usb_function_api.h"
37 #include "usb_function.h"
38
39
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43
44 /*******************************************************************************
45 Typedef definitions
46 *******************************************************************************/
47
48
49 /*******************************************************************************
50 Macro definitions
51 *******************************************************************************/
52
53
54 /*******************************************************************************
55 Imported global variables and functions (from other files)
56 *******************************************************************************/
57 extern const uint16_t       g_usb1_function_bit_set[];
58 extern uint32_t             g_usb1_function_data_count[USB_FUNCTION_MAX_PIPE_NO + 1];
59 extern uint8_t              *g_usb1_function_data_pointer[USB_FUNCTION_MAX_PIPE_NO + 1];
60
61 extern uint16_t             g_usb1_function_PipeIgnore[];
62 extern uint16_t             g_usb1_function_PipeTbl[];
63 extern uint16_t             g_usb1_function_pipe_status[];
64 extern uint32_t             g_usb1_function_PipeDataSize[];
65
66 extern USB_FUNCTION_DMA_t   g_usb1_function_DmaInfo[];
67 extern uint16_t             g_usb1_function_DmaPipe[];
68 extern uint16_t             g_usb1_function_DmaBval[];
69 extern uint16_t             g_usb1_function_DmaStatus[];
70
71 extern uint16_t             g_usb1_function_CtrZeroLengthFlag;
72
73 extern uint16_t             g_usb1_function_ConfigNum;
74 extern uint16_t             g_usb1_function_Alternate[USB_FUNCTION_ALT_NO];
75 extern uint16_t             g_usb1_function_RemoteWakeupFlag;
76 extern uint16_t             g_usb1_function_TestModeFlag;
77 extern uint16_t             g_usb1_function_TestModeSelectors;
78
79 extern uint16_t             g_usb1_function_ReqType;
80 extern uint16_t             g_usb1_function_ReqTypeType;
81 extern uint16_t             g_usb1_function_ReqTypeRecip;
82 extern uint16_t             g_usb1_function_ReqRequest;
83 extern uint16_t             g_usb1_function_ReqValue;
84 extern uint16_t             g_usb1_function_ReqIndex;
85 extern uint16_t             g_usb1_function_ReqLength;
86
87 extern uint16_t             g_usb1_function_EPTableIndex[USB_FUNCTION_MAX_EP_NO + 1];
88
89 extern uint16_t             g_usb1_function_pipecfg[USB_FUNCTION_MAX_PIPE_NO + 1];
90 extern uint16_t             g_usb1_function_pipebuf[USB_FUNCTION_MAX_PIPE_NO + 1];
91 extern uint16_t             g_usb1_function_pipemaxp[USB_FUNCTION_MAX_PIPE_NO + 1];
92 extern uint16_t             g_usb1_function_pipeperi[USB_FUNCTION_MAX_PIPE_NO + 1];
93
94
95 /*******************************************************************************
96 Exported global variables and functions (to be accessed by other files)
97 *******************************************************************************/
98 /* ==== common ==== */
99 void     usb1_function_dma_stop_d0(uint16_t pipe, uint32_t remain);
100 void     usb1_function_dma_stop_d1(uint16_t pipe, uint32_t remain);
101 uint16_t usb1_function_is_hispeed(void);
102 uint16_t usb1_function_is_hispeed_enable(void);
103 uint16_t usb1_function_start_send_transfer(uint16_t pipe, uint32_t size, uint8_t *data);
104 uint16_t usb1_function_write_buffer(uint16_t pipe);
105 uint16_t usb1_function_write_buffer_c(uint16_t pipe);
106 uint16_t usb1_function_write_buffer_d0(uint16_t pipe);
107 uint16_t usb1_function_write_buffer_d1(uint16_t pipe);
108 void     usb1_function_start_receive_transfer(uint16_t pipe, uint32_t size, uint8_t *data);
109 uint16_t usb1_function_read_buffer(uint16_t pipe);
110 uint16_t usb1_function_read_buffer_c(uint16_t pipe);
111 uint16_t usb1_function_read_buffer_d0(uint16_t pipe);
112 uint16_t usb1_function_read_buffer_d1(uint16_t pipe);
113 uint16_t usb1_function_change_fifo_port(uint16_t pipe, uint16_t fifosel, uint16_t isel, uint16_t mbw);
114 void     usb1_function_set_curpipe(uint16_t pipe, uint16_t fifosel, uint16_t isel, uint16_t mbw);
115 void     usb1_function_set_curpipe2(uint16_t pipe, uint16_t fifosel, uint16_t isel, uint16_t mbw, uint16_t dfacc);
116 uint16_t usb1_function_get_mbw(uint32_t trncount, uint32_t dtptr);
117 uint16_t usb1_function_read_dma(uint16_t pipe);
118 void     usb1_function_brdy_int(uint16_t status, uint16_t int_enb);
119 void     usb1_function_nrdy_int(uint16_t status, uint16_t int_enb);
120 void     usb1_function_bemp_int(uint16_t status, uint16_t int_enb);
121 void     usb1_function_setting_interrupt(uint8_t level);
122 void     usb1_function_reset_module(uint16_t clockmode);
123 uint16_t usb1_function_get_buf_size(uint16_t pipe);
124 uint16_t usb1_function_get_mxps(uint16_t pipe);
125 void     usb1_function_clear_brdy_sts(uint16_t pipe);
126 void     usb1_function_clear_bemp_sts(uint16_t pipe);
127 void     usb1_function_clear_nrdy_sts(uint16_t pipe);
128 void     usb1_function_set_pid_buf(uint16_t pipe);
129 void     usb1_function_set_pid_nak(uint16_t pipe);
130 void     usb1_function_set_pid_stall(uint16_t pipe);
131 void     usb1_function_clear_pid_stall(uint16_t pipe);
132 uint16_t usb1_function_get_pid(uint16_t pipe);
133 void     usb1_function_set_sqclr(uint16_t pipe);
134 void     usb1_function_set_sqset(uint16_t pipe);
135 void     usb1_function_set_csclr(uint16_t pipe);
136 void     usb1_function_aclrm(uint16_t pipe);
137 void     usb1_function_set_aclrm(uint16_t pipe);
138 void     usb1_function_clr_aclrm(uint16_t pipe);
139 uint16_t usb1_function_get_sqmon(uint16_t pipe);
140 uint16_t usb1_function_get_inbuf(uint16_t pipe);
141
142 /* ==== function ==== */
143 void     usb1_function_init_status(void);
144 void     usb1_function_InitModule(uint16_t mode);
145 uint16_t usb1_function_CheckVBUStaus(void);
146 void     usb1_function_USB_FUNCTION_Attach(void);
147 void     usb1_function_USB_FUNCTION_Detach(void);
148 void     usb1_function_USB_FUNCTION_BusReset(void);
149 void     usb1_function_USB_FUNCTION_Resume(void);
150 void     usb1_function_USB_FUNCTION_Suspend(void);
151 void     usb1_function_USB_FUNCTION_TestMode(void);
152 void     usb1_function_ResetDCP(void);
153 void     usb1_function_ResetEP(uint16_t num);
154 uint16_t usb1_function_EpToPipe(uint16_t ep);
155 void     usb1_function_InitEPTable(uint16_t Con_Num, uint16_t Int_Num, uint16_t Alt_Num);
156 uint16_t usb1_function_GetConfigNum(void);
157 uint16_t usb1_function_GetAltNum(uint16_t Con_Num, uint16_t Int_Num);
158 uint16_t usb1_function_CheckRemoteWakeup(void);
159 void     usb1_function_clear_alt(void);
160 void     usb1_function_clear_pipe_tbl(void);
161 void     usb1_function_clear_ep_table_index(void);
162 uint16_t usb1_function_GetInterfaceNum(uint16_t num);
163
164 #ifdef __cplusplus
165 }
166 #endif
167
168
169 #endif /* USB1_FUNCTION_H */
170
171 /* End of File */