From 436253e9d0bd9b106a4af6e7a39c4ba5c0af905b Mon Sep 17 00:00:00 2001 From: Sean Cross Date: Tue, 9 Jul 2019 19:03:51 +0800 Subject: [PATCH] sw: sync generated files Sync the generated header and linker files, based on the current API. Signed-off-by: Sean Cross --- sw/include/generated/csr.h | 491 +++++++++++++++++++------------------ sw/include/generated/mem.h | 12 +- sw/ld/output_format.ld | 2 +- sw/ld/regions.ld | 11 +- 4 files changed, 274 insertions(+), 242 deletions(-) diff --git a/sw/include/generated/csr.h b/sw/include/generated/csr.h index 0728bba..2774fa5 100644 --- a/sw/include/generated/csr.h +++ b/sw/include/generated/csr.h @@ -1,5 +1,5 @@ //-------------------------------------------------------------------------------- -// Auto-generated by Migen (ae42105) & LiteX (6a975e58) on 2019-07-08 16:22:23 +// Auto-generated by Migen (ae42105) & LiteX (ccbf1418) on 2019-07-09 19:02:56 //-------------------------------------------------------------------------------- #ifndef __GENERATED_CSR_H #define __GENERATED_CSR_H @@ -16,631 +16,658 @@ extern uint32_t csr_readl(unsigned long addr); #endif /* ! CSR_ACCESSORS_DEFINED */ /* ctrl */ -#define CSR_CTRL_BASE 0x82000000L -#define CSR_CTRL_RESET_ADDR 0x82000000L +#define CSR_CTRL_BASE 0xe0000000L +#define CSR_CTRL_RESET_ADDR 0xe0000000L #define CSR_CTRL_RESET_SIZE 1 static inline unsigned char ctrl_reset_read(void) { - unsigned char r = csr_readl(0x82000000L); + unsigned char r = csr_readl(0xe0000000L); return r; } static inline void ctrl_reset_write(unsigned char value) { - csr_writel(value, 0x82000000L); + csr_writel(value, 0xe0000000L); } -#define CSR_CTRL_SCRATCH_ADDR 0x82000004L +#define CSR_CTRL_SCRATCH_ADDR 0xe0000004L #define CSR_CTRL_SCRATCH_SIZE 4 static inline unsigned int ctrl_scratch_read(void) { - unsigned int r = csr_readl(0x82000004L); + unsigned int r = csr_readl(0xe0000004L); r <<= 8; - r |= csr_readl(0x82000008L); + r |= csr_readl(0xe0000008L); r <<= 8; - r |= csr_readl(0x8200000cL); + r |= csr_readl(0xe000000cL); r <<= 8; - r |= csr_readl(0x82000010L); + r |= csr_readl(0xe0000010L); return r; } static inline void ctrl_scratch_write(unsigned int value) { - csr_writel(value >> 24, 0x82000004L); - csr_writel(value >> 16, 0x82000008L); - csr_writel(value >> 8, 0x8200000cL); - csr_writel(value, 0x82000010L); + csr_writel(value >> 24, 0xe0000004L); + csr_writel(value >> 16, 0xe0000008L); + csr_writel(value >> 8, 0xe000000cL); + csr_writel(value, 0xe0000010L); } -#define CSR_CTRL_BUS_ERRORS_ADDR 0x82000014L +#define CSR_CTRL_BUS_ERRORS_ADDR 0xe0000014L #define CSR_CTRL_BUS_ERRORS_SIZE 4 static inline unsigned int ctrl_bus_errors_read(void) { - unsigned int r = csr_readl(0x82000014L); + unsigned int r = csr_readl(0xe0000014L); r <<= 8; - r |= csr_readl(0x82000018L); + r |= csr_readl(0xe0000018L); r <<= 8; - r |= csr_readl(0x8200001cL); + r |= csr_readl(0xe000001cL); r <<= 8; - r |= csr_readl(0x82000020L); + r |= csr_readl(0xe0000020L); return r; } +/* litexspi */ +#define CSR_LITEXSPI_BASE 0xe0007800L +#define CSR_LITEXSPI_BITBANG_ADDR 0xe0007800L +#define CSR_LITEXSPI_BITBANG_SIZE 1 +static inline unsigned char litexspi_bitbang_read(void) { + unsigned char r = csr_readl(0xe0007800L); + return r; +} +static inline void litexspi_bitbang_write(unsigned char value) { + csr_writel(value, 0xe0007800L); +} +#define CSR_LITEXSPI_MISO_ADDR 0xe0007804L +#define CSR_LITEXSPI_MISO_SIZE 1 +static inline unsigned char litexspi_miso_read(void) { + unsigned char r = csr_readl(0xe0007804L); + return r; +} +#define CSR_LITEXSPI_BITBANG_EN_ADDR 0xe0007808L +#define CSR_LITEXSPI_BITBANG_EN_SIZE 1 +static inline unsigned char litexspi_bitbang_en_read(void) { + unsigned char r = csr_readl(0xe0007808L); + return r; +} +static inline void litexspi_bitbang_en_write(unsigned char value) { + csr_writel(value, 0xe0007808L); +} + /* reboot */ -#define CSR_REBOOT_BASE 0x82006000L -#define CSR_REBOOT_CTRL_ADDR 0x82006000L +#define CSR_REBOOT_BASE 0xe0006000L +#define CSR_REBOOT_CTRL_ADDR 0xe0006000L #define CSR_REBOOT_CTRL_SIZE 1 static inline unsigned char reboot_ctrl_read(void) { - unsigned char r = csr_readl(0x82006000L); + unsigned char r = csr_readl(0xe0006000L); return r; } static inline void reboot_ctrl_write(unsigned char value) { - csr_writel(value, 0x82006000L); + csr_writel(value, 0xe0006000L); } -#define CSR_REBOOT_ADDR_ADDR 0x82006004L +#define CSR_REBOOT_ADDR_ADDR 0xe0006004L #define CSR_REBOOT_ADDR_SIZE 4 static inline unsigned int reboot_addr_read(void) { - unsigned int r = csr_readl(0x82006004L); + unsigned int r = csr_readl(0xe0006004L); r <<= 8; - r |= csr_readl(0x82006008L); + r |= csr_readl(0xe0006008L); r <<= 8; - r |= csr_readl(0x8200600cL); + r |= csr_readl(0xe000600cL); r <<= 8; - r |= csr_readl(0x82006010L); + r |= csr_readl(0xe0006010L); return r; } static inline void reboot_addr_write(unsigned int value) { - csr_writel(value >> 24, 0x82006004L); - csr_writel(value >> 16, 0x82006008L); - csr_writel(value >> 8, 0x8200600cL); - csr_writel(value, 0x82006010L); + csr_writel(value >> 24, 0xe0006004L); + csr_writel(value >> 16, 0xe0006008L); + csr_writel(value >> 8, 0xe000600cL); + csr_writel(value, 0xe0006010L); } /* rgb */ -#define CSR_RGB_BASE 0x82006800L -#define CSR_RGB_DAT_ADDR 0x82006800L +#define CSR_RGB_BASE 0xe0006800L +#define CSR_RGB_DAT_ADDR 0xe0006800L #define CSR_RGB_DAT_SIZE 1 static inline unsigned char rgb_dat_read(void) { - unsigned char r = csr_readl(0x82006800L); + unsigned char r = csr_readl(0xe0006800L); return r; } static inline void rgb_dat_write(unsigned char value) { - csr_writel(value, 0x82006800L); + csr_writel(value, 0xe0006800L); } -#define CSR_RGB_ADDR_ADDR 0x82006804L +#define CSR_RGB_ADDR_ADDR 0xe0006804L #define CSR_RGB_ADDR_SIZE 1 static inline unsigned char rgb_addr_read(void) { - unsigned char r = csr_readl(0x82006804L); + unsigned char r = csr_readl(0xe0006804L); return r; } static inline void rgb_addr_write(unsigned char value) { - csr_writel(value, 0x82006804L); + csr_writel(value, 0xe0006804L); } -#define CSR_RGB_CTRL_ADDR 0x82006808L +#define CSR_RGB_CTRL_ADDR 0xe0006808L #define CSR_RGB_CTRL_SIZE 1 static inline unsigned char rgb_ctrl_read(void) { - unsigned char r = csr_readl(0x82006808L); + unsigned char r = csr_readl(0xe0006808L); return r; } static inline void rgb_ctrl_write(unsigned char value) { - csr_writel(value, 0x82006808L); + csr_writel(value, 0xe0006808L); } -#define CSR_RGB_RAW_ADDR 0x8200680cL +#define CSR_RGB_RAW_ADDR 0xe000680cL #define CSR_RGB_RAW_SIZE 1 static inline unsigned char rgb_raw_read(void) { - unsigned char r = csr_readl(0x8200680cL); + unsigned char r = csr_readl(0xe000680cL); return r; } static inline void rgb_raw_write(unsigned char value) { - csr_writel(value, 0x8200680cL); + csr_writel(value, 0xe000680cL); } /* timer0 */ -#define CSR_TIMER0_BASE 0x82002800L -#define CSR_TIMER0_LOAD_ADDR 0x82002800L +#define CSR_TIMER0_BASE 0xe0002800L +#define CSR_TIMER0_LOAD_ADDR 0xe0002800L #define CSR_TIMER0_LOAD_SIZE 4 static inline unsigned int timer0_load_read(void) { - unsigned int r = csr_readl(0x82002800L); + unsigned int r = csr_readl(0xe0002800L); r <<= 8; - r |= csr_readl(0x82002804L); + r |= csr_readl(0xe0002804L); r <<= 8; - r |= csr_readl(0x82002808L); + r |= csr_readl(0xe0002808L); r <<= 8; - r |= csr_readl(0x8200280cL); + r |= csr_readl(0xe000280cL); return r; } static inline void timer0_load_write(unsigned int value) { - csr_writel(value >> 24, 0x82002800L); - csr_writel(value >> 16, 0x82002804L); - csr_writel(value >> 8, 0x82002808L); - csr_writel(value, 0x8200280cL); + csr_writel(value >> 24, 0xe0002800L); + csr_writel(value >> 16, 0xe0002804L); + csr_writel(value >> 8, 0xe0002808L); + csr_writel(value, 0xe000280cL); } -#define CSR_TIMER0_RELOAD_ADDR 0x82002810L +#define CSR_TIMER0_RELOAD_ADDR 0xe0002810L #define CSR_TIMER0_RELOAD_SIZE 4 static inline unsigned int timer0_reload_read(void) { - unsigned int r = csr_readl(0x82002810L); + unsigned int r = csr_readl(0xe0002810L); r <<= 8; - r |= csr_readl(0x82002814L); + r |= csr_readl(0xe0002814L); r <<= 8; - r |= csr_readl(0x82002818L); + r |= csr_readl(0xe0002818L); r <<= 8; - r |= csr_readl(0x8200281cL); + r |= csr_readl(0xe000281cL); return r; } static inline void timer0_reload_write(unsigned int value) { - csr_writel(value >> 24, 0x82002810L); - csr_writel(value >> 16, 0x82002814L); - csr_writel(value >> 8, 0x82002818L); - csr_writel(value, 0x8200281cL); + csr_writel(value >> 24, 0xe0002810L); + csr_writel(value >> 16, 0xe0002814L); + csr_writel(value >> 8, 0xe0002818L); + csr_writel(value, 0xe000281cL); } -#define CSR_TIMER0_EN_ADDR 0x82002820L +#define CSR_TIMER0_EN_ADDR 0xe0002820L #define CSR_TIMER0_EN_SIZE 1 static inline unsigned char timer0_en_read(void) { - unsigned char r = csr_readl(0x82002820L); + unsigned char r = csr_readl(0xe0002820L); return r; } static inline void timer0_en_write(unsigned char value) { - csr_writel(value, 0x82002820L); + csr_writel(value, 0xe0002820L); } -#define CSR_TIMER0_UPDATE_VALUE_ADDR 0x82002824L +#define CSR_TIMER0_UPDATE_VALUE_ADDR 0xe0002824L #define CSR_TIMER0_UPDATE_VALUE_SIZE 1 static inline unsigned char timer0_update_value_read(void) { - unsigned char r = csr_readl(0x82002824L); + unsigned char r = csr_readl(0xe0002824L); return r; } static inline void timer0_update_value_write(unsigned char value) { - csr_writel(value, 0x82002824L); + csr_writel(value, 0xe0002824L); } -#define CSR_TIMER0_VALUE_ADDR 0x82002828L +#define CSR_TIMER0_VALUE_ADDR 0xe0002828L #define CSR_TIMER0_VALUE_SIZE 4 static inline unsigned int timer0_value_read(void) { - unsigned int r = csr_readl(0x82002828L); + unsigned int r = csr_readl(0xe0002828L); r <<= 8; - r |= csr_readl(0x8200282cL); + r |= csr_readl(0xe000282cL); r <<= 8; - r |= csr_readl(0x82002830L); + r |= csr_readl(0xe0002830L); r <<= 8; - r |= csr_readl(0x82002834L); + r |= csr_readl(0xe0002834L); return r; } -#define CSR_TIMER0_EV_STATUS_ADDR 0x82002838L +#define CSR_TIMER0_EV_STATUS_ADDR 0xe0002838L #define CSR_TIMER0_EV_STATUS_SIZE 1 static inline unsigned char timer0_ev_status_read(void) { - unsigned char r = csr_readl(0x82002838L); + unsigned char r = csr_readl(0xe0002838L); return r; } static inline void timer0_ev_status_write(unsigned char value) { - csr_writel(value, 0x82002838L); + csr_writel(value, 0xe0002838L); } -#define CSR_TIMER0_EV_PENDING_ADDR 0x8200283cL +#define CSR_TIMER0_EV_PENDING_ADDR 0xe000283cL #define CSR_TIMER0_EV_PENDING_SIZE 1 static inline unsigned char timer0_ev_pending_read(void) { - unsigned char r = csr_readl(0x8200283cL); + unsigned char r = csr_readl(0xe000283cL); return r; } static inline void timer0_ev_pending_write(unsigned char value) { - csr_writel(value, 0x8200283cL); + csr_writel(value, 0xe000283cL); } -#define CSR_TIMER0_EV_ENABLE_ADDR 0x82002840L +#define CSR_TIMER0_EV_ENABLE_ADDR 0xe0002840L #define CSR_TIMER0_EV_ENABLE_SIZE 1 static inline unsigned char timer0_ev_enable_read(void) { - unsigned char r = csr_readl(0x82002840L); + unsigned char r = csr_readl(0xe0002840L); return r; } static inline void timer0_ev_enable_write(unsigned char value) { - csr_writel(value, 0x82002840L); + csr_writel(value, 0xe0002840L); } /* touch */ -#define CSR_TOUCH_BASE 0x82005800L -#define CSR_TOUCH_O_ADDR 0x82005800L +#define CSR_TOUCH_BASE 0xe0005800L +#define CSR_TOUCH_O_ADDR 0xe0005800L #define CSR_TOUCH_O_SIZE 1 static inline unsigned char touch_o_read(void) { - unsigned char r = csr_readl(0x82005800L); + unsigned char r = csr_readl(0xe0005800L); return r; } static inline void touch_o_write(unsigned char value) { - csr_writel(value, 0x82005800L); + csr_writel(value, 0xe0005800L); } -#define CSR_TOUCH_OE_ADDR 0x82005804L +#define CSR_TOUCH_OE_ADDR 0xe0005804L #define CSR_TOUCH_OE_SIZE 1 static inline unsigned char touch_oe_read(void) { - unsigned char r = csr_readl(0x82005804L); + unsigned char r = csr_readl(0xe0005804L); return r; } static inline void touch_oe_write(unsigned char value) { - csr_writel(value, 0x82005804L); + csr_writel(value, 0xe0005804L); } -#define CSR_TOUCH_I_ADDR 0x82005808L +#define CSR_TOUCH_I_ADDR 0xe0005808L #define CSR_TOUCH_I_SIZE 1 static inline unsigned char touch_i_read(void) { - unsigned char r = csr_readl(0x82005808L); + unsigned char r = csr_readl(0xe0005808L); return r; } /* usb */ -#define CSR_USB_BASE 0x82004800L -#define CSR_USB_PULLUP_OUT_ADDR 0x82004800L +#define CSR_USB_BASE 0xe0004800L +#define CSR_USB_PULLUP_OUT_ADDR 0xe0004800L #define CSR_USB_PULLUP_OUT_SIZE 1 static inline unsigned char usb_pullup_out_read(void) { - unsigned char r = csr_readl(0x82004800L); + unsigned char r = csr_readl(0xe0004800L); return r; } static inline void usb_pullup_out_write(unsigned char value) { - csr_writel(value, 0x82004800L); + csr_writel(value, 0xe0004800L); } -#define CSR_USB_EP_0_OUT_EV_STATUS_ADDR 0x82004804L +#define CSR_USB_EP_0_OUT_EV_STATUS_ADDR 0xe0004804L #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(0x82004804L); + unsigned char r = csr_readl(0xe0004804L); return r; } static inline void usb_ep_0_out_ev_status_write(unsigned char value) { - csr_writel(value, 0x82004804L); + csr_writel(value, 0xe0004804L); } -#define CSR_USB_EP_0_OUT_EV_PENDING_ADDR 0x82004808L +#define CSR_USB_EP_0_OUT_EV_PENDING_ADDR 0xe0004808L #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(0x82004808L); + unsigned char r = csr_readl(0xe0004808L); return r; } static inline void usb_ep_0_out_ev_pending_write(unsigned char value) { - csr_writel(value, 0x82004808L); + csr_writel(value, 0xe0004808L); } -#define CSR_USB_EP_0_OUT_EV_ENABLE_ADDR 0x8200480cL +#define CSR_USB_EP_0_OUT_EV_ENABLE_ADDR 0xe000480cL #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(0x8200480cL); + unsigned char r = csr_readl(0xe000480cL); return r; } static inline void usb_ep_0_out_ev_enable_write(unsigned char value) { - csr_writel(value, 0x8200480cL); + csr_writel(value, 0xe000480cL); } -#define CSR_USB_EP_0_OUT_LAST_TOK_ADDR 0x82004810L +#define CSR_USB_EP_0_OUT_LAST_TOK_ADDR 0xe0004810L #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(0x82004810L); + unsigned char r = csr_readl(0xe0004810L); return r; } -#define CSR_USB_EP_0_OUT_RESPOND_ADDR 0x82004814L +#define CSR_USB_EP_0_OUT_RESPOND_ADDR 0xe0004814L #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(0x82004814L); + unsigned char r = csr_readl(0xe0004814L); return r; } static inline void usb_ep_0_out_respond_write(unsigned char value) { - csr_writel(value, 0x82004814L); + csr_writel(value, 0xe0004814L); } -#define CSR_USB_EP_0_OUT_DTB_ADDR 0x82004818L +#define CSR_USB_EP_0_OUT_DTB_ADDR 0xe0004818L #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(0x82004818L); + unsigned char r = csr_readl(0xe0004818L); return r; } static inline void usb_ep_0_out_dtb_write(unsigned char value) { - csr_writel(value, 0x82004818L); + csr_writel(value, 0xe0004818L); } -#define CSR_USB_EP_0_OUT_OBUF_HEAD_ADDR 0x8200481cL +#define CSR_USB_EP_0_OUT_OBUF_HEAD_ADDR 0xe000481cL #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(0x8200481cL); + unsigned char r = csr_readl(0xe000481cL); return r; } static inline void usb_ep_0_out_obuf_head_write(unsigned char value) { - csr_writel(value, 0x8200481cL); + csr_writel(value, 0xe000481cL); } -#define CSR_USB_EP_0_OUT_OBUF_EMPTY_ADDR 0x82004820L +#define CSR_USB_EP_0_OUT_OBUF_EMPTY_ADDR 0xe0004820L #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(0x82004820L); + unsigned char r = csr_readl(0xe0004820L); return r; } -#define CSR_USB_EP_0_IN_EV_STATUS_ADDR 0x82004824L +#define CSR_USB_EP_0_IN_EV_STATUS_ADDR 0xe0004824L #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(0x82004824L); + unsigned char r = csr_readl(0xe0004824L); return r; } static inline void usb_ep_0_in_ev_status_write(unsigned char value) { - csr_writel(value, 0x82004824L); + csr_writel(value, 0xe0004824L); } -#define CSR_USB_EP_0_IN_EV_PENDING_ADDR 0x82004828L +#define CSR_USB_EP_0_IN_EV_PENDING_ADDR 0xe0004828L #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(0x82004828L); + unsigned char r = csr_readl(0xe0004828L); return r; } static inline void usb_ep_0_in_ev_pending_write(unsigned char value) { - csr_writel(value, 0x82004828L); + csr_writel(value, 0xe0004828L); } -#define CSR_USB_EP_0_IN_EV_ENABLE_ADDR 0x8200482cL +#define CSR_USB_EP_0_IN_EV_ENABLE_ADDR 0xe000482cL #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(0x8200482cL); + unsigned char r = csr_readl(0xe000482cL); return r; } static inline void usb_ep_0_in_ev_enable_write(unsigned char value) { - csr_writel(value, 0x8200482cL); + csr_writel(value, 0xe000482cL); } -#define CSR_USB_EP_0_IN_LAST_TOK_ADDR 0x82004830L +#define CSR_USB_EP_0_IN_LAST_TOK_ADDR 0xe0004830L #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(0x82004830L); + unsigned char r = csr_readl(0xe0004830L); return r; } -#define CSR_USB_EP_0_IN_RESPOND_ADDR 0x82004834L +#define CSR_USB_EP_0_IN_RESPOND_ADDR 0xe0004834L #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(0x82004834L); + unsigned char r = csr_readl(0xe0004834L); return r; } static inline void usb_ep_0_in_respond_write(unsigned char value) { - csr_writel(value, 0x82004834L); + csr_writel(value, 0xe0004834L); } -#define CSR_USB_EP_0_IN_DTB_ADDR 0x82004838L +#define CSR_USB_EP_0_IN_DTB_ADDR 0xe0004838L #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(0x82004838L); + unsigned char r = csr_readl(0xe0004838L); return r; } static inline void usb_ep_0_in_dtb_write(unsigned char value) { - csr_writel(value, 0x82004838L); + csr_writel(value, 0xe0004838L); } -#define CSR_USB_EP_0_IN_IBUF_HEAD_ADDR 0x8200483cL +#define CSR_USB_EP_0_IN_IBUF_HEAD_ADDR 0xe000483cL #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(0x8200483cL); + unsigned char r = csr_readl(0xe000483cL); return r; } static inline void usb_ep_0_in_ibuf_head_write(unsigned char value) { - csr_writel(value, 0x8200483cL); + csr_writel(value, 0xe000483cL); } -#define CSR_USB_EP_0_IN_IBUF_EMPTY_ADDR 0x82004840L +#define CSR_USB_EP_0_IN_IBUF_EMPTY_ADDR 0xe0004840L #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(0x82004840L); + unsigned char r = csr_readl(0xe0004840L); return r; } -#define CSR_USB_EP_1_IN_EV_STATUS_ADDR 0x82004844L +#define CSR_USB_EP_1_IN_EV_STATUS_ADDR 0xe0004844L #define CSR_USB_EP_1_IN_EV_STATUS_SIZE 1 static inline unsigned char usb_ep_1_in_ev_status_read(void) { - unsigned char r = csr_readl(0x82004844L); + unsigned char r = csr_readl(0xe0004844L); return r; } static inline void usb_ep_1_in_ev_status_write(unsigned char value) { - csr_writel(value, 0x82004844L); + csr_writel(value, 0xe0004844L); } -#define CSR_USB_EP_1_IN_EV_PENDING_ADDR 0x82004848L +#define CSR_USB_EP_1_IN_EV_PENDING_ADDR 0xe0004848L #define CSR_USB_EP_1_IN_EV_PENDING_SIZE 1 static inline unsigned char usb_ep_1_in_ev_pending_read(void) { - unsigned char r = csr_readl(0x82004848L); + unsigned char r = csr_readl(0xe0004848L); return r; } static inline void usb_ep_1_in_ev_pending_write(unsigned char value) { - csr_writel(value, 0x82004848L); + csr_writel(value, 0xe0004848L); } -#define CSR_USB_EP_1_IN_EV_ENABLE_ADDR 0x8200484cL +#define CSR_USB_EP_1_IN_EV_ENABLE_ADDR 0xe000484cL #define CSR_USB_EP_1_IN_EV_ENABLE_SIZE 1 static inline unsigned char usb_ep_1_in_ev_enable_read(void) { - unsigned char r = csr_readl(0x8200484cL); + unsigned char r = csr_readl(0xe000484cL); return r; } static inline void usb_ep_1_in_ev_enable_write(unsigned char value) { - csr_writel(value, 0x8200484cL); + csr_writel(value, 0xe000484cL); } -#define CSR_USB_EP_1_IN_LAST_TOK_ADDR 0x82004850L +#define CSR_USB_EP_1_IN_LAST_TOK_ADDR 0xe0004850L #define CSR_USB_EP_1_IN_LAST_TOK_SIZE 1 static inline unsigned char usb_ep_1_in_last_tok_read(void) { - unsigned char r = csr_readl(0x82004850L); + unsigned char r = csr_readl(0xe0004850L); return r; } -#define CSR_USB_EP_1_IN_RESPOND_ADDR 0x82004854L +#define CSR_USB_EP_1_IN_RESPOND_ADDR 0xe0004854L #define CSR_USB_EP_1_IN_RESPOND_SIZE 1 static inline unsigned char usb_ep_1_in_respond_read(void) { - unsigned char r = csr_readl(0x82004854L); + unsigned char r = csr_readl(0xe0004854L); return r; } static inline void usb_ep_1_in_respond_write(unsigned char value) { - csr_writel(value, 0x82004854L); + csr_writel(value, 0xe0004854L); } -#define CSR_USB_EP_1_IN_DTB_ADDR 0x82004858L +#define CSR_USB_EP_1_IN_DTB_ADDR 0xe0004858L #define CSR_USB_EP_1_IN_DTB_SIZE 1 static inline unsigned char usb_ep_1_in_dtb_read(void) { - unsigned char r = csr_readl(0x82004858L); + unsigned char r = csr_readl(0xe0004858L); return r; } static inline void usb_ep_1_in_dtb_write(unsigned char value) { - csr_writel(value, 0x82004858L); + csr_writel(value, 0xe0004858L); } -#define CSR_USB_EP_1_IN_IBUF_HEAD_ADDR 0x8200485cL +#define CSR_USB_EP_1_IN_IBUF_HEAD_ADDR 0xe000485cL #define CSR_USB_EP_1_IN_IBUF_HEAD_SIZE 1 static inline unsigned char usb_ep_1_in_ibuf_head_read(void) { - unsigned char r = csr_readl(0x8200485cL); + unsigned char r = csr_readl(0xe000485cL); return r; } static inline void usb_ep_1_in_ibuf_head_write(unsigned char value) { - csr_writel(value, 0x8200485cL); + csr_writel(value, 0xe000485cL); } -#define CSR_USB_EP_1_IN_IBUF_EMPTY_ADDR 0x82004860L +#define CSR_USB_EP_1_IN_IBUF_EMPTY_ADDR 0xe0004860L #define CSR_USB_EP_1_IN_IBUF_EMPTY_SIZE 1 static inline unsigned char usb_ep_1_in_ibuf_empty_read(void) { - unsigned char r = csr_readl(0x82004860L); + unsigned char r = csr_readl(0xe0004860L); return r; } -#define CSR_USB_EP_2_OUT_EV_STATUS_ADDR 0x82004864L +#define CSR_USB_EP_2_OUT_EV_STATUS_ADDR 0xe0004864L #define CSR_USB_EP_2_OUT_EV_STATUS_SIZE 1 static inline unsigned char usb_ep_2_out_ev_status_read(void) { - unsigned char r = csr_readl(0x82004864L); + unsigned char r = csr_readl(0xe0004864L); return r; } static inline void usb_ep_2_out_ev_status_write(unsigned char value) { - csr_writel(value, 0x82004864L); + csr_writel(value, 0xe0004864L); } -#define CSR_USB_EP_2_OUT_EV_PENDING_ADDR 0x82004868L +#define CSR_USB_EP_2_OUT_EV_PENDING_ADDR 0xe0004868L #define CSR_USB_EP_2_OUT_EV_PENDING_SIZE 1 static inline unsigned char usb_ep_2_out_ev_pending_read(void) { - unsigned char r = csr_readl(0x82004868L); + unsigned char r = csr_readl(0xe0004868L); return r; } static inline void usb_ep_2_out_ev_pending_write(unsigned char value) { - csr_writel(value, 0x82004868L); + csr_writel(value, 0xe0004868L); } -#define CSR_USB_EP_2_OUT_EV_ENABLE_ADDR 0x8200486cL +#define CSR_USB_EP_2_OUT_EV_ENABLE_ADDR 0xe000486cL #define CSR_USB_EP_2_OUT_EV_ENABLE_SIZE 1 static inline unsigned char usb_ep_2_out_ev_enable_read(void) { - unsigned char r = csr_readl(0x8200486cL); + unsigned char r = csr_readl(0xe000486cL); return r; } static inline void usb_ep_2_out_ev_enable_write(unsigned char value) { - csr_writel(value, 0x8200486cL); + csr_writel(value, 0xe000486cL); } -#define CSR_USB_EP_2_OUT_LAST_TOK_ADDR 0x82004870L +#define CSR_USB_EP_2_OUT_LAST_TOK_ADDR 0xe0004870L #define CSR_USB_EP_2_OUT_LAST_TOK_SIZE 1 static inline unsigned char usb_ep_2_out_last_tok_read(void) { - unsigned char r = csr_readl(0x82004870L); + unsigned char r = csr_readl(0xe0004870L); return r; } -#define CSR_USB_EP_2_OUT_RESPOND_ADDR 0x82004874L +#define CSR_USB_EP_2_OUT_RESPOND_ADDR 0xe0004874L #define CSR_USB_EP_2_OUT_RESPOND_SIZE 1 static inline unsigned char usb_ep_2_out_respond_read(void) { - unsigned char r = csr_readl(0x82004874L); + unsigned char r = csr_readl(0xe0004874L); return r; } static inline void usb_ep_2_out_respond_write(unsigned char value) { - csr_writel(value, 0x82004874L); + csr_writel(value, 0xe0004874L); } -#define CSR_USB_EP_2_OUT_DTB_ADDR 0x82004878L +#define CSR_USB_EP_2_OUT_DTB_ADDR 0xe0004878L #define CSR_USB_EP_2_OUT_DTB_SIZE 1 static inline unsigned char usb_ep_2_out_dtb_read(void) { - unsigned char r = csr_readl(0x82004878L); + unsigned char r = csr_readl(0xe0004878L); return r; } static inline void usb_ep_2_out_dtb_write(unsigned char value) { - csr_writel(value, 0x82004878L); + csr_writel(value, 0xe0004878L); } -#define CSR_USB_EP_2_OUT_OBUF_HEAD_ADDR 0x8200487cL +#define CSR_USB_EP_2_OUT_OBUF_HEAD_ADDR 0xe000487cL #define CSR_USB_EP_2_OUT_OBUF_HEAD_SIZE 1 static inline unsigned char usb_ep_2_out_obuf_head_read(void) { - unsigned char r = csr_readl(0x8200487cL); + unsigned char r = csr_readl(0xe000487cL); return r; } static inline void usb_ep_2_out_obuf_head_write(unsigned char value) { - csr_writel(value, 0x8200487cL); + csr_writel(value, 0xe000487cL); } -#define CSR_USB_EP_2_OUT_OBUF_EMPTY_ADDR 0x82004880L +#define CSR_USB_EP_2_OUT_OBUF_EMPTY_ADDR 0xe0004880L #define CSR_USB_EP_2_OUT_OBUF_EMPTY_SIZE 1 static inline unsigned char usb_ep_2_out_obuf_empty_read(void) { - unsigned char r = csr_readl(0x82004880L); + unsigned char r = csr_readl(0xe0004880L); return r; } -#define CSR_USB_EP_2_IN_EV_STATUS_ADDR 0x82004884L +#define CSR_USB_EP_2_IN_EV_STATUS_ADDR 0xe0004884L #define CSR_USB_EP_2_IN_EV_STATUS_SIZE 1 static inline unsigned char usb_ep_2_in_ev_status_read(void) { - unsigned char r = csr_readl(0x82004884L); + unsigned char r = csr_readl(0xe0004884L); return r; } static inline void usb_ep_2_in_ev_status_write(unsigned char value) { - csr_writel(value, 0x82004884L); + csr_writel(value, 0xe0004884L); } -#define CSR_USB_EP_2_IN_EV_PENDING_ADDR 0x82004888L +#define CSR_USB_EP_2_IN_EV_PENDING_ADDR 0xe0004888L #define CSR_USB_EP_2_IN_EV_PENDING_SIZE 1 static inline unsigned char usb_ep_2_in_ev_pending_read(void) { - unsigned char r = csr_readl(0x82004888L); + unsigned char r = csr_readl(0xe0004888L); return r; } static inline void usb_ep_2_in_ev_pending_write(unsigned char value) { - csr_writel(value, 0x82004888L); + csr_writel(value, 0xe0004888L); } -#define CSR_USB_EP_2_IN_EV_ENABLE_ADDR 0x8200488cL +#define CSR_USB_EP_2_IN_EV_ENABLE_ADDR 0xe000488cL #define CSR_USB_EP_2_IN_EV_ENABLE_SIZE 1 static inline unsigned char usb_ep_2_in_ev_enable_read(void) { - unsigned char r = csr_readl(0x8200488cL); + unsigned char r = csr_readl(0xe000488cL); return r; } static inline void usb_ep_2_in_ev_enable_write(unsigned char value) { - csr_writel(value, 0x8200488cL); + csr_writel(value, 0xe000488cL); } -#define CSR_USB_EP_2_IN_LAST_TOK_ADDR 0x82004890L +#define CSR_USB_EP_2_IN_LAST_TOK_ADDR 0xe0004890L #define CSR_USB_EP_2_IN_LAST_TOK_SIZE 1 static inline unsigned char usb_ep_2_in_last_tok_read(void) { - unsigned char r = csr_readl(0x82004890L); + unsigned char r = csr_readl(0xe0004890L); return r; } -#define CSR_USB_EP_2_IN_RESPOND_ADDR 0x82004894L +#define CSR_USB_EP_2_IN_RESPOND_ADDR 0xe0004894L #define CSR_USB_EP_2_IN_RESPOND_SIZE 1 static inline unsigned char usb_ep_2_in_respond_read(void) { - unsigned char r = csr_readl(0x82004894L); + unsigned char r = csr_readl(0xe0004894L); return r; } static inline void usb_ep_2_in_respond_write(unsigned char value) { - csr_writel(value, 0x82004894L); + csr_writel(value, 0xe0004894L); } -#define CSR_USB_EP_2_IN_DTB_ADDR 0x82004898L +#define CSR_USB_EP_2_IN_DTB_ADDR 0xe0004898L #define CSR_USB_EP_2_IN_DTB_SIZE 1 static inline unsigned char usb_ep_2_in_dtb_read(void) { - unsigned char r = csr_readl(0x82004898L); + unsigned char r = csr_readl(0xe0004898L); return r; } static inline void usb_ep_2_in_dtb_write(unsigned char value) { - csr_writel(value, 0x82004898L); + csr_writel(value, 0xe0004898L); } -#define CSR_USB_EP_2_IN_IBUF_HEAD_ADDR 0x8200489cL +#define CSR_USB_EP_2_IN_IBUF_HEAD_ADDR 0xe000489cL #define CSR_USB_EP_2_IN_IBUF_HEAD_SIZE 1 static inline unsigned char usb_ep_2_in_ibuf_head_read(void) { - unsigned char r = csr_readl(0x8200489cL); + unsigned char r = csr_readl(0xe000489cL); return r; } static inline void usb_ep_2_in_ibuf_head_write(unsigned char value) { - csr_writel(value, 0x8200489cL); + csr_writel(value, 0xe000489cL); } -#define CSR_USB_EP_2_IN_IBUF_EMPTY_ADDR 0x820048a0L +#define CSR_USB_EP_2_IN_IBUF_EMPTY_ADDR 0xe00048a0L #define CSR_USB_EP_2_IN_IBUF_EMPTY_SIZE 1 static inline unsigned char usb_ep_2_in_ibuf_empty_read(void) { - unsigned char r = csr_readl(0x820048a0L); + unsigned char r = csr_readl(0xe00048a0L); return r; } /* version */ -#define CSR_VERSION_BASE 0x82007000L -#define CSR_VERSION_MAJOR_ADDR 0x82007000L +#define CSR_VERSION_BASE 0xe0007000L +#define CSR_VERSION_MAJOR_ADDR 0xe0007000L #define CSR_VERSION_MAJOR_SIZE 1 static inline unsigned char version_major_read(void) { - unsigned char r = csr_readl(0x82007000L); + unsigned char r = csr_readl(0xe0007000L); return r; } -#define CSR_VERSION_MINOR_ADDR 0x82007004L +#define CSR_VERSION_MINOR_ADDR 0xe0007004L #define CSR_VERSION_MINOR_SIZE 1 static inline unsigned char version_minor_read(void) { - unsigned char r = csr_readl(0x82007004L); + unsigned char r = csr_readl(0xe0007004L); return r; } -#define CSR_VERSION_REVISION_ADDR 0x82007008L +#define CSR_VERSION_REVISION_ADDR 0xe0007008L #define CSR_VERSION_REVISION_SIZE 1 static inline unsigned char version_revision_read(void) { - unsigned char r = csr_readl(0x82007008L); + unsigned char r = csr_readl(0xe0007008L); return r; } -#define CSR_VERSION_GITREV_ADDR 0x8200700cL +#define CSR_VERSION_GITREV_ADDR 0xe000700cL #define CSR_VERSION_GITREV_SIZE 4 static inline unsigned int version_gitrev_read(void) { - unsigned int r = csr_readl(0x8200700cL); + unsigned int r = csr_readl(0xe000700cL); r <<= 8; - r |= csr_readl(0x82007010L); + r |= csr_readl(0xe0007010L); r <<= 8; - r |= csr_readl(0x82007014L); + r |= csr_readl(0xe0007014L); r <<= 8; - r |= csr_readl(0x82007018L); + r |= csr_readl(0xe0007018L); return r; } -#define CSR_VERSION_GITEXTRA_ADDR 0x8200701cL +#define CSR_VERSION_GITEXTRA_ADDR 0xe000701cL #define CSR_VERSION_GITEXTRA_SIZE 2 static inline unsigned short int version_gitextra_read(void) { - unsigned short int r = csr_readl(0x8200701cL); + unsigned short int r = csr_readl(0xe000701cL); r <<= 8; - r |= csr_readl(0x82007020L); + r |= csr_readl(0xe0007020L); return r; } -#define CSR_VERSION_DIRTY_ADDR 0x82007024L +#define CSR_VERSION_DIRTY_ADDR 0xe0007024L #define CSR_VERSION_DIRTY_SIZE 1 static inline unsigned char version_dirty_read(void) { - unsigned char r = csr_readl(0x82007024L); + unsigned char r = csr_readl(0xe0007024L); return r; } -#define CSR_VERSION_MODEL_ADDR 0x82007028L +#define CSR_VERSION_MODEL_ADDR 0xe0007028L #define CSR_VERSION_MODEL_SIZE 1 static inline unsigned char version_model_read(void) { - unsigned char r = csr_readl(0x82007028L); + unsigned char r = csr_readl(0xe0007028L); return r; } @@ -653,14 +680,6 @@ static inline int timer0_interrupt_read(void) { static inline int usb_interrupt_read(void) { return 3; } -#define CSR_DATA_WIDTH 8 -static inline int csr_data_width_read(void) { - return 8; -} -#define SYSTEM_CLOCK_FREQUENCY 12000000 -static inline int system_clock_frequency_read(void) { - return 12000000; -} #define CONFIG_BITSTREAM_SYNC_HEADER1 2123999870 static inline int config_bitstream_sync_header1_read(void) { return 2123999870; @@ -681,6 +700,10 @@ static inline int config_cpu_reset_addr_read(void) { static inline const char * config_cpu_type_read(void) { return "VEXRISCV"; } +#define CONFIG_CSR_ALIGNMENT 32 +static inline int config_csr_alignment_read(void) { + return 32; +} #define CONFIG_CSR_DATA_WIDTH 8 static inline int config_csr_data_width_read(void) { return 8; diff --git a/sw/include/generated/mem.h b/sw/include/generated/mem.h index 6a5d3e8..3fdc353 100644 --- a/sw/include/generated/mem.h +++ b/sw/include/generated/mem.h @@ -1,11 +1,14 @@ //-------------------------------------------------------------------------------- -// Auto-generated by Migen (ae42105) & LiteX (6a975e58) on 2019-07-08 16:22:23 +// Auto-generated by Migen (ae42105) & LiteX (ccbf1418) on 2019-07-09 19:02:56 //-------------------------------------------------------------------------------- #ifndef __GENERATED_MEM_H #define __GENERATED_MEM_H -#define CSR_BASE 0x02000000L -#define CSR_SIZE 0x10000000 +#define CSR_BASE 0x60000000L +#define CSR_SIZE 0x00010000 + +#define VEXRISCV_DEBUG_BASE 0xf00f0000L +#define VEXRISCV_DEBUG_SIZE 0x00000100 #define SRAM_BASE 0x10000000L #define SRAM_SIZE 0x00020000 @@ -13,6 +16,9 @@ #define ROM_BASE 0x00000000L #define ROM_SIZE 0x00002000 +#define SPIFLASH_BASE 0x20000000L +#define SPIFLASH_SIZE 0x00200000 + #define SHADOW_BASE 0x80000000L #endif diff --git a/sw/ld/output_format.ld b/sw/ld/output_format.ld index 5e76f5f..269cd64 100644 --- a/sw/ld/output_format.ld +++ b/sw/ld/output_format.ld @@ -1 +1 @@ -OUTPUT_FORMAT("elf32-littleriscv") +OUTPUT_FORMAT("elf32-littleriscv") diff --git a/sw/ld/regions.ld b/sw/ld/regions.ld index 90c0875..e7b99fe 100644 --- a/sw/ld/regions.ld +++ b/sw/ld/regions.ld @@ -1,4 +1,7 @@ -MEMORY { - sram : ORIGIN = 0x01000000, LENGTH = 4096 - rom : ORIGIN = 0x00000000, LENGTH = 0x00002000 -} +MEMORY { + csr : ORIGIN = 0x60000000, LENGTH = 0x00010000 + vexriscv_debug : ORIGIN = 0xf00f0000, LENGTH = 0x00000100 + sram : ORIGIN = 0x10000000, LENGTH = 0x00020000 + rom : ORIGIN = 0x00000000, LENGTH = 0x00002000 + spiflash : ORIGIN = 0x20000000, LENGTH = 0x00200000 +}