FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_core/conf/sys_conf.h @ 303:f76436d19a7a default tip
!GPRS config: fix long-standing AT+COPS chance hanging bug
There has been a long-standing bug in FreeCalypso going back years:
sometimes in the AT command bring-up sequence of an ACI-only MS,
the AT+COPS command would produce only a power scan followed by
cessation of protocol stack activity (only L1 ADC traces), instead
of the expected network search sequence. This behaviour was seen
in different FC firmware versions going back to Citrine, and seemed
to follow some law of chance, not reliably repeatable.
This bug has been tracked down and found to be specific to !GPRS
configuration, stemming from our TCS2/TCS3 hybrid and reconstruction
of !GPRS support that was bitrotten in TCS3.2/LoCosto version.
ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3
version and had to be pulled from TCS2 - but as it turns out,
there is a new field in the MMR_REG_REQ primitive that needs to be
set correctly, and that psa_mms.c module is the place where this
initialization needed to be added.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 08 Jun 2023 08:23:37 +0000 |
parents | 4e78acac3d88 |
children |
line wrap: on
line source
/* @(#) nom : sys_conf.h SID: 1.3 date : 05/23/03 */ /* Filename: sys_conf.h */ /* Version: 1.3 */ /****************************************************************************** * WIRELESS COMMUNICATION SYSTEM DEVELOPMENT * * (C) 2002 Texas Instruments France. All rights reserved * * Author : Francois AMAND * * * Important Note * -------------- * * This S/W is a preliminary version. It contains information on a product * under development and is issued for evaluation purposes only. Features * characteristics, data and other information are subject to change. * * The S/W is furnished under Non Disclosure Agreement and may be used or * copied only in accordance with the terms of the agreement. It is an offence * to copy the software in any way except as specifically set out in the * agreement. No part of this document may be reproduced or transmitted in any * form or by any means, electronic or mechanical, including photocopying and * recording, for any purpose without the express written permission of Texas * Instruments Inc. * ****************************************************************************** * * FILE NAME: sys_conf.h * * * PURPOSE: Include file to configure CONF CORE module of CALYPSO PLUS. * * * FILE REFERENCES: * * Name IO Description * ------------- -- --------------------------------------------- * * * * EXTERNAL VARIABLES: * * Source: * * Name Type IO Description * ------------- --------------- -- ------------------------------ * * * * EXTERNAL REFERENCES: * * Name Description * ------------------ ------------------------------------------------------- * * * * ABNORMAL TERMINATION CONDITIONS, ERROR AND WARNING MESSAGES: * * * * ASSUMPTION, CONSTRAINTS, RESTRICTIONS: * * * * NOTES: * * * * REQUIREMENTS/FUNCTIONAL SPECIFICATION REFERENCES: * * * * * DEVELOPMENT HISTORY: * * Date Name(s) Version Description * ----------- -------------- ------- ------------------------------------- * 11-Oct-2002 Francois AMAND 0.0.1 First implementation * * ALGORITHM: * * *****************************************************************************/ #ifndef __SYS_CONF_H__ #define __SYS_CONF_H__ #include "l1sw.cfg" #include "chipset.cfg" #if (CHIPSET == 12) #if (OP_L1_STANDALONE == 0) #include "main/sys_types.h" #else #include "sys_types.h" #endif #include "sys_map.h" #include "sys_conf_dsp_int.h" /**************************************************************************** * CONSTANT DEFINITION ***************************************************************************/ /* * Registers offset definition */ #define C_CONF_CORE_OFFSET 0x00 #define C_CONF_PULL_PWRDN_OFFSET 0x06 #define C_DBG_CORE1_OFFSET 0x02 #define C_DBG_CORE2_OFFSET 0x04 #define C_DBG_IRQ_OFFSET 0x0C #define C_DBG_DMA_P1_NDFLASH_OFFSET 0x0E #define C_DBG_DMA_P2_OFFSET 0x10 #define C_DBG_DMA_P0_OFFSET 0x12 #define C_DBG_CLK1_OFFSET 0x14 #define C_DBG_PATCH_ND_FLSH_OFFSET 0x16 #define C_DBG_IMIF_OFFSET 0x18 #define C_DBG_KB_USIM_SHD_OFFSET 0x1A #define C_DBG_USIM_OFFSET 0x1C #define C_DBG_MISC1_OFFSET 0x1E #define C_DBG_MISC2_OFFSET 0x20 #define C_DBG_CLK2_OFFSET 0x22 /* * Registers address definition */ #define C_CONF_CORE_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_CONF_CORE_OFFSET) #define C_CONF_PULL_PWRDN_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_CONF_PULL_PWRDN_OFFSET) #define C_DBG_CORE1_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_CORE1_OFFSET) #define C_DBG_CORE2_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_CORE2_OFFSET) #define C_DBG_IRQ_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_IRQ_OFFSET) #define C_DBG_DMA_P1_NDFLASH_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_DMA_P1_NDFLASH_OFFSET) #define C_DBG_DMA_P2_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_DMA_P2_OFFSET) #define C_DBG_DMA_P0_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_DMA_P0_OFFSET) #define C_DBG_CLK1_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_CLK1_OFFSET) #define C_DBG_PATCH_ND_FLSH_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_PATCH_ND_FLSH_OFFSET) #define C_DBG_IMIF_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_IMIF_OFFSET) #define C_DBG_KB_USIM_SHD_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_KB_USIM_SHD_OFFSET) #define C_DBG_USIM_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_USIM_OFFSET) #define C_DBG_MISC1_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_MISC1_OFFSET) #define C_DBG_MISC2_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_MISC2_OFFSET) #define C_DBG_CLK2_REG * (volatile SYS_UWORD16 *) (C_MAP_CORE_CONF_BASE + C_DBG_CLK2_OFFSET) /* * DBG_IRQ register definition */ /* nCS2 functional pin */ #define C_DBG_IRQ_INT4N 0x0001 #define C_DBG_IRQ_TPU_WAIT 0x0002 /* IO_8 functional pin */ #define C_DBG_IRQ_SHD_EZ8 0x0004 #define C_DBG_IRQ_INT1N 0x0008 /* NAND_CE1 functional pin : configured in other register : DBG_USIM */ #define C_DBG_IRQ_INT10N 0x0010 /* IO_15 functional pin : already configured in DBG_CLK2 */ #define C_DBG_IRQ_NWAIT 0x0020 /* FDP functional pin */ #define C_DBG_IRQ_IACKN 0x0040 /* IO_10 functional pin */ #define C_DBG_IRQ_NMIIT 0x0080 /* IO_4 functional pin */ #define C_DBG_IRQ_IRQ4 0x0100 /* nSCS1 functional pin */ #define C_DBG_IRQ_IRQ14 0x0200 /* nCS1 functional pin */ #define C_DBG_IRQ_ARM_NIRQ_VIEW0 0x0400 /* IO_12 functional pin */ #define C_DBG_IRQ_NCSS2 0x0800 #define C_DBG_IRQ_ARM_NIRQ_VIEW1 0x1000 /* IO_9 functional pin */ #define C_DBG_IRQ_NIRQ 0x2000 /* IO_5 functional pin */ #define C_DBG_IRQ_NFIQ 0x4000 /* * DBG_DMA_P1_NDFLASH register definition */ /* KBR(3) functional pin */ #define C_DBG_DMA_P1_NDFLASH_DMA_REQ_V1 0x0001 #define C_DBG_DMA_P1_NDFLASH_ND_FLASH_STATE_3 0x0002 /* KBR(5) functional pin */ #define C_DBG_DMA_P1_NDFLASH_DMA_REQ_S_1 0x0004 #define C_DBG_DMA_P1_NDFLASH_ND_FLASH_STATE_4 0x0008 /* KBC(4) functional pin */ #define C_DBG_DMA_P1_NDFLASH_DMA_REQ_P1_0 0x0010 #define C_DBG_DMA_P1_NDFLASH_ND_FLASH_CLK_REQ 0x0020 /* KBC(5) functional pin */ #define C_DBG_DMA_P1_NDFLASH_DMA_REQ_P1_1 0x0040 #define C_DBG_DMA_P1_NDFLASH_ND_FLASH_STATE_0 0x0080 /* KBR(0) functional pin */ #define C_DBG_DMA_P1_NDFLASH_DMA_REQ_P1_2 0x0100 #define C_DBG_DMA_P1_NDFLASH_ND_FLASH_STATE_1 0x0200 /* KBR(1) functional pin */ #define C_DBG_DMA_P1_NDFLASH_DMA_REQ_P1_3 0x0400 #define C_DBG_DMA_P1_NDFLASH_ND_FLASH_STATE_2 0x0800 /* SDMC_DAT(2) functional pin */ #define C_DBG_DMA_P1_NDFLASH_NDMA_REQ_VIEW_0 0x1000 #define C_DBG_DMA_P1_NDFLASH_MMC_SPI_CS1 0x2000 /* NAND_RnB functional pin */ #define C_DBG_DMA_P1_NDFLASH_NDMA_REQ_VIEW_1 0x4000 #define C_DBG_DMA_P1_NDFLASH_SIM_RnW 0x8000 /* * DBG_DMA_P2 register definition */ /* ADD_24 functional pin */ #define C_DBG_DMA_P2_DMA_REQ_V2 0x0001 #define C_DBG_DMA_P2_GPO_2 0x0002 /* ADD_25 functional pin */ #define C_DBG_DMA_P2_DMA_REQ_S2 0x0004 #define C_DBG_DMA_P2_GPO_3 0x0008 /* TSPACT_10 functional pin */ #define C_DBG_DMA_P2_DMA_REQUEST_P2_0 0x0010 /* TSPACT_9 functional pin */ #define C_DBG_DMA_P2_DMA_REQUEST_P2_1 0x0020 /* TSPACT_8 functional pin */ #define C_DBG_DMA_P2_DMA_REQUEST_P2_2 0x0040 /* SDMC_DAT_1 functional pin */ #define C_DBG_DMA_P2_DMA_REQUEST_P2_3 0x0080 #define C_DBG_DMA_P2_MMC_SPI_CS0 0x0100 /* * DBG_DMA_P0 register definition */ /* KBR_2 functional pin */ #define C_DBG_DMA_P0_DMA_REQ_V0 0x0001 #define C_DBG_DMA_P0_X_A_5 0x0002 /* KBR_4 functional pin */ #define C_DBG_DMA_P0_DMA_REQ_S0 0x0004 #define C_DBG_DMA_P0_X_A_6 0x0008 /* KBC_0 functional pin */ #define C_DBG_DMA_P0_DMA_REQUEST_P0_0 0x0010 /* KBC_1 functional pin */ #define C_DBG_DMA_P0_DMA_REQUEST_P0_1 0x0020 /* KBC_2 functional pin */ #define C_DBG_DMA_P0_DMA_REQUEST_P0_2 0x0040 /* KBC_3 functional pin */ #define C_DBG_DMA_P0_DMA_REQUEST_P0_3 0x0080 /* * DBG_CLK1 register definition */ /* IO_11 functional pin */ #define C_DBG_CLK1_MCLK 0x0001 /* SPARE_1 functional pin */ #define C_DBG_CLK1_DSP_CLKOUT 0x0002 #define C_DBG_CLK1_SHPM 0x0004 /* APLL_DIV_CLK functional pin */ #define C_DBG_CLK1_LCD_FIFO_FULL 0x0008 #define C_DBG_CLK1_DPLL_CLKOUT 0x0010 #define C_DBG_CLK1_APM 0x0020 /* LT functional pin */ #define C_DBG_CLK1_PWL 0x0040 #define C_DBG_CLK1_BRIDGE_CLK 0x0080 /* BU functional pin */ #define C_DBG_CLK1_PWT 0x0100 #define C_DBG_CLK1_DMA_CLK_REQ 0x0200 /* DSR_MODEM_1 functional pin */ #define C_DBG_CLK1_LPG 0x0400 /* * DBG_PATCH_ND_FLSH register definition */ /* LCD_RnW functional pin */ #define C_DBG_PATCH_ND_FLSH_PATCH_DETECT 0x0001 #define C_DBG_PATCH_ND_FLSH_XDI_O_0 0x0002 /* LCD_nCS0 functional pin */ #define C_DBG_PATCH_ND_FLSH_PATCH_STATE_0 0x0004 #define C_DBG_PATCH_ND_FLSH_XDI_O_1 0x0008 /* LCD_ESTRB functional pin */ #define C_DBG_PATCH_ND_FLSH_PATCH_STATE_1 0x0010 #define C_DBG_PATCH_ND_FLSH_XDI_O_2 0x0020 /* LCD_nCS1 functional pin */ #define C_DBG_PATCH_ND_FLSH_PATCH_STATE_2 0x0040 #define C_DBG_PATCH_ND_FLSH_XDI_O_3 0x0080 /* LCD_nRESET functional pin */ #define C_DBG_PATCH_ND_FLSH_ND_FLASH_CLK_REQ 0x0100 #define C_DBG_PATCH_ND_FLSH_XDI_O_4 0x0200 /* LCD_D_5 functional pin */ #define C_DBG_PATCH_ND_FLSH_ND_FLASH_STATE_0 0x0400 #define C_DBG_PATCH_ND_FLSH_C_XDI_O_5 0x0800 /* LCD_RS functional pin */ #define C_DBG_PATCH_ND_FLSH_ND_FLASH_STATE_1 0x1000 #define C_DBG_PATCH_ND_FLSH_XDI_O_6 0x2000 /* LCD_D_0 functional pin */ #define C_DBG_PATCH_ND_FLSH_ND_FLASH_STATE_2 0x4000 #define C_DBG_PATCH_ND_FLSH_XDI_O_7 0x8000 /* * DBG_IMIF register definition */ /* LCD_D_3 functional pin */ #define C_DBG_IMIF_GEA_WORKING 0x0001 #define C_DBG_IMIF_IMIF_CCS_0 0x0002 #define C_DBG_IMIF_X_A_2 0x0004 /* LCD_D_4 functional pin */ #define C_DBG_IMIF_GEA_DL_NUL 0x0008 #define C_DBG_IMIF_IMIF_CCS_1 0x0010 #define C_DBG_IMIF_X_A_3 0x0020 /* LCD_D_6 functional pin */ #define C_DBG_IMIF_IMIF_CCS_2 0x0040 #define C_DBG_IMIF_X_A_4 0x0080 /* LCD_D_7 functional pin */ #define C_DBG_IMIF_IMIF_CCS_3 0x0100 #define C_DBG_IMIF_XIO_NREADY_MEM 0x0200 /* NAND_IO_5 functional pin */ #define C_DBG_IMIF_IMIF_CS6_0 0x0400 #define C_DBG_IMIF_DMA_REQ_SRC_4 0x0800 /* NAND_nWP1 functional pin */ #define C_DBG_IMIF_IMIF_PM 0x1000 #define C_DBG_IMIF_USIM_TX_STATE_1 0x4000 /* * DBG_KB_USIM_SHD register definition */ /* NAND_RE functional pin */ #define C_DBG_KB_USIM_SHD_KB_STATE_0 0x0001 #define C_DBG_KB_USIM_SHD_SHD_EZ4KX16 0x0002 #define C_DBG_KB_USIM_SHD_USIM_STATE_0 0x0004 /* NAND_WE functional pin */ #define C_DBG_KB_USIM_SHD_KB_STATE_1 0x0008 #define C_DBG_KB_USIM_SHD_USIM_STATE_1 0x0010 #define C_DBG_KB_USIM_SHD_BRIDGE_EN 0x0020 /* NAND_CLE functional pin */ #define C_DBG_KB_USIM_SHD_KB_STATE_2 0x0040 #define C_DBG_KB_USIM_SHD_DSP_NIRQ_VIEW_0 0x0080 #define C_DBG_KB_USIM_SHD_USIM_STATE_2 0x0100 /* NAND_ALE functional pin */ #define C_DBG_KB_USIM_SHD_KB_STATE_3 0x0200 #define C_DBG_KB_USIM_SHD_DSP_NIRQ_VIEW_1 0x0400 #define C_DBG_KB_USIM_SHD_USIM_STATE_3 0x0800 /* * DBG_USIM register definition */ /* NAND_IO_8 functional pin */ #define C_DBG_USIM_RHEA_NSTROBE 0x0001 #define C_DBG_USIM_USIM_RX_STATE_1 0x0002 /* NAND_CE1 functional pin : configured in other register : DBG_IRQ */ #define C_DBG_USIM_RHEA_NREADY 0x0004 #define C_DBG_USIM_USIM_TX_STATE_0 0x0008 /* NAND_ALE functional pin */ #define C_DBG_USIM_SHD_EZ9 0x0010 #define C_DBG_USIM_SHPM 0x0020 #define C_DBG_USIM_USIM_RX_STATE_0 0x0040 /* NAND_ALE functional pin */ #define C_DBG_USIM_SHD_EZ8 0x0080 #define C_DBG_USIM_APM 0x0100 #define C_DBG_USIM_USIM_START_BIT 0x0200 /* NAND_ALE functional pin */ #define C_DBG_USIM_ND_FLASH_STATE_3 0x0400 #define C_DBG_USIM_X_A_0 0x0800 /* NAND_ALE functional pin */ #define C_DBG_USIM_ND_FLASH_STATE_4 0x1000 #define C_DBG_USIM_X_A_1 0x2000 /* * DBG_MISC1 register definition */ /* nCS3 functional pin */ #define C_DBG_MISC1_TOUT1 0x0001 #define C_DBG_MISC1_TPU_IDLE 0x0002 /* MMC_CLK functional pin */ #define C_DBG_MISC1_MS_CLK 0x0004 #define C_DBG_MISC1_MMC_SPI_CLK 0x0008 /* IO_13 functional pin */ #define C_DBG_MISC1_MCUEN_2 0x0010 #define C_DBG_MISC1_MMC_SPI_FREADY 0x0020 #define C_DBG_MISC1_ARBITRER_NWAIT 0x0040 /* SDMC_DAT_0 functional pin */ #define C_DBG_MISC1_MS_SDIO 0x0080 #define C_DBG_MISC1_MAS_1 0x0100 /* SDMC_DAT_3 functional pin */ #define C_DBG_MISC1_TOUT2 0x0200 #define C_DBG_MISC1_MMC_SPI_CS2 0x0400 #define C_DBG_MISC1_MAS_0 0x0800 /* IO_6 functional pin */ #define C_DBG_MISC1_XF 0x1000 /* IO_14 functional pin : already configured in DBG_CLK2 */ #define C_DBG_MISC1_NMREQ 0x2000 #define C_DBG_MISC1_SHD_EZ9 0x4000 /* MMC_CMD functional pin */ #define C_DBG_MISC1_MS_BS 0x8000 /* * DBG_MISC2 register definition */ /* SD_IRDA functional pin */ #define C_DBG_MISC2_LCD_FIFO_EMPTY 0x0001 /* ADD_23 functional pin */ #define C_DBG_MISC2_GPO_1 0x0002 /* EXT_IRQ_1 functional pin */ #define C_DBG_MISC2_START_BIT 0x0004 /* EXT_IRQ_2 functional pin */ #define C_DBG_MISC2_X_IOSTRBN 0x0008 /* NAND_IO_1 functional pin */ #define C_DBG_MISC2_NOPC 0x0010 #define C_DBG_MISC2_DMA_REQ_SRC_0 0x0020 #define C_DBG_MISC2_PATCH_DETECT 0x0040 /* NAND_IO_2 functional pin */ #define C_DBG_MISC2_DMA_REQ_SRC_1 0x0080 #define C_DBG_MISC2_PATCH_STATE_0 0x0100 #define C_DBG_MISC2_MAS_1 0x0200 /* NAND_IO_3 functional pin */ #define C_DBG_MISC2_MAS_0 0x0400 #define C_DBG_MISC2_DMA_REQ_SRC_2 0x0800 #define C_DBG_MISC2_PATCH_STATE_1 0x1000 /* NAND_IO_4 functional pin */ #define C_DBG_MISC2_DMA_REQ_SRC_3 0x2000 #define C_DBG_MISC2_PATCH_STATE_2 0x4000 /* ADD_22 functional pin */ #define C_DBG_MISC2_GPO_0 0x8000 /* * DBG_CLK2 register definition */ /* MCUEN_1 functional pin */ #define C_DBG_CLK2_CPORT_CLKIN 0x0001 /* TSPACT_11 functional pin */ #define C_DBG_CLK2_BCLKX 0x0002 #define C_DBG_CLK2_DMA_CLK_REQ2 0x0004 #define C_DBG_CLK2_CLKM_CLK 0x0008 /* RX_IRDA functional pin */ #define C_DBG_CLK2_CLK16X_IRDA 0x0010 /* IO_7 functional pin */ #define C_DBG_CLK2_CLKX_SPI 0x0020 /* IO_14 functional pin : already configured in DBG_MISC1 */ #define C_DBG_CLK2_PP_CLK_IN 0x0040 /* IO_15 functional pin : already configured in DBG_IRQ */ #define C_DBG_CLK2_PP_CLK_EN 0x0080 /* * DBG_CONF1 register definition */ #define C_DBG_CONF1_ARM_IRQ_SEL0_POS 0 #define C_DBG_CONF1_ARM_IRQ_SEL1_POS 5 #define C_DBG_CONF1_DSP_IRQ_SEL0_POS 10 /* * DBG_CONF2 register definition */ #define C_DBG_CONF2_DSP_IRQ_SEL1_POS 0 #define C_DBG_CONF2_DMA_REQ_SEL0_POS 5 #define C_DBG_CONF2_DMA_REQ_SEL1_POS 10 #define C_DBG_CONF_ARM_IRQ_MASK 0x001F #define C_DBG_CONF_DSP_IRQ_MASK 0x000F #define C_DBG_CONF_DMA_REQ_MASK 0x001F /* * CONF_CORE register definition */ #define C_CONF_CORE_RIF_CLK_POL_POS 5 #define C_CONF_CORE_SPI_CLK_POL_POS 6 #define C_CONF_CORE_RIF_CLK_POL_MASK 0x0001 #define C_CONF_CORE_SPI_CLK_POL_MASK 0x0001 /**************************************************************************** * MACRO DEFINITION ***************************************************************************/ #define F_DBG_IRQ_CONFIG(d_config) C_DBG_IRQ_REG = d_config #define F_DBG_DMA_P1_NDFLASH_CONFIG(d_config) C_DBG_DMA_P1_NDFLASH_REG = d_config #define F_DBG_DMA_P2_CONFIG(d_config) C_DBG_DMA_P2_REG = d_config #define F_DBG_DMA_P0_CONFIG(d_config) C_DBG_DMA_P0_REG = d_config #define F_DBG_CLK1_CONFIG(d_config) C_DBG_CLK1_REG = d_config #define F_DBG_PATCH_ND_FLSH_CONFIG(d_config) C_DBG_PATCH_ND_FLSH_REG = d_config #define F_DBG_IMIF_CONFIG(d_config) C_DBG_IMIF_REG = d_config #define F_DBG_KB_USIM_SHD_CONFIG(d_config) C_DBG_KB_USIM_SHD_REG = d_config #define F_DBG_USIM_CONFIG(d_config) C_DBG_USIM_REG = d_config #define F_DBG_MISC1_CONFIG(d_config) C_DBG_MISC1_REG = d_config #define F_DBG_MISC2_CONFIG(d_config) C_DBG_MISC2_REG = d_config #define F_DBG_CLK2_CONFIG(d_config) C_DBG_CLK2_REG = d_config /************************************************************************** * * FUNCTION NAME: F_DBG_CONFIG_VIEW * Configure the ARM_nIRQ_VIEW(1:0), DSP_nIRQ_VIEW(1:0) and * nDMA_REQ_VIEW(1:0). * * * ARGUMENT LIST: * * Argument Description * -------------- -------------------------------------------------------- * d_arm_irq_sel0 ARM interrupt index mapped on ARM_nIRQ_VIEW(0) (use index * defined in the Interrupt Handler module). * d_arm_irq_sel1 ARM interrupt index mapped on ARM_nIRQ_VIEW(1) (use index * defined in the Interrupt Handler module). * d_dsp_irq_sel0 DSP interrupt index mapped on DSP_nIRQ_VIEW(0). * d_dsp_irq_sel1 DSP interrupt index mapped on DSP_nIRQ_VIEW(1). * d_dma_req_sel0 DMA request index mapped on nDMA_REQ_VIEW(0) (use index * defined in the DMA module). * d_dma_req_sel1 DMA request index mapped on nDMA_REQ_VIEW(0) (use index * defined in the DMA module). * * RETURN VALUE: None * **************************************************************************/ #define F_DBG_VIEW_CONFIG(d_arm_irq_sel0, d_arm_irq_sel1, \ d_dsp_irq_sel0, d_dsp_irq_sel1, \ d_dma_req_sel0, d_dma_req_sel1) { \ C_DBG_CORE1_REG = ((d_arm_irq_sel0 & C_DBG_CONF_ARM_IRQ_MASK) << C_DBG_CONF1_ARM_IRQ_SEL0_POS) | \ ((d_arm_irq_sel1 & C_DBG_CONF_ARM_IRQ_MASK) << C_DBG_CONF1_ARM_IRQ_SEL1_POS) | \ ((d_dsp_irq_sel0 & C_DBG_CONF_DSP_IRQ_MASK) << C_DBG_CONF1_DSP_IRQ_SEL0_POS); \ C_DBG_CORE2_REG = ((d_dsp_irq_sel1 & C_DBG_CONF_DSP_IRQ_MASK) << C_DBG_CONF2_DSP_IRQ_SEL1_POS) | \ ((d_dma_req_sel0 & C_DBG_CONF_DMA_REQ_MASK) << C_DBG_CONF2_DMA_REQ_SEL0_POS) | \ ((d_dma_req_sel1 & C_DBG_CONF_DMA_REQ_MASK) << C_DBG_CONF2_DMA_REQ_SEL1_POS); \ } #define F_CONF_RIF_RX_FALLING_EDGE C_CONF_CORE_REG &= ~(C_CONF_CORE_RIF_CLK_POL_MASK << C_CONF_CORE_RIF_CLK_POL_POS) #define F_CONF_RIF_RX_RISING_EDGE C_CONF_CORE_REG |= (C_CONF_CORE_RIF_CLK_POL_MASK << C_CONF_CORE_RIF_CLK_POL_POS) #define F_CONF_SPI_RX_FALLING_EDGE C_CONF_CORE_REG &= ~(C_CONF_CORE_SPI_CLK_POL_MASK << C_CONF_CORE_SPI_CLK_POL_POS) #define F_CONF_SPI_RX_RISING_EDGE C_CONF_CORE_REG |= (C_CONF_CORE_SPI_CLK_POL_MASK << C_CONF_CORE_SPI_CLK_POL_POS) /**************************************************************************** * STRUCTURE DEFINITION ***************************************************************************/ /**************************************************************************** * PROTOTYPE DEFINITION ***************************************************************************/ #endif /* (CHIPSET == 12) */ #endif /* __SYS_CONF_H__ */