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