1 #ifndef _UTOPIA_DRIVER_ID_H_ 2 #define _UTOPIA_DRIVER_ID_H_ 3 4 5 extern __attribute__((weak)) MS_U32 BDMAOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 6 extern __attribute__((weak)) MS_U32 IR_TXOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 7 extern __attribute__((weak)) MS_U32 AESDMAOpen(void** pInstantTmp, MS_U32 u32ModuleVersion, void* pAttribute); 8 extern __attribute__((weak)) MS_U32 PCMCIAOpen(void** pInstantTmp, const void* const pAttribute); 9 extern __attribute__((weak)) MS_U32 GOPOpen(void** ppInstance, const void* const pAttribute); 10 extern __attribute__((weak)) MS_U32 GFXOpen(void** ppInstance, const void* const pAttribute); 11 extern __attribute__((weak)) MS_U32 TVENCODEROpen(void** ppInstance, const void* const pAttribute); 12 extern __attribute__((weak)) MS_U32 XCOpenFull(void** ppInstance, const void* const pAttribute); 13 extern __attribute__((weak)) MS_U32 XCOpenMinimum(void** ppInstance, const void* const pAttribute); 14 extern __attribute__((weak)) MS_U32 XCOpenForTEE(void** ppInstance, const void* const pAttribute); 15 extern __attribute__((weak)) MS_U32 MBXOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 16 extern __attribute__((weak)) MS_U32 DIPOpen(void** ppInstance, const void* const pAttribute); 17 extern __attribute__((weak)) MS_U32 PNLOpen(void** ppInstance, const void* const pAttribute); 18 extern __attribute__((weak)) MS_U32 VBIOpen(void** ppInstance, const void* const pAttribute); 19 extern __attribute__((weak)) MS_U32 ACEOpen(void** ppInstance, const void* const pAttribute); 20 extern __attribute__((weak)) MS_U32 DLCOpen(void** ppInstance, const void* const pAttribute); 21 extern __attribute__((weak)) MS_U32 IROpen(void** pInstance, MS_U32 u32ModuleVersion, void* pAttribute); 22 extern __attribute__((weak)) MS_U32 SAROpen(void** pInstance, MS_U32 u32ModuleVersion, void* pAttribute); 23 extern __attribute__((weak)) MS_U32 PWSOpen(void** pInstance, MS_U32 u32ModuleVersion, void* pAttribute); 24 extern __attribute__((weak)) MS_U32 FLASHOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 25 extern __attribute__((weak)) MS_U32 SEALOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 26 extern __attribute__((weak)) MS_U32 CMDQOpen(void** pInstance, void* pAttribute); 27 extern __attribute__((weak)) MS_U32 SEMOpen(void** pInstance, MS_U32 u32ModuleVersion, void* pAttribute); 28 extern __attribute__((weak)) MS_U32 SYSOpen(void** pInstance, void* pAttribute); 29 extern __attribute__((weak)) MS_U32 VDEC_EX_V2_Open(void** ppInstance, const void* const pAttribute); 30 extern __attribute__((weak)) MS_U32 MVOPOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 31 extern __attribute__((weak)) MS_U32 DMXOpen(void** pInstance, void* pAttribute); 32 extern __attribute__((weak)) MS_U32 RTCOpen(void** pInstance, MS_U32 u32ModuleVersion, void* pAttribute); 33 extern __attribute__((weak)) MS_U32 UARTOpen(void** pInstance, MS_U32 u32ModuleVersion, void* pAttribute); 34 extern __attribute__((weak)) MS_U32 PWMOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 35 extern __attribute__((weak)) MS_U32 JPEGOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 36 extern __attribute__((weak)) MS_U32 GPDOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 37 extern __attribute__((weak)) MS_U32 MFEOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 38 extern __attribute__((weak)) MS_U32 CPUOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 39 extern __attribute__((weak)) MS_U32 JPEG_Open(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 40 extern __attribute__((weak)) MS_U32 MSPIOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 41 extern __attribute__((weak)) MS_U32 DSCMBOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 42 extern __attribute__((weak)) MS_U32 DACOpen(void** ppInstance, const void* const pAttribute); 43 extern __attribute__((weak)) MS_U32 CH34Open(void** ppInstance, const void* const pAttribute); 44 extern __attribute__((weak)) MS_U32 GOPSCDOpen(void** ppInstance, const void* const pAttribute); 45 extern __attribute__((weak)) MS_U32 ACPOpen(void** ppInstance, const void* const pAttribute); 46 extern __attribute__((weak)) MS_U32 AVDOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 47 extern __attribute__((weak)) MS_U32 MIUOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 48 extern __attribute__((weak)) MS_U32 HWI2COpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 49 extern __attribute__((weak)) MS_U32 LDOpen(void** ppInstance, const void* const pAttribute); 50 extern __attribute__((weak)) MS_U32 MHLOpen(void** ppInstance, const void* const pAttribute); 51 extern __attribute__((weak)) MS_U32 CECOpen(void** ppInstance, const void* const pAttribute); 52 extern __attribute__((weak)) MS_U32 HDMIRxOpen(void** ppInstance, const void* const pAttribute); 53 extern __attribute__((weak)) MS_U32 PQOpen(void** ppInstance,MS_U32 u32ModuleVersion, void* pAttribute); 54 extern __attribute__((weak)) MS_U32 AUDIOOpen(void** pInstance, void* pAttribute); 55 extern __attribute__((weak)) MS_U32 VIFOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 56 extern __attribute__((weak)) MS_U32 GESTROpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 57 extern __attribute__((weak)) MS_U32 ATSCOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 58 extern __attribute__((weak)) MS_U32 DTMBOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 59 extern __attribute__((weak)) MS_U32 ISDBTOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 60 extern __attribute__((weak)) MS_U32 DVBTOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 61 extern __attribute__((weak)) MS_U32 DVBCOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 62 extern __attribute__((weak)) MS_U32 DVBT2Open(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 63 extern __attribute__((weak)) MS_U32 DVBSOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 64 extern __attribute__((weak)) MS_U32 HDMITXOpen(void** ppInstance, const void* const pAttribute); 65 extern __attribute__((weak)) MS_U32 CAOpen(void** pInstantTmp, MS_U32 u32ModuleVersion, void* pAttribute); 66 extern __attribute__((weak)) MS_U32 WDTOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 67 extern __attribute__((weak)) MS_U32 GPIOOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 68 extern __attribute__((weak)) MS_U32 CIPHEROpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 69 extern __attribute__((weak)) MS_U32 URDMAOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 70 extern __attribute__((weak)) MS_U32 PVR_IFRAMELUTOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 71 72 #define MODULE_TYPE_UTOPIA_FULL 1 73 #define MODULE_TYPE_BDMA_FULL BDMAOpen 74 #define MODULE_TYPE_IR_TX_FULL IR_TXOpen 75 #define MODULE_TYPE_AESDMA_FULL AESDMAOpen 76 #define MODULE_TYPE_DSCMB_FULL DSCMBOpen 77 #define MODULE_TYPE_CI_FULL PCMCIAOpen 78 #define MODULE_TYPE_GOP_FULL GOPOpen 79 #define MODULE_TYPE_GFX_FULL GFXOpen 80 #define MODULE_TYPE_TVENCODER_FULL TVENCODEROpen 81 #define MODULE_TYPE_XC_FULL XCOpenFull 82 #define MODULE_TYPE_XC_MINIMUM XCOpenMinimum 83 #define MODULE_TYPE_XC_TEE XCOpenForTEE 84 #define MODULE_TYPE_MBX_FULL MBXOpen 85 #define MODULE_TYPE_TSP_FULL NULL 86 #define MODULE_TYPE_DIP_FULL DIPOpen 87 #define MODULE_TYPE_PNL_FULL PNLOpen 88 #define MODULE_TYPE_VBI_FULL VBIOpen 89 #define MODULE_TYPE_ACE_FULL ACEOpen 90 #define MODULE_TYPE_DLC_FULL DLCOpen 91 #define MODULE_TYPE_IR_FULL IROpen 92 #define MODULE_TYPE_SAR_FULL SAROpen 93 #define MODULE_TYPE_MIU_FULL MIUOpen 94 #define MODULE_TYPE_PWS_FULL PWSOpen 95 #define MODULE_TYPE_FLASH_FULL FLASHOpen 96 #define MODULE_TYPE_SEAL_FULL NULL 97 #define MODULE_TYPE_CMDQ_FULL NULL 98 #define MODULE_TYPE_MMFI_FULL NULL 99 #define MODULE_TYPE_SEM_FULL SEMOpen 100 #define MODULE_TYPE_SYS_FULL SYSOpen 101 #define MODULE_TYPE_VDEC_EX_FULL VDEC_EX_V2_Open 102 #define MODULE_TYPE_MVOP_FULL MVOPOpen 103 #define MODULE_TYPE_AVD_FULL AVDOpen 104 #define MODULE_TYPE_DMX_FULL DMXOpen 105 #define MODULE_TYPE_RTC_FULL RTCOpen 106 #define MODULE_TYPE_HWI2C_FULL HWI2COpen 107 #define MODULE_TYPE_VDEC_FULL NULL 108 #define MODULE_TYPE_UART_FULL UARTOpen 109 #define MODULE_TYPE_PWM_FULL PWMOpen 110 #define MODULE_TYPE_NJPEG_EX_FULL JPEGOpen 111 #define MODULE_TYPE_GPD_FULL GPDOpen 112 #define MODULE_TYPE_MFE_FULL MFEOpen 113 #define MODULE_TYPE_CPU_FULL CPUOpen 114 #define MODULE_TYPE_JPEG_EX_FULL JPEGOpen 115 #define MODULE_TYPE_JPEG_FULL NULL 116 #define MODULE_TYPE_MSPI_FULL MSPIOpen 117 #define MODULE_TYPE_DAC_FULL DACOpen 118 #define MODULE_TYPE_CH34_FULL CH34Open 119 #define MODULE_TYPE_GOPSCD_FULL GOPSCDOpen 120 #define MODULE_TYPE_ACP_FULL ACPOpen 121 #define MODULE_TYPE_LD_FULL LDOpen 122 #define MODULE_TYPE_MHL_FULL MHLOpen 123 #define MODULE_TYPE_CEC_FULL CECOpen 124 #define MODULE_TYPE_HDMIRX_FULL HDMIRxOpen 125 #define MODULE_TYPE_PQ_FULL PQOpen 126 #define MODULE_TYPE_AUDIO_FULL AUDIOOpen 127 #define MODULE_TYPE_VIF_FULL VIFOpen 128 #define MODULE_TYPE_GESTR_FULL GESTROpen 129 #define MODULE_TYPE_ATSC_FULL ATSCOpen 130 #define MODULE_TYPE_DTMB_FULL DTMBOpen 131 #define MODULE_TYPE_ISDBT_FULL ISDBTOpen 132 #define MODULE_TYPE_DVBT_FULL DVBTOpen 133 #define MODULE_TYPE_DVBC_FULL DVBCOpen 134 #define MODULE_TYPE_DVBT2_FULL DVBT2Open 135 #define MODULE_TYPE_DVBS_FULL DVBSOpen 136 #define MODULE_TYPE_HDMITX_FULL HDMITXOpen 137 #define MODULE_TYPE_CA_FULL CAOpen 138 #define MODULE_TYPE_WDT_FULL WDTOpen 139 #define MODULE_TYPE_GPIO_FULL GPIOOpen 140 #define MODULE_TYPE_CIPHER_FULL CIPHEROpen 141 #define MODULE_TYPE_URDMA_FULL URDMAOpen 142 #define MODULE_TYPE_PVR_IFRAMELUT_FULL PVR_IFRAMELUTOpen 143 144 // add new module here 145 #define _INCLUDED_MODULE \ 146 PREFIX(BDMA) \ 147 PREFIX(GOP) \ 148 PREFIX(GFX) \ 149 PREFIX(TVENCODER) \ 150 PREFIX(XC) \ 151 PREFIX(MBX) \ 152 PREFIX(TSP) \ 153 PREFIX(DIP) \ 154 PREFIX(PNL) \ 155 PREFIX(ACE) \ 156 PREFIX(DLC) \ 157 PREFIX(IR) \ 158 PREFIX(MIU) \ 159 PREFIX(PWS) \ 160 PREFIX(FLASH) \ 161 PREFIX(SEAL) \ 162 PREFIX(CMDQ) \ 163 PREFIX(MMFI) \ 164 PREFIX(SEM) \ 165 PREFIX(SYS) \ 166 PREFIX(VDEC_EX) \ 167 PREFIX(MVOP) \ 168 PREFIX(PQ) \ 169 PREFIX(RTC) \ 170 PREFIX(VDEC) \ 171 PREFIX(UART) \ 172 PREFIX(PWM) \ 173 PREFIX(NJPEG_EX) \ 174 PREFIX(GPD) \ 175 PREFIX(CPU) \ 176 PREFIX(JPEG) \ 177 PREFIX(MSPI) \ 178 PREFIX(DAC) \ 179 PREFIX(CEC) \ 180 PREFIX(HDMIRX) \ 181 PREFIX(AUDIO) \ 182 PREFIX(HDMITX) \ 183 PREFIX(WDT) \ 184 PREFIX(GPIO) \ 185 186 #define INCLUDED_MODULE \ 187 PREFIX(UTOPIA) \ 188 _INCLUDED_MODULE 189 190 typedef enum{ 191 #define PREFIX(MODULE) MODULE_##MODULE, 192 INCLUDED_MODULE 193 #undef PREFIX 194 eMODULE_END, 195 }eMsModule; 196 197 #define PREFIX(MODULE) extern MS_U32 MODULE_##MODULE##_OPEN; 198 INCLUDED_MODULE 199 #undef PREFIX 200 201 #endif 202