FreeCalypso > hg > freecalypso-tools
diff target-utils/dspdump/leadapi.h @ 540:27b5526ba1a8
dspdump target program written, compiles
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 28 Oct 2019 08:19:33 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/target-utils/dspdump/leadapi.h Mon Oct 28 08:19:33 2019 +0000 @@ -0,0 +1,42 @@ +/* + * Definitions for the DSP boot and patch download mechanism, + * taken from leadapi.h in TCS211. This version has been + * further modified for the DSP dump application. + */ + +#define APIF_ADDR 0xFFD00000L + +#define APIRAM_FIRST_WORD *((volatile u16 *) APIF_ADDR) + +#define DOWNLOAD_EXT_PAGE *((volatile u16 *) (APIF_ADDR + 0x0FF8)) +#define DOWNLOAD_SIZE *((volatile u16 *) (APIF_ADDR + 0x0FFA)) +#define DOWNLOAD_ADDR *((volatile u16 *) (APIF_ADDR + 0x0FFC)) +#define DOWNLOAD_STATUS *((volatile u16 *) (APIF_ADDR + 0x0FFE)) + +/* Maximum size of a block which can be copied into the API RAM */ + +#define MAX_BLOCK_SIZE 0x7F0 + +/* Possible values for the download status */ + +#define LEAD_READY 1 +#define BLOCK_READY 2 +#define PROGRAM_DONE 3 +#define PAGE_SELECTION 4 + +/* DSP reset control register definitions */ + +#define MEM_CLKM_ADDR 0xfffffd00 /* CLKM registers addr. */ +#define CLKM_CNTL_RST *((volatile u16 *) (MEM_CLKM_ADDR + 4)) + +#define CLKM_LEAD_RST 0x0002 +#define CLKM_EXT_RST 0x0004 + +/* extensions provided by OsmocomBB's DSP dump agent */ + +#define BL_MODE_PROG_WRITE 0 +#define BL_MODE_DATA_WRITE 1 +#define BL_MODE_PROG_READ 2 +#define BL_MODE_DATA_READ 3 +#define BL_MODE_PROM_READ 4 +#define BL_MODE_DROM_READ 5