//int LoadFile(char *name, Uint8 *location, Uint32 size); //00200000H //-------------------------------------------------------------------------------------------------------------------------------------- void InitCD() { Uint32 lib_work[GFS_WORK_SIZE(MAX_OPEN) / sizeof(Uint32)]; GfsDirTbl dirtbl; #ifndef ACTION_REPLAY #ifdef DEBUG_DRV2 //CdUnlock(); cd_auth(); #endif // Sint32 ret; CDC_CdInit(0x00,0x00,0x05,0x0f); // CDC_CdInit(0x01,0x01,0x05,0x0f); GFS_DIRTBL_TYPE(&dirtbl) = GFS_DIR_NAME; GFS_DIRTBL_DIRNAME(&dirtbl) = dir_name; GFS_DIRTBL_NDIR(&dirtbl) = MAX_DIR; GFS_Init(MAX_OPEN, lib_work, &dirtbl); #endif }
GERR SystemInit( void ) { GERR ferr = GD_OK; GBOOL flag = GFALSE; U32 count = 0; U32 index = 0; #if SYSTEM_INIT_GH_ARC == 1 #endif #if SYSTEM_INIT_GH_ATA == 1 #endif #if SYSTEM_INIT_GH_AD == 1 #endif #if SYSTEM_INIT_GH_AUD == 1 #endif #if SYSTEM_INIT_GH_BM == 1 #endif #if SYSTEM_INIT_GH_BM1 == 1 #endif #if SYSTEM_INIT_GH_BM2 == 1 #endif #if SYSTEM_INIT_GH_BM3 == 1 #endif #if SYSTEM_INIT_GH_CLKPWR == 1 #endif #if SYSTEM_INIT_GH_DC == 1 #endif #if SYSTEM_INIT_GH_DC2 == 1 #endif #if SYSTEM_INIT_GH_FP == 1 #endif #if SYSTEM_INIT_GH_GPIO == 1 #endif #if SYSTEM_INIT_GH_I2C == 1 #endif #if SYSTEM_INIT_GH_ICC == 1 #endif #if SYSTEM_INIT_GH_IRR == 1 #endif #if SYSTEM_INIT_GH_IRT == 1 #endif #if SYSTEM_INIT_GH_MVS == 1 #endif #if SYSTEM_INIT_GH_MVS2 == 1 #endif #if SYSTEM_INIT_GH_DMA == 1 #endif #if SYSTEM_INIT_GH_SDRAM == 1 #endif #if SYSTEM_INIT_GH_TSD == 1 #endif #if SYSTEM_INIT_GH_TSD1 == 1 #endif #if SYSTEM_INIT_GH_TSD2 == 1 #endif #if SYSTEM_INIT_GH_TSD3 == 1 #endif #if SYSTEM_INIT_GH_UART == 1 #endif #if SYSTEM_INIT_GH_UART1 == 1 #endif #if SYSTEM_INIT_GH_USB == 1 #endif #if SYSTEM_INIT_GH_UPI == 1 #endif #if SYSTEM_INIT_GH_VE == 1 #endif #if SYSTEM_INIT_GH_VD == 1 #endif #if SYSTEM_INIT_GH_VD2 == 1 #endif #if SYSTEM_INIT_GH_VDSW == 1 #endif #if SYSTEM_INIT_GD_POWER == 1 #endif #if SYSTEM_INIT_GD_INT == 1 system_fdIntParams.resetFct = SYSTEM_INT_PARAM_RESET_FUNCTION; system_fdIntParams.memExceptionFct = SYSTEM_INT_PARAM_MEM_EXCEPTION_FUNCTION; system_fdIntParams.instructErrorFct = SYSTEM_INT_PARAM_INST_EXCEPTION_FUNCTION; #endif #if SYSTEM_INIT_GD_GPIO == 1 system_fdGpioParams.irqPriority = SYSTEM_GPIO_PARAM_IRQ_PRIORITY; #if defined(SMARTMPEG_C) || defined(SMARTMPEG_M) || defined(SMARTMPEG_D) || defined(GK6105S) || defined(GK6106) system_fdGpioParams.xrefTable = system_fdGpioXrefTable; #endif #endif #if SYSTEM_INIT_GD_TIMER == 1 system_fdTimerParams.softTimerReg = SYSTEM_TIMER_PARAM_SOFT_TIMER_REG; system_fdTimerParams.softTimerpriority = SYSTEM_TIMER_PARAM_SOFT_TIMER_PRIORITY; system_fdTimerParams.hardTimerReg = SYSTEM_TIMER_PARAM_HARD_TIMER_REG; system_fdTimerParams.hardTimerpriority = SYSTEM_TIMER_PARAM_HARD_TIMER_PRIORITY; #endif #if SYSTEM_INIT_GD_I2C == 1 system_fdI2cParams.priority = SYSTEM_I2C_PARAM_PRIORITY; system_fdI2cParams.mode = SYSTEM_I2C_PARAM_MODE; system_fdI2cParams.gpioSclPinCh2 = -1; system_fdI2cParams.gpioSdaPinCh2 = -1; system_fdI2cParams.mutexWaitFunc = SYSTEM_I2C_PARAM_MUTEX_WAIT_FUNCTION; system_fdI2cParams.mutexReleaseFunc = SYSTEM_I2C_PARAM_MUTEX_RELEASE_FUNCTION; #if defined(SMARTMPEG_C) || defined(SMARTMPEG_M) || defined(SMARTMPEG_D) || defined(GK6105S) || defined(GK6106) count = sizeof(system_fdGpioXrefTable)/sizeof(system_fdGpioXrefTable[0]); for( index=0; index < count; index++ ) { if( system_fdGpioXrefTable[index].type == GD_GPIO_TYPE_INOUT_I2C_CLK ) system_fdI2cParams.gpioSclPinCh1 = system_fdGpioXrefTable[index].pin; if( system_fdGpioXrefTable[index].type == GD_GPIO_TYPE_INOUT_I2C_DATA ) system_fdI2cParams.gpioSdaPinCh1 = system_fdGpioXrefTable[index].pin; } #endif #endif #if SYSTEM_INIT_GD_ICC == 1 system_fdIccParams.iccIndex = 0; system_fdIccParams.haveTDA8004T = GTRUE; system_fdIccParams.atrBuffer = atrBuf; system_fdIccParams.atrSize = 256; system_fdIccParams.histBuffer = histBuf; system_fdIccParams.histSize = 256; #endif #if SYSTEM_INIT_GD_UART == 1 system_fdSerialParams.dataRate = SYSTEM_SERIAL_PARAM_DATA_RATE; system_fdSerialParams.numDataBits = SYSTEM_SERIAL_PARAM_NUM_DATA_BITS; system_fdSerialParams.numStopBits = SYSTEM_SERIAL_PARAM_NUM_STOP_BITS; system_fdSerialParams.protocol = SYSTEM_SERIAL_PARAM_PROTOCOL; system_fdSerialParams.parity = SYSTEM_SERIAL_PARAM_PARITY; system_fdUartParams.defaultParamsP = &system_fdSerialParams; system_fdUartParams.irqPriority = SYSTEM_UART_PARAM_IRQ_PRIORITY; system_fdUartParams.notifyFunction = SYSTEM_UART_PARAM_NOTIFY_FUNCTION; #endif #if SYSTEM_INIT_GD_UART1 == 1 system_fdSerial1Params.dataRate = SYSTEM_SERIAL1_PARAM_DATA_RATE; system_fdSerial1Params.numDataBits = SYSTEM_SERIAL1_PARAM_NUM_DATA_BITS; system_fdSerial1Params.numStopBits = SYSTEM_SERIAL1_PARAM_NUM_STOP_BITS; system_fdSerial1Params.protocol = SYSTEM_SERIAL1_PARAM_PROTOCOL; system_fdSerial1Params.parity = SYSTEM_SERIAL1_PARAM_PARITY; system_fdUart1Params.defaultParamsP = &system_fdSerial1Params; system_fdUart1Params.irqPriority = SYSTEM_UART1_PARAM_IRQ_PRIORITY; system_fdUart1Params.notifyFunction = SYSTEM_UART1_PARAM_NOTIFY_FUNCTION; system_fdUart1Params.interruptEnable = GFALSE; #endif #if SYSTEM_INIT_GD_FE == 1 #endif #if SYSTEM_INIT_GD_TSD == 1 system_fdTsdParams.tsInputTsd1 = SYSTEM_TSD_PARAM_TS_INPUTTSD1; system_fdTsdParams.tsInputTsd2 = SYSTEM_TSD_PARAM_TS_INPUTTSD2; #if defined(GK6106) system_fdTsdParams.tsInputTsd3 = SYSTEM_TSD_PARAM_TS_INPUTTSD3; system_fdTsdParams.tsInputTsd4 = SYSTEM_TSD_PARAM_TS_INPUTTSD4; #endif #ifdef AV_SEPRATE_FLAG system_fdTsdParams.hwCtrlBuf[0] = SYSTEM_TSD_PARAM_HW_CTRL_VID; //GD_TSD_VIDEO_PES system_fdTsdParams.hwCtrlBuf[1] = SYSTEM_TSD_PARAM_HW_CTRL_AUD; //GD_TSD_AUDIO_PES system_fdTsdParams.hwCtrlBuf[2] = SYSTEM_TSD_PARAM_HW_CTRL_SPD; //GD_TSD_SPDIF_PES system_fdTsdParams.hwCtrlBuf[3] = SYSTEM_TSD_PARAM_HW_CTRL_TXT; //GD_TSD_TXT_PES system_fdTsdParams.hwCtrlBuf[4] = SYSTEM_TSD_PARAM_HW_CTRL_SUB; //GD_TSD_SUBTITLE_PES system_fdTsdParams.hwCtrlBuf[5] = SYSTEM_TSD_PARAM_HW_CTRL_DUB; //GD_TSD_DVBSUBTITLE_PES system_fdTsdParams.hwCtrlBuf[6] = SYSTEM_TSD_PARAM_HW_CTRL_PCR; //GD_TSD_PCR_PES #else system_fdTsdParams.hwCtrlBuf = SYSTEM_TSD_PARAM_HW_CTRL_BUF; #endif system_fdTsdParams.bmGlobalAdrOffset = SYSTEM_TSD_PARAM_BM_GLOBAL_ADROFFSET; system_fdTsdParams.pcrBufAddr = SYSTEM_TSD_PARAM_PCR_BUF_ADDR; system_fdTsdParams.pcrBufSize = SYSTEM_TSD_PARAM_PCR_BUF_SIZE; if(SYSTEM_TSD_PARAM_INPUT_CONF == NULL) { system_fdTsdParams.inputConf = (GD_TSD_INPUT_MODE_S*)SYSTEM_TSD_PARAM_INPUT_CONF; } else { system_fdTsdInputMode.tsd1ModeFlags = SYSTEM_TSD_PARAM_INPUT_CONF_TSD1_MODE; system_fdTsdInputMode.tsd2ModeFlags = SYSTEM_TSD_PARAM_INPUT_CONF_TSD2_MODE; system_fdTsdParams.inputConf = &system_fdTsdInputMode; } #endif #if SYSTEM_INIT_GD_AUD == 1 system_fdAudParams.abvAddr = SYSTEM_AUD_PARAM_ABV_ADDR; system_fdAudParams.abvSize = SYSTEM_AUD_PARAM_ABV_SIZE; #endif #if SYSTEM_INIT_GD_AO == 1 system_fdAoParams.clkToFsRatio = SYSTEM_AO_PARAM_CLK_TO_FS_RATIO; system_fdAoParams.aoutBitClock = SYSTEM_AO_PARAM_AOUT_BIT_CLOCK; system_fdAoParams.amcBitClock = SYSTEM_AO_PARAM_AMC_BIT_CLOCK; system_fdAoParams.format = SYSTEM_AO_PARAM_FORMAT; system_fdAoParams.precision = SYSTEM_AO_PARAM_PRECISION; system_fdAoParams.invertWordClock = SYSTEM_AO_PARAM_INVERT_WORD_CLOCK; system_fdAoParams.enableSpdif = SYSTEM_AO_PARAM_ENABLE_SPDIF; system_fdAoParams.spdifAddr = SYSTEM_AO_PARAM_SPDIF_ADDR; system_fdAoParams.spdifSize = SYSTEM_AO_PARAM_SPDIF_SIZE; #if defined(SMARTMPEG_C) || defined(SMARTMPEG_M) || defined(SMARTMPEG_D) || defined(GK6105S) || defined(GK6106) count = sizeof(system_fdGpioXrefTable)/sizeof(system_fdGpioXrefTable[0]); for( index=0; index < count; index++ ) { if( system_fdGpioXrefTable[index].type == GD_GPIO_TYPE_OUTPUT_SPDIF_OUT ) system_fdAoParams.gpioSpdifPin = system_fdGpioXrefTable[index].pin; } #endif #endif #if SYSTEM_INIT_GD_VID == 1 system_fdVidParams.use25FrameArchitecture = SYSTEM_VID_PARAM_USE_25_FRAMES; system_fdVidParams.vbvAddr = SYSTEM_VID_PARAM_VBV_ADDR; system_fdVidParams.vbvSize = SYSTEM_VID_PARAM_VBV_SIZE; #endif #if SYSTEM_INIT_GD_VO == 1 system_fdVoParams.aspect = SYSTEM_VO_PARAM_ASPECT; system_fdVoParams.window = SYSTEM_VO_PARAM_WINDOW; #endif #if SYSTEM_INIT_GD_VENC == 1 system_fdVencParams.DACConfiguration = SYSTEM_VENC_PARAM_DAC_CONFIGURATION; system_fdVencParams.ColorSystem = SYSTEM_VENC_PARAM_COLOR_SYSTEM; system_fdVencParams.InsertOSD = SYSTEM_VENC_PARAM_INSERT_OSD; system_fdVencParams.SynOnRGB = SYSTEM_VENC_PARAM_SYN_ON_RGB; system_fdVencParams.enableWSS = SYSTEM_VENC_PARAM_ENABLE_WSS; system_fdVencParams.invertClk27 = SYSTEM_VENC_PARAM_INVERT_CLK27; system_fdVencParams.backgroundCol = SYSTEM_VENC_PARAM_BACKGROUND_COL; #endif #if SYSTEM_INIT_GD_DESC == 1 system_fdDescSetPidNotification = SYSTEM_DESC_PARAM_PID_NOTIFICATION; #endif #if SYSTEM_INIT_GD_IR == 1 system_fdIrParams.notifyFunction = SYSTEM_IR_PARAM_NOTIFY_FUNCTION; #endif #if SYSTEM_INIT_GD_TTX == 1 system_fdTtxParams.bufAddr = SYSTEM_TTX_PARAM_BUF_ADDR; system_fdTtxParams.bufSize = SYSTEM_TTX_PARAM_BUF_SIZE; #endif #if SYSTEM_INIT_GD_OSD == 1 system_fdOsdParams.solidColor = SYSTEM_OSD_PARAM_SOLID_COLOR; #endif #if SYSTEM_INIT_GD_PIP == 1 system_fdPipParams.vbvAddr = SYSTEM_PIP_PARAM_VBV_ADDR; system_fdPipParams.vbvSize = SYSTEM_PIP_PARAM_VBV_SIZE; system_fdPipParams.useHwTsd = SYSTEM_PIP_PARAM_USE_HW_TSD; system_fdPipParams.srcTsd = SYSTEM_PIP_PARAM_SRC_TSD; system_fdPipParams.srcChannel = SYSTEM_PIP_PARAM_SRC_CHANNEL; system_fdPipParams.srcTypeIsTs = SYSTEM_PIP_PARAM_SRC_TYPE_IS_TS; #endif #if SYSTEM_INIT_GD_FLASH == 1 system_fdFlashParams.startAddress = SYSTEM_FLASH_PARAM_START_ADDR; system_fdFlashParams.flashCheckFct = SYSTEM_FLASH_PARAM_CHECK_FUNCTION; #endif #if SYSTEM_INIT_GD_SFLASH == 1 #endif #if SYSTEM_INIT_GD_EMM == 1 system_fdEmmParams.TsdbufferAddr = SYSTEM_EMM_TSD_BUFFBASE; #ifdef GK6106 system_fdEmmParams.TsdbufferSize = SYSTEM_EMM_BUFFSIZE; #else system_fdEmmParams.TsdbufferSize = SYSTEM_EMM_BUFFSIZE; #endif system_fdEmmParams.tsdInput = SYSTEM_DVBSI_PARAM_TSD_INPUT; system_fdEmmParams.EmmBufferAddr = SYSTEM_EMM_BUFFBASE; #ifdef GK6106 system_fdEmmParams.EmmBufferSize = SYSTEM_EMM_BUFFSIZE; #else system_fdEmmParams.EmmBufferSize = SYSTEM_EMM_BUFFSIZE; #endif system_fdEmmParams.ReservedBufferAddr = SYSTEM_EMM_RESERVED; system_fdEmmParams.ReservedBufferSize = SYSTEM_EMM_RESERVEDSIZE; #endif #if SYSTEM_INIT_GM_DEBUG == 1 FlgDebWasInit = 1; system_fmDebugParams.dispDevice = SYSTEM_DEBUG_PARAM_DISP_DEVICE; #if defined(SMARTMPEG_C) || defined(SMARTMPEG_M) || defined(SMARTMPEG_D) || defined(GK6105S) || defined(GK6106) count = sizeof(system_fdGpioXrefTable)/sizeof(system_fdGpioXrefTable[0]); for( index=0; index < count; index++ ) { if( system_fdGpioXrefTable[index].type == GD_GPIO_TYPE_INPUT_UART1_RX ) system_fmDebugParams.gpioRxPin = system_fdGpioXrefTable[index].pin; if( system_fdGpioXrefTable[index].type == GD_GPIO_TYPE_OUTPUT_UART1_TX ) system_fmDebugParams.gpioTxPin = system_fdGpioXrefTable[index].pin; } #endif #endif #if SYSTEM_INIT_GM_RCU == 1 system_fmRcuParams.mode = GM_RCU_POLLING_MODE_WITH_IRQ; #if defined(SMARTMPEG_C) || defined(SMARTMPEG_M) || defined(SMARTMPEG_D) || defined(GK6105S) || defined(GK6106) count = sizeof(system_fdGpioXrefTable)/sizeof(system_fdGpioXrefTable[0]); for( index=0; index < count; index++ ) { if( system_fdGpioXrefTable[index].type == GD_GPIO_TYPE_INPUT_IR_DATA ) system_fmRcuParams.irGpioPin = system_fdGpioXrefTable[index].pin; } #endif #endif #if SYSTEM_INIT_GM_PSI == 1 system_fmPsiParams.tsdInput = SYSTEM_PSI_PARAM_TSD_INPUT; system_fmPsiParams.patAddr = SYSTEM_PSI_PARAM_PAT_ADDR; system_fmPsiParams.patSize = SYSTEM_PSI_PARAM_PAT_SIZE; system_fmPsiParams.pmtAddr = SYSTEM_PSI_PARAM_PMT_ADDR; system_fmPsiParams.pmtSize = SYSTEM_PSI_PARAM_PMT_SIZE; system_fmPsiParams.catAddr = SYSTEM_PSI_PARAM_CAT_ADDR; system_fmPsiParams.catSize = SYSTEM_PSI_PARAM_CAT_SIZE; system_fmPsiParams.psiNotifyFct = SYSTEM_PSI_PARAM_PSI_NOTIFY_FUNCTION; #endif #if SYSTEM_INIT_GM_DVBSI == 1 system_fmDvbsiParams.tsdInput = SYSTEM_DVBSI_PARAM_TSD_INPUT; system_fmDvbsiParams.batAddr = SYSTEM_DVBSI_PARAM_BAT_ADDR; system_fmDvbsiParams.batSize = SYSTEM_DVBSI_PARAM_BAT_SIZE; system_fmDvbsiParams.eitAddr = SYSTEM_DVBSI_PARAM_EIT_ADDR; system_fmDvbsiParams.eitSize = SYSTEM_DVBSI_PARAM_EIT_SIZE; system_fmDvbsiParams.nitAddr = SYSTEM_DVBSI_PARAM_NIT_ADDR; system_fmDvbsiParams.nitSize = SYSTEM_DVBSI_PARAM_NIT_SIZE; system_fmDvbsiParams.sdtAddr = SYSTEM_DVBSI_PARAM_SDT_ADDR; system_fmDvbsiParams.sdtSize = SYSTEM_DVBSI_PARAM_SDT_SIZE; system_fmDvbsiParams.tdtAddr = SYSTEM_DVBSI_PARAM_TDT_ADDR; system_fmDvbsiParams.tdtSize = SYSTEM_DVBSI_PARAM_TDT_SIZE; system_fmDvbsiParams.totAddr = SYSTEM_DVBSI_PARAM_TOT_ADDR; system_fmDvbsiParams.totSize = SYSTEM_DVBSI_PARAM_TOT_SIZE; system_fmDvbsiParams.siNotifyFct = SYSTEM_DVBSI_PARAM_SI_NOTIFY_FUNCTION; #endif GD_INT_DisableAllInterrupts(); #if SYSTEM_INIT_GH_ARC == 1 //GH_ARC_init(); //remove this, avoid noise when startup #endif #if SYSTEM_INIT_GH_AD == 1 GH_AD_init(); #endif #if SYSTEM_INIT_GH_AUD == 1 GH_AUD_init(); #endif #if SYSTEM_INIT_GH_BM == 1 GH_BM_init(); #endif #if SYSTEM_INIT_GH_BM1 == 1 GH_BM1_init(); #endif #if SYSTEM_INIT_GH_BM2 == 1 GH_BM2_init(); #endif #ifdef GK6106 #if SYSTEM_INIT_GH_BM3 == 1 GH_BM3_init(); #endif #if SYSTEM_INIT_GH_BM4 == 1 GH_BM4_init(); #endif #endif #if SYSTEM_INIT_GH_CLKPWR == 1 GH_CLKPWR_init(); #endif #if SYSTEM_INIT_GH_DC == 1 GH_DC_init(); #endif #if SYSTEM_INIT_GH_DC2 == 1 GH_DC2_init(); #endif #if SYSTEM_INIT_GH_FP == 1 GH_FP_init(); #endif #if SYSTEM_INIT_GH_GPIO == 1 GH_GPIO_init(); #endif #if SYSTEM_INIT_GH_I2C == 1 GH_I2C_init(); #endif #if SYSTEM_INIT_GH_ICAM == 1 GH_ICAM_init(); #endif #if SYSTEM_INIT_GH_ICC == 1 GH_ICC_init(); #endif #if SYSTEM_INIT_GH_IRR == 1 GH_IRR_init(); #endif #if SYSTEM_INIT_GH_IRT == 1 GH_IRT_init(); #endif #if SYSTEM_INIT_GH_MVS == 1 GH_MVS_init(); #endif #if SYSTEM_INIT_GH_MVS2 == 1 GH_MVS2_init(); #endif #if SYSTEM_INIT_GH_DMA == 1 GH_DMA_init(); #endif #if SYSTEM_INIT_GH_ATA == 1 GH_ATA_init(); #endif #if SYSTEM_INIT_GH_USB == 1 GH_USB_init(); #endif #if SYSTEM_INIT_GH_SDRAM == 1 GH_SDRAM_init(); #if defined(SMARTMPEG) if( SYSTEM_MEM_PARAM_MEMORY_MODE == SDRAM_16_BIT_GPIO ) { GH_INIT_SDRAMRegisters(SYSTEM_FLASH_PARAM_START_ADDR, SYSTEM_MEM_PARAM_DISABLE_BOOT_ROM, GTRUE ); } else { GH_INIT_SDRAMRegisters(SYSTEM_FLASH_PARAM_START_ADDR, SYSTEM_MEM_PARAM_DISABLE_BOOT_ROM, GFALSE ); } #endif #if defined(SMARTMPEG_E) if( SYSTEM_MEM_PARAM_DISABLE_BOOT_ROM == GTRUE ) { GH_SDRAM_set_Config0_BOOT_ROM_ENABLE(0); } if( ( GH_SDRAM_get_Config0_DATA_MODE() & 1 ) == 0 ) { if( SYSTEM_MEM_PARAM_MEMORY_MODE == SDRAM_16_BIT_GPIO ) { GH_SDRAM_set_Config0_DATA_MODE(4); } else if( SYSTEM_MEM_PARAM_MEMORY_MODE == SDRAM_16_BIT_UPI ) { GH_SDRAM_set_Config0_DATA_MODE(2); } } #endif #endif #if SYSTEM_INIT_GH_TSD == 1 GH_TSD_init(); #endif #if SYSTEM_INIT_GH_TSD1 == 1 GH_TSD1_init(); #endif #if SYSTEM_INIT_GH_TSD2 == 1 GH_TSD2_init(); #endif #ifdef GK6106 #if SYSTEM_INIT_GH_TSD3 == 1 GH_TSD3_init(); #endif #if SYSTEM_INIT_GH_TSD4 == 1 GH_TSD4_init(); #endif #endif #if SYSTEM_INIT_GH_UART == 1 GH_UART_init(); #endif #if SYSTEM_INIT_GH_UART1 == 1 GH_UART1_init(); #endif #if SYSTEM_INIT_GH_UPI == 1 GH_UPI_init(); GH_UPI_set_Mode( 2, 2 ); GH_UPI_set_TALS( 2, 0 ); GH_UPI_set_TALH( 2, 0 ); GH_UPI_set_TRS( 2, 8 ); GH_UPI_set_TRDS( 2, 36 ); GH_UPI_set_TRDH( 2, 0 ); GH_UPI_set_TRR( 2, 27 ); GH_UPI_set_TWS( 2, 8 ); GH_UPI_set_TWP( 2, 37 ); GH_UPI_set_TWR( 2, 27 ); GH_UPI_set_WaitMask( 2, 1 ); GH_UPI_set_WaitTime( 100 ); GH_UPI_set_BufferEnable( 2, 1 ); GH_UPI_set_WaitTimerEnable( 1 ); #endif #if SYSTEM_INIT_GH_VE == 1 GH_VE_init(); #endif #if SYSTEM_INIT_GH_VD == 1 GH_VD_init(); #endif #if SYSTEM_INIT_GH_VD2 == 1 GH_VD2_init(); #endif #if SYSTEM_INIT_GH_VDSW == 1 //GH_VDSW_init(); #endif #if SYSTEM_INIT_GH_VOF == 1 //GH_VOF_init(); #endif #if SYSTEM_INIT_GD_POWER == 1 GD_POWER_Init(); #endif #if SYSTEM_INIT_GD_INT == 1 ferr = GD_INT_Init( &system_fdIntParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_GPIO == 1 ferr = GD_GPIO_Init( &system_fdGpioParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_TIMER == 1 ferr = GD_TIMER_Init( &system_fdTimerParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_I2C == 1 ferr = GD_I2C_Init( &system_fdI2cParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_ICC == 1 ferr = GD_ICC_Init(& system_fdIccParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_DMA == 1 ferr = GD_DMA_Init(); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_UART == 1 ferr = GD_UART_Init( &system_fdUartParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_UART1 == 1 ferr = GD_UART1_Init( &system_fdUart1Params ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_TSD == 1 ferr = GD_TSD_Init( &system_fdTsdParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_AUD == 1 ferr = GD_AUD_Init( &system_fdAudParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_AO == 1 ferr = GD_AO_Init( &system_fdAoParams ); if( ferr != GD_OK ) return( ferr ); #endif #if defined(TARGET_GOKE_FPGA) // AC97_Initialize(); #endif #if SYSTEM_INIT_GD_VID == 1 ferr = GD_VID_Init( &system_fdVidParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_VO == 1 ferr = GD_VO_Init(& system_fdVoParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_VENC == 1 ferr = GD_VENC_Init( &system_fdVencParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_DESC == 1 ferr = GD_DESC_Init( system_fdDescSetPidNotification ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_IR == 1 ferr = GD_IR_Init( &system_fdIrParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_TTX == 1 ferr = GD_TTX_Init( &system_fdTtxParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_OSD == 1 ferr = GD_OSD_Init( &system_fdOsdParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_PIP == 1 ferr = GD_PIP_Init( &system_fdPipParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_UPI == 1 GD_UPI_Init(); #endif #if SYSTEM_INIT_GD_UPI == 1 && SYSTEM_INIT_GD_UPI_FLASH == 1 ferr = GD_UPI_Open( SYSTEM_UPI_PARAM_FLASH_CHANNEL, &system_fdUpiFlashHandle ); if( ferr != GD_OK ) return( ferr ); ferr = GD_UPI_SetPredefined( system_fdUpiFlashHandle, SYSTEM_UPI_PARAM_FLASH_PREDEFINED ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_UPI == 1 && SYSTEM_INIT_GD_UPI_HDISK == 1 ferr = GD_UPI_Open( SYSTEM_UPI_PARAM_HDISK_CHANNEL, &system_fdUpiHdiskHandle ); if( ferr != GD_OK ) return( ferr ); ferr = GD_UPI_SetPredefined( system_fdUpiHdiskHandle, SYSTEM_UPI_PARAM_HDISK_PREDEFINED ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_FLASH == 1 ferr = GD_FL_Init( &system_fdFlashParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_SFLASH == 1 ferr = GD_SFLASH_Init(4); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GD_EMM == 1 ferr = GD_EMM_Init(&system_fdEmmParams); if(ferr != GD_OK) return( ferr ); #endif GD_INT_EnableAllInterrupts(); // NOTE: Some GHW (e.g. using I2C) mighht need already ISR support // Note: intalling the "GHW-driver" must happen after some FD-lib drivers have already been installed // e.g. like GD_GPIO, or GD_UPI_Init since these drivers might need to be used by the GHW-driviver #if SYSTEM_INIT_GD_GHW == 1 // NOTE: it's very unlikely that no GHW-driver is used (maybe no 'TARGET_xxx') defined !!! ferr = GD_GHW_Init(0); // just for 'fun' if ( ferr != GD_OK ) return( ferr ); #if defined(SMARTMPEG_M) ferr = INIT_SPEC_HW_DRIVER_2GHW(0); // NOTE: this function will call "GD_GHW_Init(XXX)" again and register some HW-Info #endif if( ferr != GD_OK ) return( ferr ); #endif // Note: drivers which utilize "GHW-functions" must be initialized after the above GHW-driver registration/initialization // e.g. FrontEnd-drivers #if SYSTEM_INIT_GD_FE == 1 ferr = GD_FE_Init(); if( ferr != GD_OK ) return( ferr ); #endif //==================================================================== //== now Init FM-Lib/GFS drivers //==================================================================== #if SYSTEM_INIT_GM_RCU == 1 ferr = GM_RCU_Init( &system_fmRcuParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GM_RCU == 1 && SYSTEM_INIT_GM_RCU_OLD == 1 count = sizeof(system_fmRcuTableOld)/sizeof(system_fmRcuTableOld[0]); GM_RCU_SetKeyCodeMappingTable( SYSTEM_RCU_ID_OLD, count, system_fmRcuTableOld ); #endif #if SYSTEM_INIT_GM_RCU == 1 && SYSTEM_INIT_GM_RCU_NEW == 1 count = sizeof(system_fmRcuTableNew)/sizeof(system_fmRcuTableNew[0]); GM_RCU_SetKeyCodeMappingTable( SYSTEM_RCU_ID_NEW, count, system_fmRcuTableNew ); #endif #if SYSTEM_INIT_GM_RCU == 1 && SYSTEM_INIT_GM_RCU_RC5 == 1 count = sizeof(system_fmRcuTableRc5)/sizeof(system_fmRcuTableRc5[0]); GM_RCU_SetKeyCodeMappingTable( SYSTEM_RCU_ID_RC5, count, system_fmRcuTableRc5 ); #endif #if SYSTEM_INIT_GM_DEBUG == 1 ferr = GM_DEBUG_Init( &system_fmDebugParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GM_PSI == 1 ferr = GM_PSI_Init( &system_fmPsiParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GM_DVBSI == 1 ferr = GM_DVBSI_Init( &system_fmDvbsiParams ); if( ferr != GD_OK ) return( ferr ); #endif #if SYSTEM_INIT_GFS == 1 flag = GFS_Init( system_gfsRootInitTable ); if( !flag ) return( GD_ERR_FEATURE_NOT_SUPPORTED ); #endif #if SYSTEM_INIT_GFS == 1 && SYSTEM_INIT_GFS_OSD == 1 flag = GFS_Init( system_gfsOsdInitTable ); if( !flag ) return( GD_ERR_FEATURE_NOT_SUPPORTED ); #endif #if SYSTEM_INIT_GFS == 1 && SYSTEM_INIT_GFS_TTY == 1 flag = GFS_Init( system_gfsTtyInitTable ); if( !flag ) return( GD_ERR_FEATURE_NOT_SUPPORTED ); #endif #if SYSTEM_INIT_GFS == 1 && SYSTEM_INIT_GFS_FLASH == 1 flag = GFS_Init( system_gfsFlashInitTable ); if( !flag ) return( GD_ERR_FEATURE_NOT_SUPPORTED ); #endif #if SYSTEM_INIT_GFS == 1 && SYSTEM_INIT_GFS_SFLASH == 1 flag = GFS_Init( system_gfsSFlashInitTable ); if( !flag ) return( GD_ERR_FEATURE_NOT_SUPPORTED ); #endif #if SYSTEM_INIT_GFS == 1 && SYSTEM_INIT_GFS_HDISK == 1 flag = GFS_Init( system_gfsHarddiskInitTable ); if( !flag ) return( GD_ERR_FEATURE_NOT_SUPPORTED ); #endif #if SYSTEM_INIT_GFS == 1 && SYSTEM_INIT_GFS_CDROM == 1 flag = GFS_Init( system_gfsCdromInitTable ); if( !flag ) return( GD_ERR_FEATURE_NOT_SUPPORTED ); #endif #if SYSTEM_INIT_GM_EEPROM == 1 ferr = GM_EEPROM_Init(); if( ferr != GD_OK ) return( ferr ); #endif return( ferr ); }