view target-utils/dspdump/leadapi.h @ 1014:961efadd530a default tip

fc-shell TCH DL handler: add support for CSD modes TCH DL capture mechanism in FC Tourmaline firmware has been extended to support CSD modes in addition to speech - add the necessary support on the host tools side. It needs to be noted that this mechanism in its present state does NOT provide the debug utility value that was sought: as we learned only after the code was implemented, TI's DSP has a misfeature in that the buffer we are reading (a_dd_0[]) is zeroed out when the IDS block is enabled, i.e., we are reading all zeros and not the real DL bits we were after. But since the code has already been written, we are keeping it - perhaps we can do some tests with IDS disabled.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 26 Nov 2024 06:27:43 +0000
parents 27b5526ba1a8
children
line wrap: on
line source

/*
 * 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