172 líneas
8.3 KiB
C
172 líneas
8.3 KiB
C
|
/*******************************************************************************
|
||
|
* DISCLAIMER
|
||
|
* This software is supplied by Renesas Electronics Corporation and is only
|
||
|
* intended for use with Renesas products. No other uses are authorized. This
|
||
|
* software is owned by Renesas Electronics Corporation and is protected under
|
||
|
* all applicable laws, including copyright laws.
|
||
|
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
|
||
|
* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
|
||
|
* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
|
||
|
* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
|
||
|
* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
|
||
|
* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
|
||
|
* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
|
||
|
* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
|
||
|
* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||
|
* Renesas reserves the right, without notice, to make changes to this software
|
||
|
* and to discontinue the availability of this software. By using this software,
|
||
|
* you agree to the additional terms and conditions found by accessing the
|
||
|
* following link:
|
||
|
* http://www.renesas.com/disclaimer
|
||
|
* Copyright (C) 2012 - 2014 Renesas Electronics Corporation. All rights reserved.
|
||
|
*******************************************************************************/
|
||
|
/*******************************************************************************
|
||
|
* File Name : usb0_function.h
|
||
|
* $Rev: 1116 $
|
||
|
* $Date:: 2014-07-09 16:29:19 +0900#$
|
||
|
* Description : RZ/A1H R7S72100 USB Sample Program
|
||
|
*******************************************************************************/
|
||
|
#ifndef USB0_FUNCTION_H
|
||
|
#define USB0_FUNCTION_H
|
||
|
|
||
|
|
||
|
/*******************************************************************************
|
||
|
Includes <System Includes> , "Project Includes"
|
||
|
*******************************************************************************/
|
||
|
#include "devdrv_usb_function_api.h"
|
||
|
#include "usb_function.h"
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/*******************************************************************************
|
||
|
Typedef definitions
|
||
|
*******************************************************************************/
|
||
|
|
||
|
|
||
|
/*******************************************************************************
|
||
|
Macro definitions
|
||
|
*******************************************************************************/
|
||
|
|
||
|
|
||
|
/*******************************************************************************
|
||
|
Imported global variables and functions (from other files)
|
||
|
*******************************************************************************/
|
||
|
extern const uint16_t g_usb0_function_bit_set[];
|
||
|
extern uint32_t g_usb0_function_data_count[USB_FUNCTION_MAX_PIPE_NO + 1];
|
||
|
extern uint8_t *g_usb0_function_data_pointer[USB_FUNCTION_MAX_PIPE_NO + 1];
|
||
|
|
||
|
extern uint16_t g_usb0_function_PipeIgnore[];
|
||
|
extern uint16_t g_usb0_function_PipeTbl[];
|
||
|
extern uint16_t g_usb0_function_pipe_status[];
|
||
|
extern uint32_t g_usb0_function_PipeDataSize[];
|
||
|
|
||
|
extern USB_FUNCTION_DMA_t g_usb0_function_DmaInfo[];
|
||
|
extern uint16_t g_usb0_function_DmaPipe[];
|
||
|
extern uint16_t g_usb0_function_DmaBval[];
|
||
|
extern uint16_t g_usb0_function_DmaStatus[];
|
||
|
|
||
|
extern uint16_t g_usb0_function_CtrZeroLengthFlag;
|
||
|
|
||
|
extern uint16_t g_usb0_function_ConfigNum;
|
||
|
extern uint16_t g_usb0_function_Alternate[USB_FUNCTION_ALT_NO];
|
||
|
extern uint16_t g_usb0_function_RemoteWakeupFlag;
|
||
|
extern uint16_t g_usb0_function_TestModeFlag;
|
||
|
extern uint16_t g_usb0_function_TestModeSelectors;
|
||
|
|
||
|
extern uint16_t g_usb0_function_ReqType;
|
||
|
extern uint16_t g_usb0_function_ReqTypeType;
|
||
|
extern uint16_t g_usb0_function_ReqTypeRecip;
|
||
|
extern uint16_t g_usb0_function_ReqRequest;
|
||
|
extern uint16_t g_usb0_function_ReqValue;
|
||
|
extern uint16_t g_usb0_function_ReqIndex;
|
||
|
extern uint16_t g_usb0_function_ReqLength;
|
||
|
|
||
|
extern uint16_t g_usb0_function_EPTableIndex[USB_FUNCTION_MAX_EP_NO + 1];
|
||
|
|
||
|
extern uint16_t g_usb0_function_pipecfg[USB_FUNCTION_MAX_PIPE_NO + 1];
|
||
|
extern uint16_t g_usb0_function_pipebuf[USB_FUNCTION_MAX_PIPE_NO + 1];
|
||
|
extern uint16_t g_usb0_function_pipemaxp[USB_FUNCTION_MAX_PIPE_NO + 1];
|
||
|
extern uint16_t g_usb0_function_pipeperi[USB_FUNCTION_MAX_PIPE_NO + 1];
|
||
|
|
||
|
|
||
|
/*******************************************************************************
|
||
|
Exported global variables and functions (to be accessed by other files)
|
||
|
*******************************************************************************/
|
||
|
/* ==== common ==== */
|
||
|
void usb0_function_dma_stop_d0(uint16_t pipe, uint32_t remain);
|
||
|
void usb0_function_dma_stop_d1(uint16_t pipe, uint32_t remain);
|
||
|
uint16_t usb0_function_is_hispeed(void);
|
||
|
uint16_t usb0_function_is_hispeed_enable(void);
|
||
|
uint16_t usb0_function_start_send_transfer(uint16_t pipe, uint32_t size, uint8_t *data);
|
||
|
uint16_t usb0_function_write_buffer(uint16_t pipe);
|
||
|
uint16_t usb0_function_write_buffer_c(uint16_t pipe);
|
||
|
uint16_t usb0_function_write_buffer_d0(uint16_t pipe);
|
||
|
uint16_t usb0_function_write_buffer_d1(uint16_t pipe);
|
||
|
void usb0_function_start_receive_transfer(uint16_t pipe, uint32_t size, uint8_t *data);
|
||
|
uint16_t usb0_function_read_buffer(uint16_t pipe);
|
||
|
uint16_t usb0_function_read_buffer_c(uint16_t pipe);
|
||
|
uint16_t usb0_function_read_buffer_d0(uint16_t pipe);
|
||
|
uint16_t usb0_function_read_buffer_d1(uint16_t pipe);
|
||
|
uint16_t usb0_function_change_fifo_port(uint16_t pipe, uint16_t fifosel, uint16_t isel, uint16_t mbw);
|
||
|
void usb0_function_set_curpipe(uint16_t pipe, uint16_t fifosel, uint16_t isel, uint16_t mbw);
|
||
|
void usb0_function_set_curpipe2(uint16_t pipe, uint16_t fifosel, uint16_t isel, uint16_t mbw, uint16_t dfacc);
|
||
|
uint16_t usb0_function_get_mbw(uint32_t trncount, uint32_t dtptr);
|
||
|
uint16_t usb0_function_read_dma(uint16_t pipe);
|
||
|
void usb0_function_brdy_int(uint16_t status, uint16_t int_enb);
|
||
|
void usb0_function_nrdy_int(uint16_t status, uint16_t int_enb);
|
||
|
void usb0_function_bemp_int(uint16_t status, uint16_t int_enb);
|
||
|
void usb0_function_setting_interrupt(uint8_t level);
|
||
|
void usb0_function_reset_module(uint16_t clockmode);
|
||
|
uint16_t usb0_function_get_buf_size(uint16_t pipe);
|
||
|
uint16_t usb0_function_get_mxps(uint16_t pipe);
|
||
|
void usb0_function_clear_brdy_sts(uint16_t pipe);
|
||
|
void usb0_function_clear_bemp_sts(uint16_t pipe);
|
||
|
void usb0_function_clear_nrdy_sts(uint16_t pipe);
|
||
|
void usb0_function_set_pid_buf(uint16_t pipe);
|
||
|
void usb0_function_set_pid_nak(uint16_t pipe);
|
||
|
void usb0_function_set_pid_stall(uint16_t pipe);
|
||
|
void usb0_function_clear_pid_stall(uint16_t pipe);
|
||
|
uint16_t usb0_function_get_pid(uint16_t pipe);
|
||
|
void usb0_function_set_sqclr(uint16_t pipe);
|
||
|
void usb0_function_set_sqset(uint16_t pipe);
|
||
|
void usb0_function_set_csclr(uint16_t pipe);
|
||
|
void usb0_function_aclrm(uint16_t pipe);
|
||
|
void usb0_function_set_aclrm(uint16_t pipe);
|
||
|
void usb0_function_clr_aclrm(uint16_t pipe);
|
||
|
uint16_t usb0_function_get_sqmon(uint16_t pipe);
|
||
|
uint16_t usb0_function_get_inbuf(uint16_t pipe);
|
||
|
|
||
|
/* ==== function ==== */
|
||
|
void usb0_function_init_status(void);
|
||
|
void usb0_function_InitModule(uint16_t mode);
|
||
|
uint16_t usb0_function_CheckVBUStaus(void);
|
||
|
void usb0_function_USB_FUNCTION_Attach(void);
|
||
|
void usb0_function_USB_FUNCTION_Detach(void);
|
||
|
void usb0_function_USB_FUNCTION_BusReset(void);
|
||
|
void usb0_function_USB_FUNCTION_Resume(void);
|
||
|
void usb0_function_USB_FUNCTION_Suspend(void);
|
||
|
void usb0_function_USB_FUNCTION_TestMode(void);
|
||
|
void usb0_function_ResetDCP(void);
|
||
|
void usb0_function_ResetEP(uint16_t num);
|
||
|
uint16_t usb0_function_EpToPipe(uint16_t ep);
|
||
|
void usb0_function_InitEPTable(uint16_t Con_Num, uint16_t Int_Num, uint16_t Alt_Num);
|
||
|
uint16_t usb0_function_GetConfigNum(void);
|
||
|
uint16_t usb0_function_GetAltNum(uint16_t Con_Num, uint16_t Int_Num);
|
||
|
uint16_t usb0_function_CheckRemoteWakeup(void);
|
||
|
void usb0_function_clear_alt(void);
|
||
|
void usb0_function_clear_pipe_tbl(void);
|
||
|
void usb0_function_clear_ep_table_index(void);
|
||
|
uint16_t usb0_function_GetInterfaceNum(uint16_t num);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#endif /* USB0_FUNCTION_H */
|
||
|
|
||
|
/* End of File */
|