/** @file DHL_SYS_Platform.c @brief ÀÌ ¸ðµâ¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸í.. ex: AudioVideo decoding/capture/output implementation Copyright 2006~2010 Digital STREAM Technology, Inc. All Rights Reserved */ #include "DHL_OSAL.h" #include "DHL_DBG.h" #include "DHL_SYS.h" #include "bsettop.h" #include "bsettop_user_io.h" #include "bsettop_rfm.h" #include "DHL_SYS_Impl.h" /* ¸ðµç Çì´õ ÆÄÀÏÀ» Æ÷ÇÔÇÏÁö´Â ¾ÊÀ¸¸ç, compile timeÀ» ÁÙÀ̱â À§ÇØ °¢ ¸ðµâÀº ÇÊ¿äÇÑ ¸¸Å­ÀÇ Çì´õ¸¦ ¼±¾ðÇϵµ·Ï ÇÔ. */ /* DHL µð¹ö±× ¸ðµâ À̸§ Á¤ÀÇ ·ê Âü°í: DHL ¸ðµâµéÀº ¸ðµÎ * ·Î ½ÃÀÛ. API´Â ´ë¹®ÀÚ, Platform ¹× ±âŸ´Â ¼Ò¹®ÀÚ »ç¿ë. µðÆúÆ® ·¹º§Àº 0À¸·Î ¼³Á¤ÇÑ´Ù. (0: ¿¡·¯ ¸Þ½ÃÁö¸¸ Ãâ·Â) */ //DHL_MODULE("*SYS", 0); #if COMMENT ____Config____(){} #endif /* ÀÌ ¸ðµâ ³»ºÎ¿¡¼­ »ç¿ëµÇ´Â °¢Á¾ configuration Á¤ÀÇ. */ /* #define SUPPORT_FAST_SWITCHING_OPTIMIZATION 1 */ /* #define FUNC_MONITOR_TIMER_ID TIMER_ID_FUNC_MONITOR */ #if COMMENT ____Types____(){} #endif /* ÀÌ ¸ðµâ ³»ºÎ¿¡¼­ »ç¿ëµÇ´Â structure ¹× enumerations. */ #if COMMENT ____Variables____(){} #endif /* global·Î Àû¿ëµÇ´Â variable Á¤ÀÇ. °¢ function º°·Î Ư¼öÇÑ ¿ëµµÀÇ variableÀº °¢ functionX block ¿¡¼­ Á¤ÀÇ °¡´É. */ buser_input_t g_sys_user_io; brfm_t g_sys_rfm; /* °¢ ÇÁ·ÎÁ§Æ®ÀÇ Rev º° H/W bit Á¤ÀÇ DHL_BOARD_REV ¿¡ Á¤ÀÇµÈ Rev ±¸Á¶¸¦ ÀÏÄ¡ ½ÃÄѾߵÊ. BKNOTE: newcon2¿¡¼­ micom°ü·ÃµÈ ³»¿ë È®ÀÎ ÇÒ °Í. (wakeup°°Àº Á¤º¸µé ÇÊ¿äÇÔ) */ static const UINT16 NEWCON3_REV_table[][2] = { {0x00, eREV_010}, // R0.1 {0x01, eREV_020}, // R0.2 {0x02, eREV_021}, // R0.21 {0x03, eREV_030}, // R0.3 }; #if COMMENT ____GPIO____(){} #endif #if COMMENT ____API____(){} #endif /** */ enum DHL_HOST_ENDIAN DHL_SYS_GetHostEndianness(void) { static BOOL s_HostEndian; if (s_HostEndian == eENDIAN_BIG || s_HostEndian == eENDIAN_LITTLE) return s_HostEndian; //if (g_HostEndian == eENDIAN_UNKNOWN) { UINT16 dummy = 0x1234; if (*(UINT8 *)&dummy == 0x12) { // big endian s_HostEndian = eENDIAN_BIG; } else { // little endian s_HostEndian = eENDIAN_LITTLE; } return s_HostEndian; } } DHL_RESULT DHL_SYS_GetBoardTypeVersion(DHL_BOARD_TYPE *pType, DHL_BOARD_REV *pVer) { *pType = eDHL_BOARD_NEWCON3; *pVer = (DHL_BOARD_REV)NEWCON3_REV_table[2][1]; return DHL_OK; } DHL_RESULT DHL_SYS_Control(DHL_SYSCTL_TYPE type, UINT32 param) { DHL_RESULT dhlResult = DHL_OK; switch (type) { case eSYSCTL_Reset: DHL_SYS_Reset((DHL_RESET_MODE)param); break; default: DHL_OS_Printf("|%s| unsupported control type(type:%d).\n", __FUNCTION__, type); dhlResult = DHL_FAIL_INVALID_PARAM; break; } return dhlResult; } DHL_RESULT DHL_SYS_Query(DHL_SYSQRY_TYPE type, void *pdata) { return DHL_FAIL_NOT_IMPLEMENTED; } #if COMMENT ____Debug____(){} #endif DHL_RESULT DHL_SYS_Reset(DHL_RESET_MODE mode) { DHL_RESULT dhlResult = DHL_OK; if (mode == eDHL_RESET_Standby) { dhl_sys_standby(); } else if (mode == eDHL_RESET_Reboot) { dhl_sys_reset(0); } else { return DHL_OK; } return dhlResult; } #if COMMENT ____Symbol____(){} #endif #if DHL_REGISTER_DEUBG_SYMBOLS static DHL_SymbolTable _symbols[] = { /* however, if you want typing short-cut, it is good usage. DHL_FNC_SYM_ENTRY2("epg_start", App_EpgUpdateStart), DHL_FNC_SYM_ENTRY2("epg_stop", App_EpgUpdateCancel), DHL_FNC_SYM_ENTRY2("epg_list", Dmc_EpgPrintAllTables), DHL_FNC_SYM_ENTRY2("epg_delete", App_EpgDeleteAll), DHL_VAR_SYM_ENTRY(g_XX_TestMode), */ }; #endif /* DHL_REGISTER_DEUBG_SYMBOLS */ #if COMMENT ____Watchdog____(){} #endif BOOL g_dhl_bEnableWatchdog; BOOL DHL_SYS_IsWatchdogEnabled(void) { return g_dhl_bEnableWatchdog; } void DHL_SYS_EnableWatchdog(void) { #if 0 dhl_sys_enable_watchdog(TRUE, 0x7FFFFFF); // about 5 seconds g_dhl_bEnableWatchdog = TRUE; #endif } void DHL_SYS_DisableWatchdog(void) { #if 0//CONFIG_WATCHDOG dhl_sys_enable_watchdog(FALSE, 0); g_dhl_bEnableWatchdog = FALSE; #endif } #if COMMENT ____Init____(){} #endif DHL_RESULT DHL_SYS_Init(void) { #if DHL_REGISTER_DEUBG_SYMBOLS DHL_DBG_RegisterSymbols(_symbols, DHL_NUMSYMBOLS(_symbols)); #endif bsettop_init(0); // dhl_sys_init(); g_sys_user_io = buser_input_open(B_ID(USERIO_ID)); g_sys_rfm = brfm_open(0); buser_AOV_input_LED(g_sys_rfm, eLED_Status_G); #if CONFIG_WATCHDOG // DHL_SYS_EnableWatchdog(); //BKNOTE: bsettop_init()¿¡¼­ 󸮵ȴÙ. #endif return DHL_OK; } DHL_RESULT DHL_SYS_Uninit(void) { return DHL_FAIL_NOT_IMPLEMENTED; } /* end of file */