VSF Documented
usbd_hs.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18#ifndef __HAL_DRIVER_NUVOTON_M480_USBD_HS_H__
19#define __HAL_DRIVER_NUVOTON_M480_USBD_HS_H__
20
21/*============================ INCLUDES ======================================*/
22#include "hal/vsf_hal_cfg.h"
23#include "../../../__device.h"
24
26#include "../../io/io.h"
27#include "../../pm/pm.h"
28
30
31/*============================ MACROS ========================================*/
32
33#define M480_USBD_HS_WROKAROUND_ISO
34
35/*============================ MACROFIED FUNCTIONS ===========================*/
36/*============================ TYPES =========================================*/
37
38typedef struct m480_usbd_hs_const_t {
39#ifdef M480_USBD_HS_WROKAROUND_ISO
40 // information from lv0
43#endif
44
45 // information from device.h
50 HSUSBD_T *reg;
52
53typedef struct m480_usbd_hs_t {
55#ifdef M480_USBD_HS_WROKAROUND_ISO
57#endif
58
59 struct {
61 void *param;
65
66/*============================ GLOBAL VARIABLES ==============================*/
67/*============================ INCLUDES ======================================*/
68/*============================ PROTOTYPES ====================================*/
69
71extern void m480_usbd_hs_fini(m480_usbd_hs_t *usbd_hs);
72extern void m480_usbd_hs_reset(m480_usbd_hs_t *usbd_hs, usb_dc_cfg_t *cfg);
73
74extern void m480_usbd_hs_connect(m480_usbd_hs_t *usbd_hs);
75extern void m480_usbd_hs_disconnect(m480_usbd_hs_t *usbd_hs);
76extern void m480_usbd_hs_wakeup(m480_usbd_hs_t *usbd_hs);
77
78extern void m480_usbd_hs_set_address(m480_usbd_hs_t *usbd_hs, uint_fast8_t addr);
80
83
84extern void m480_usbd_hs_get_setup(m480_usbd_hs_t *usbd_hs, uint8_t *buffer);
85extern void m480_usbd_hs_status_stage(m480_usbd_hs_t *usbd_hs, bool is_in);
86
90
94
96
101
104
105extern void m480_usbd_hs_irq(m480_usbd_hs_t *usbd_hs);
106
107#endif
108/* EOF */
vsf_err_t
Definition __type.h:42
m480_usbphy_t
Definition __common.h:39
enum IRQn IRQn_Type
unsigned short uint16_t
Definition stdint.h:7
unsigned char uint_fast8_t
Definition stdint.h:23
unsigned int uint_fast32_t
Definition stdint.h:27
unsigned short uint_fast16_t
Definition stdint.h:25
unsigned char uint8_t
Definition stdint.h:5
Definition usbd_hs.h:38
uint8_t * tx_retry_cnt
Definition usbd_hs.h:42
m480_usbphy_t phy
Definition usbd_hs.h:47
uint8_t ep_num
Definition usbd_hs.h:46
IRQn_Type irq
Definition usbd_hs.h:48
vsf_pm_sclk_no_t sclk
Definition usbd_hs.h:49
uint16_t * tx_size
Definition usbd_hs.h:41
HSUSBD_T * reg
Definition usbd_hs.h:50
Definition usbd_hs.h:53
usb_dc_evthandler_t evthandler
Definition usbd_hs.h:60
const m480_usbd_hs_const_t * param
Definition usbd_hs.h:63
uint16_t ep_tx_mask
Definition usbd_hs.h:56
void * param
Definition usbd_hs.h:61
struct m480_usbd_hs_t::@607 callback
uint16_t ep_buf_ptr
Definition usbd_hs.h:54
Definition vsf_template_usb.h:316
vsf_err_t m480_usbd_hs_ep_transaction_set_data_size(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep, uint_fast16_t size)
Definition usbd_hs.c:497
vsf_err_t m480_usbd_hs_ep_transfer_recv(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep, uint8_t *buffer, uint_fast32_t size)
Definition usbd_hs.c:586
void m480_usbd_hs_disconnect(m480_usbd_hs_t *usbd_hs)
Definition usbd_hs.c:219
void m480_usbd_hs_set_address(m480_usbd_hs_t *usbd_hs, uint_fast8_t addr)
Definition usbd_hs.c:231
void m480_usbd_hs_fini(m480_usbd_hs_t *usbd_hs)
Definition usbd_hs.c:188
void m480_usbd_hs_irq(m480_usbd_hs_t *usbd_hs)
Definition usbd_hs.c:619
void m480_usbd_hs_get_setup(m480_usbd_hs_t *usbd_hs, uint8_t *buffer)
Definition usbd_hs.c:255
vsf_err_t m480_usbd_hs_ep_transaction_write_buffer(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep, uint8_t *buffer, uint_fast16_t size)
Definition usbd_hs.c:535
uint_fast8_t m480_usbd_hs_get_address(m480_usbd_hs_t *usbd_hs)
Definition usbd_hs.c:237
void m480_usbd_hs_connect(m480_usbd_hs_t *usbd_hs)
Definition usbd_hs.c:213
vsf_err_t m480_usbd_hs_ep_clear_stall(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep)
Definition usbd_hs.c:404
vsf_err_t m480_usbd_hs_ep_transaction_read_buffer(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep, uint8_t *buffer, uint_fast16_t size)
Definition usbd_hs.c:444
vsf_err_t m480_usbd_hs_ep_add(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep, usb_ep_type_t type, uint_fast16_t size)
Definition usbd_hs.c:304
uint_fast16_t m480_usbd_hs_get_frame_number(m480_usbd_hs_t *usbd_hs)
Definition usbd_hs.c:243
vsf_err_t m480_usbd_hs_ep_transaction_enable_out(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep)
Definition usbd_hs.c:478
vsf_err_t m480_usbd_hs_ep_transfer_send(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep, uint8_t *buffer, uint_fast32_t size, bool zlp)
Definition usbd_hs.c:599
bool m480_usbd_hs_ep_is_stalled(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep)
Definition usbd_hs.c:386
uint_fast8_t m480_usbd_hs_get_mframe_number(m480_usbd_hs_t *usbd_hs)
Definition usbd_hs.c:249
uint_fast32_t m480_usbd_hs_ep_get_data_size(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep)
Definition usbd_hs.c:425
void m480_usbd_hs_wakeup(m480_usbd_hs_t *usbd_hs)
Definition usbd_hs.c:225
uint_fast16_t m480_usbd_hs_ep_get_size(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep)
Definition usbd_hs.c:344
vsf_err_t m480_usbd_hs_ep_set_stall(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep)
Definition usbd_hs.c:364
void m480_usbd_hs_status_stage(m480_usbd_hs_t *usbd_hs, bool is_in)
Definition usbd_hs.c:272
void m480_usbd_hs_reset(m480_usbd_hs_t *usbd_hs, usb_dc_cfg_t *cfg)
Definition usbd_hs.c:198
vsf_err_t m480_usbd_hs_init(m480_usbd_hs_t *usbd_hs, usb_dc_cfg_t *cfg)
Definition usbd_hs.c:125
uint_fast8_t m480_usbd_hs_ep_get_feature(m480_usbd_hs_t *usbd_hs, uint_fast8_t ep, uint_fast8_t feature)
Definition usbd_hs.c:278
vk_av_control_type_t type
Definition vsf_audio.h:170
uint32_t size
Definition vsf_memfs.h:50
vsf_pm_sclk_no_t
Definition vsf_template_pm.h:242
usb_ep_type_t
Definition vsf_template_usb.h:277
void(* usb_dc_evthandler_t)(void *param, usb_evt_t evt, uint_fast8_t value)
Definition vsf_template_usb.h:309