diff --git a/include/generated/csr.h b/include/generated/csr.h index c4a691c..7492f4a 100644 --- a/include/generated/csr.h +++ b/include/generated/csr.h @@ -209,80 +209,146 @@ static inline void uart_phy_tuning_word_write(unsigned int value) { /* usb */ #define CSR_USB_BASE 0xe0005000 -#define CSR_USB_OBUF_HEAD_ADDR 0xe0005000 -#define CSR_USB_OBUF_HEAD_SIZE 1 -static inline unsigned char usb_obuf_head_read(void) { +#define CSR_USB_PULLUP_OUT_ADDR 0xe0005000 +#define CSR_USB_PULLUP_OUT_SIZE 1 +static inline unsigned char usb_pullup_out_read(void) { unsigned char r = csr_readl(0xe0005000); return r; } -static inline void usb_obuf_head_write(unsigned char value) { +static inline void usb_pullup_out_write(unsigned char value) { csr_writel(value, 0xe0005000); } -#define CSR_USB_OBUF_EMPTY_ADDR 0xe0005004 -#define CSR_USB_OBUF_EMPTY_SIZE 1 -static inline unsigned char usb_obuf_empty_read(void) { +#define CSR_USB_EP_0_OUT_EV_STATUS_ADDR 0xe0005004 +#define CSR_USB_EP_0_OUT_EV_STATUS_SIZE 1 +static inline unsigned char usb_ep_0_out_ev_status_read(void) { unsigned char r = csr_readl(0xe0005004); return r; } -#define CSR_USB_ARM_ADDR 0xe0005008 -#define CSR_USB_ARM_SIZE 1 -static inline unsigned char usb_arm_read(void) { +static inline void usb_ep_0_out_ev_status_write(unsigned char value) { + csr_writel(value, 0xe0005004); +} +#define CSR_USB_EP_0_OUT_EV_PENDING_ADDR 0xe0005008 +#define CSR_USB_EP_0_OUT_EV_PENDING_SIZE 1 +static inline unsigned char usb_ep_0_out_ev_pending_read(void) { unsigned char r = csr_readl(0xe0005008); return r; } -static inline void usb_arm_write(unsigned char value) { +static inline void usb_ep_0_out_ev_pending_write(unsigned char value) { csr_writel(value, 0xe0005008); } -#define CSR_USB_IBUF_HEAD_ADDR 0xe000500c -#define CSR_USB_IBUF_HEAD_SIZE 1 -static inline unsigned char usb_ibuf_head_read(void) { +#define CSR_USB_EP_0_OUT_EV_ENABLE_ADDR 0xe000500c +#define CSR_USB_EP_0_OUT_EV_ENABLE_SIZE 1 +static inline unsigned char usb_ep_0_out_ev_enable_read(void) { unsigned char r = csr_readl(0xe000500c); return r; } -static inline void usb_ibuf_head_write(unsigned char value) { +static inline void usb_ep_0_out_ev_enable_write(unsigned char value) { csr_writel(value, 0xe000500c); } -#define CSR_USB_IBUF_EMPTY_ADDR 0xe0005010 -#define CSR_USB_IBUF_EMPTY_SIZE 1 -static inline unsigned char usb_ibuf_empty_read(void) { +#define CSR_USB_EP_0_OUT_LAST_TOK_ADDR 0xe0005010 +#define CSR_USB_EP_0_OUT_LAST_TOK_SIZE 1 +static inline unsigned char usb_ep_0_out_last_tok_read(void) { unsigned char r = csr_readl(0xe0005010); return r; } -#define CSR_USB_PULLUP_OUT_ADDR 0xe0005014 -#define CSR_USB_PULLUP_OUT_SIZE 1 -static inline unsigned char usb_pullup_out_read(void) { +#define CSR_USB_EP_0_OUT_RESPOND_ADDR 0xe0005014 +#define CSR_USB_EP_0_OUT_RESPOND_SIZE 1 +static inline unsigned char usb_ep_0_out_respond_read(void) { unsigned char r = csr_readl(0xe0005014); return r; } -static inline void usb_pullup_out_write(unsigned char value) { +static inline void usb_ep_0_out_respond_write(unsigned char value) { csr_writel(value, 0xe0005014); } -#define CSR_USB_EV_STATUS_ADDR 0xe0005018 -#define CSR_USB_EV_STATUS_SIZE 1 -static inline unsigned char usb_ev_status_read(void) { +#define CSR_USB_EP_0_OUT_DTB_ADDR 0xe0005018 +#define CSR_USB_EP_0_OUT_DTB_SIZE 1 +static inline unsigned char usb_ep_0_out_dtb_read(void) { unsigned char r = csr_readl(0xe0005018); return r; } -static inline void usb_ev_status_write(unsigned char value) { +static inline void usb_ep_0_out_dtb_write(unsigned char value) { csr_writel(value, 0xe0005018); } -#define CSR_USB_EV_PENDING_ADDR 0xe000501c -#define CSR_USB_EV_PENDING_SIZE 1 -static inline unsigned char usb_ev_pending_read(void) { +#define CSR_USB_EP_0_OUT_OBUF_HEAD_ADDR 0xe000501c +#define CSR_USB_EP_0_OUT_OBUF_HEAD_SIZE 1 +static inline unsigned char usb_ep_0_out_obuf_head_read(void) { unsigned char r = csr_readl(0xe000501c); return r; } -static inline void usb_ev_pending_write(unsigned char value) { +static inline void usb_ep_0_out_obuf_head_write(unsigned char value) { csr_writel(value, 0xe000501c); } -#define CSR_USB_EV_ENABLE_ADDR 0xe0005020 -#define CSR_USB_EV_ENABLE_SIZE 1 -static inline unsigned char usb_ev_enable_read(void) { +#define CSR_USB_EP_0_OUT_OBUF_EMPTY_ADDR 0xe0005020 +#define CSR_USB_EP_0_OUT_OBUF_EMPTY_SIZE 1 +static inline unsigned char usb_ep_0_out_obuf_empty_read(void) { unsigned char r = csr_readl(0xe0005020); return r; } -static inline void usb_ev_enable_write(unsigned char value) { - csr_writel(value, 0xe0005020); +#define CSR_USB_EP_0_IN_EV_STATUS_ADDR 0xe0005024 +#define CSR_USB_EP_0_IN_EV_STATUS_SIZE 1 +static inline unsigned char usb_ep_0_in_ev_status_read(void) { + unsigned char r = csr_readl(0xe0005024); + return r; +} +static inline void usb_ep_0_in_ev_status_write(unsigned char value) { + csr_writel(value, 0xe0005024); +} +#define CSR_USB_EP_0_IN_EV_PENDING_ADDR 0xe0005028 +#define CSR_USB_EP_0_IN_EV_PENDING_SIZE 1 +static inline unsigned char usb_ep_0_in_ev_pending_read(void) { + unsigned char r = csr_readl(0xe0005028); + return r; +} +static inline void usb_ep_0_in_ev_pending_write(unsigned char value) { + csr_writel(value, 0xe0005028); +} +#define CSR_USB_EP_0_IN_EV_ENABLE_ADDR 0xe000502c +#define CSR_USB_EP_0_IN_EV_ENABLE_SIZE 1 +static inline unsigned char usb_ep_0_in_ev_enable_read(void) { + unsigned char r = csr_readl(0xe000502c); + return r; +} +static inline void usb_ep_0_in_ev_enable_write(unsigned char value) { + csr_writel(value, 0xe000502c); +} +#define CSR_USB_EP_0_IN_LAST_TOK_ADDR 0xe0005030 +#define CSR_USB_EP_0_IN_LAST_TOK_SIZE 1 +static inline unsigned char usb_ep_0_in_last_tok_read(void) { + unsigned char r = csr_readl(0xe0005030); + return r; +} +#define CSR_USB_EP_0_IN_RESPOND_ADDR 0xe0005034 +#define CSR_USB_EP_0_IN_RESPOND_SIZE 1 +static inline unsigned char usb_ep_0_in_respond_read(void) { + unsigned char r = csr_readl(0xe0005034); + return r; +} +static inline void usb_ep_0_in_respond_write(unsigned char value) { + csr_writel(value, 0xe0005034); +} +#define CSR_USB_EP_0_IN_DTB_ADDR 0xe0005038 +#define CSR_USB_EP_0_IN_DTB_SIZE 1 +static inline unsigned char usb_ep_0_in_dtb_read(void) { + unsigned char r = csr_readl(0xe0005038); + return r; +} +static inline void usb_ep_0_in_dtb_write(unsigned char value) { + csr_writel(value, 0xe0005038); +} +#define CSR_USB_EP_0_IN_IBUF_HEAD_ADDR 0xe000503c +#define CSR_USB_EP_0_IN_IBUF_HEAD_SIZE 1 +static inline unsigned char usb_ep_0_in_ibuf_head_read(void) { + unsigned char r = csr_readl(0xe000503c); + return r; +} +static inline void usb_ep_0_in_ibuf_head_write(unsigned char value) { + csr_writel(value, 0xe000503c); +} +#define CSR_USB_EP_0_IN_IBUF_EMPTY_ADDR 0xe0005040 +#define CSR_USB_EP_0_IN_IBUF_EMPTY_SIZE 1 +static inline unsigned char usb_ep_0_in_ibuf_empty_read(void) { + unsigned char r = csr_readl(0xe0005040); + return r; } #define CSR_IDENTIFIER_MEM_BASE 0xe0002000 diff --git a/input/top.bin b/input/top.bin index c40a55a..1407640 100644 Binary files a/input/top.bin and b/input/top.bin differ diff --git a/src/main.c b/src/main.c index e87ae73..43eb542 100644 --- a/src/main.c +++ b/src/main.c @@ -11,8 +11,8 @@ void isr(void) { irqs = irq_pending() & irq_getmask(); - if (irqs & (1 << USB_INTERRUPT)) - usb_isr(); +// if (irqs & (1 << USB_INTERRUPT)) +// usb_isr(); if (irqs & (1 << UART_INTERRUPT)) uart_isr();