view target-utils/dspdump/leadapi.h @ 964:a96cb97b66a2

ringtools/imy: fix duplicate definition of tdma_durations[] The bug was reported by Vadim Yanitskiy <fixeria@osmocom.org>, although the present fix is slightly different from the contributed patch: because main.c doesn't need this tdma_durations[] array at all, let's simply remove the reference to this array from main.c rather than turn it into an extern. I no longer remember my original thought flow that resulted (by mistake) in tdma_durations[] being multiply defined in main.c and durations.c. My intent might have been to define all globals in main.c and have the reference in durations.c be an extern - and I missed that extern - but without clear memory, I have no certainty. In any case, having this data array defined in the same module that fills it (durations.c) is sensible, so let's make it the new way.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 31 Aug 2023 19:38:18 +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