From 5f22ed065513388486c909d23dd48a4fee3e76ee Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Sat, 21 Jan 2012 19:22:56 +0100 Subject: Added USB register definitions. --- hal/usb.h | 42 ++++++++++++++++++++++++++++++++++++++++++ main.cpp | 4 ++++ 2 files changed, 46 insertions(+) create mode 100644 hal/usb.h diff --git a/hal/usb.h b/hal/usb.h new file mode 100644 index 0000000..6fbd24f --- /dev/null +++ b/hal/usb.h @@ -0,0 +1,42 @@ +#ifndef USB_H +#define USB_H + +#include + +struct USB_reg_t { + volatile uint32_t GOTGCTL; + volatile uint32_t GOTGINT; + volatile uint32_t GAHBCFG; + volatile uint32_t GUSBCFG; + volatile uint32_t GRSTCTL; + volatile uint32_t GINTSTS; + volatile uint32_t GINTMSK; + volatile uint32_t GRXSTSR; + volatile uint32_t GRXSTSP; + volatile uint32_t GRXFSIZ; + volatile uint32_t DIEPTXF0; + volatile uint32_t HNPTXSTS; + volatile uint32_t GCCFG; + volatile uint32_t CID; + uint32_t _reserved[49]; + volatile uint32_t HPTXFSIZ; + volatile uint32_t DIEPTXF1; + volatile uint32_t DIEPTXF2; + volatile uint32_t DIEPTXF3; +}; + +class USB_t { + public: + USB_reg_t& reg; + + USB_t(uint32_t reg_addr) : reg(*(USB_reg_t*)reg_addr) {} + +}; + +#if defined(STM32F1) + +#elif defined(STM32F4) +static USB_t OTG_FS(0x50000000); +#endif + +#endif diff --git a/main.cpp b/main.cpp index 3b43d9d..807c0b0 100644 --- a/main.cpp +++ b/main.cpp @@ -6,6 +6,8 @@ #include "pin.h" +#include "usb.h" + static Pin& led_green = PD12; static Pin& led_yellow = PD13; static Pin& led_red = PD14; @@ -25,6 +27,8 @@ int main() { led_red.set_mode(Pin::Output); led_blue.set_mode(Pin::Output); + RCC.enable(RCC.OTGFS); + while(1) { led_green.on(); Time::sleep(100); -- cgit v1.2.3