From 89baa2a3f6a301a608507f4bf6cfc741e5e06aac Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Thu, 20 Sep 2012 21:23:37 +0200 Subject: Added F1 USB driver. --- usb/f1_usb_def.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 usb/f1_usb_def.h (limited to 'usb/f1_usb_def.h') diff --git a/usb/f1_usb_def.h b/usb/f1_usb_def.h new file mode 100644 index 0000000..0e42f6f --- /dev/null +++ b/usb/f1_usb_def.h @@ -0,0 +1,35 @@ +#ifndef F1_USB_DEF_H +#define F1_USB_DEF_H + +#include + +class F1_USB_t { + private: + struct F1_USB_reg_t { + volatile uint32_t EPR[16]; + volatile uint32_t CNTR; + volatile uint32_t ISTR; + volatile uint32_t FNR; + volatile uint32_t DADDR; + volatile uint32_t BTABLE; + }; + + struct F1_USB_bufd_t { + volatile uint32_t ADDR_TX; + volatile uint32_t COUNT_TX; + volatile uint32_t ADDR_RX; + volatile uint32_t COUNT_RX; + }; + + public: + F1_USB_reg_t& reg; + F1_USB_bufd_t* bufd; + volatile uint32_t* buf; + + F1_USB_t(uint32_t reg_addr, uint32_t buf_addr) : + reg(*(F1_USB_reg_t*)reg_addr), + bufd((F1_USB_bufd_t*)buf_addr), + buf((volatile uint32_t*)buf_addr) {} +}; + +#endif -- cgit v1.2.3