1 //<MStar Software> 2 //****************************************************************************** 3 // MStar Software 4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5 // All software, firmware and related documentation herein ("MStar Software") are 6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7 // law, including, but not limited to, copyright law and international treaties. 8 // Any use, modification, reproduction, retransmission, or republication of all 9 // or part of MStar Software is expressly prohibited, unless prior written 10 // permission has been granted by MStar. 11 // 12 // By accessing, browsing and/or using MStar Software, you acknowledge that you 13 // have read, understood, and agree, to be bound by below terms ("Terms") and to 14 // comply with all applicable laws and regulations: 15 // 16 // 1. MStar shall retain any and all right, ownership and interest to MStar 17 // Software and any modification/derivatives thereof. 18 // No right, ownership, or interest to MStar Software and any 19 // modification/derivatives thereof is transferred to you under Terms. 20 // 21 // 2. You understand that MStar Software might include, incorporate or be 22 // supplied together with third party`s software and the use of MStar 23 // Software may require additional licenses from third parties. 24 // Therefore, you hereby agree it is your sole responsibility to separately 25 // obtain any and all third party right and license necessary for your use of 26 // such third party`s software. 27 // 28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29 // MStar`s confidential information and you agree to keep MStar`s 30 // confidential information in strictest confidence and not disclose to any 31 // third party. 32 // 33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34 // kind. Any warranties are hereby expressly disclaimed by MStar, including 35 // without limitation, any warranties of merchantability, non-infringement of 36 // intellectual property rights, fitness for a particular purpose, error free 37 // and in conformity with any international standard. You agree to waive any 38 // claim against MStar for any loss, damage, cost or expense that you may 39 // incur related to your use of MStar Software. 40 // In no event shall MStar be liable for any direct, indirect, incidental or 41 // consequential damages, including without limitation, lost of profit or 42 // revenues, lost or damage of data, and unauthorized system use. 43 // You agree that this Section 4 shall still apply without being affected 44 // even if MStar Software has been modified by MStar in accordance with your 45 // request or instruction for your use, except otherwise agreed by both 46 // parties in writing. 47 // 48 // 5. If requested, MStar may from time to time provide technical supports or 49 // services in relation with MStar Software to you for your use of 50 // MStar Software in conjunction with your or your customer`s product 51 // ("Services"). 52 // You understand and agree that, except otherwise agreed by both parties in 53 // writing, Services are provided on an "AS IS" basis and the warranty 54 // disclaimer set forth in Section 4 above shall apply. 55 // 56 // 6. Nothing contained herein shall be construed as by implication, estoppels 57 // or otherwise: 58 // (a) conferring any license or right to use MStar name, trademark, service 59 // mark, symbol or any other identification; 60 // (b) obligating MStar or any of its affiliates to furnish any person, 61 // including without limitation, you and your customers, any assistance 62 // of any kind whatsoever, or any information; or 63 // (c) conferring any license or right under any intellectual property right. 64 // 65 // 7. These terms shall be governed by and construed in accordance with the laws 66 // of Taiwan, R.O.C., excluding its conflict of law rules. 67 // Any and all dispute arising out hereof or related hereto shall be finally 68 // settled by arbitration referred to the Chinese Arbitration Association, 69 // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70 // Rules of the Association by three (3) arbitrators appointed in accordance 71 // with the said Rules. 72 // The place of arbitration shall be in Taipei, Taiwan and the language shall 73 // be English. 74 // The arbitration award shall be final and binding to both parties. 75 // 76 //****************************************************************************** 77 //<MStar Software> 78 //////////////////////////////////////////////////////////////////////////////// 79 // 80 // Copyright (c) 2006-2007 MStar Semiconductor, Inc. 81 // All rights reserved. 82 // 83 // Unless otherwise stipulated in writing, any and all information contained 84 // herein regardless in any format shall remain the sole proprietary of 85 // MStar Semiconductor Inc. and be kept in strict confidence 86 // (¡§MStar Confidential Information¡¨) by the recipient. 87 // Any unauthorized act including without limitation unauthorized disclosure, 88 // copying, use, reproduction, sale, distribution, modification, disassembling, 89 // reverse engineering and compiling of the contents of MStar Confidential 90 // Information is unlawful and strictly prohibited. MStar hereby reserves the 91 // rights to any and all damages, losses, costs and expenses resulting therefrom. 92 // 93 //////////////////////////////////////////////////////////////////////////////// 94 95 ////////////////////////////////////////////////////////////////////////////////////////////////// 96 /// 97 /// @file drvMIU.h 98 /// @brief MIU Driver Interface 99 /// @author MStar Semiconductor Inc. 100 /////////////////////////////////////////////////////////////////////////////////////////////////// 101 102 /*! \defgroup G_MIU MIU interface 103 \ingroup G_PERIPHERAL 104 105 \brief 106 MIU is an IP used to manage DRAM, and it supports DRAM Protection, IP Selection, and IP Mask. 107 108 <b>Features</b> 109 110 - MIU Protect: Enable/Disable IPs to read/write a specific memory range. 111 - IP Select: To change IPs used in MIU0/MIU1 112 - IP Mask: To disable IPs using DRAM. 113 114 <b> MIU Block Diagram: </b> \n 115 \image html drvMIU_pic1.png 116 117 \defgroup G_MIU_INIT Initialization Task relative 118 \ingroup G_MIU 119 \defgroup G_MIU_COMMON Common Task relative 120 \ingroup G_MIU 121 \defgroup G_MIU_CONTROL Control relative 122 \ingroup G_MIU 123 \defgroup G_MIU_PROTECT Protect Task relative 124 \ingroup G_MIU 125 \defgroup G_MIU_ToBeModified MIU api to be modified 126 \ingroup G_MIU 127 \defgroup G_MIU_ToBeRemove MIU api to be removed 128 \ingroup G_MIU 129 */ 130 131 #ifndef _DRV_MIU_H_ 132 #define _DRV_MIU_H_ 133 134 #ifdef __cplusplus 135 extern "C" 136 { 137 #endif 138 139 #include "MsTypes.h" 140 #include "MsDevice.h" 141 #include "UFO.h" 142 143 //------------------------------------------------------------------------------------------------- 144 // Defines 145 //------------------------------------------------------------------------------------------------- 146 #ifdef STELLAR 147 #define _MIU_INTERNEL_USE 1 148 #endif 149 //------------------------------------------------------------------------------------------------- 150 // Macros 151 //------------------------------------------------------------------------------------------------- 152 #define MIU_DRV_VERSION /* Character String for DRV/API version */ \ 153 MSIF_TAG, /* 'MSIF' */ \ 154 MSIF_CLASS, /* '00' */ \ 155 MSIF_CUS, /* 0x0000 */ \ 156 MSIF_MOD, /* 0x0000 */ \ 157 MSIF_CHIP, \ 158 MSIF_CPU, \ 159 {'M','I','U','_'}, /* IP__ */ \ 160 {'0','1'}, /* 0.0 ~ Z.Z */ \ 161 {'0','2'}, /* 00 ~ 99 */ \ 162 {'0','0','2','6','4','8','8','5'}, /* CL# */ \ 163 MSIF_OS 164 165 #define MIU_CLIENT_MAX 0x30 166 167 168 #define bit_check(x,bit_pos) ((x & bit_pos) != 0) ? TRUE : FALSE 169 170 171 #define set_req_mask_info(reg_addr,base_addr,bEnable,id_pos) \ 172 MST_MACRO_START \ 173 reg_addr = base_addr; \ 174 reg_addr = reg_addr + (MS_U16)((id_pos >> 4) * 0x20); \ 175 if(reg_addr == 0x1286) \ 176 reg_addr = 0x06F6; \ 177 else if(reg_addr == 0x0686) \ 178 reg_addr = 0x0628; \ 179 reg_addr = reg_addr + (MS_U16)(bit_check(id_pos,BIT3)); \ 180 HAL_MIU_WriteRegBit(reg_addr, bEnable , (1 << (id_pos & (BIT2|BIT1|BIT0)))); \ 181 MST_MACRO_END 182 183 #ifdef ALIGN 184 #undef ALIGN 185 #define ALIGN(_val_,_shift_) (((_val_) >> _shift_) << _shift_) 186 #else 187 #define ALIGN(_val_,_shift_) (((_val_) >> _shift_) << _shift_) 188 #endif 189 190 //#define _MIU_INTERNEL_USE //for internel test only 191 #define _ALIGN(_val_,_shift_) (((_val_) >> _shift_) << _shift_) 192 193 //------------------------------------------------------------------------------------------------- 194 // Type and Structure Declaration 195 //------------------------------------------------------------------------------------------------- 196 typedef enum 197 { 198 CLIENT_TSPIWB, // orz 199 CLIENT_STRLD, 200 CLIENT_HK51_ICACHE, // MAU0 201 CLIENT_AEON_I, // MAU0 202 CLIENT_FLH_W, // MAU1 203 CLIENT_HK51_XDATA, // MAU1 204 CLIENT_AEON, // MAU1 205 CLIENT_OD_LSB, 206 CLIENT_GOP2, 207 CLIENT_VE, 208 CLIENT_FDSEICH, 209 CLIENT_TSP, 210 CLIENT_TTXSK, 211 CLIENT_SVD_DB, 212 CLIENT_FDDECICH, 213 CLIENT_OPM, 214 CLIENT_DC, 215 CLIENT_GOP, 216 CLIENT_GOP0, 217 CLIENT_GOP1, 218 CLIENT_DNRB, // DNR 219 CLIENT_COMB, 220 CLIENT_OD, 221 CLIENT_MADDMA2, // DMA2 222 CLIENT_MAD, 223 CLIENT_SVD_EN, 224 CLIENT_GE, 225 CLIENT_BDMA, // MIU_DMA 226 CLIENT_NFC, 227 CLIENT_USBP1, // USB20 ?? 228 CLIENT_USBP2, //USB20_1 ?? 229 CLIENT_RVD, 230 CLIENT_SVDINTP, 231 CLIENT_MVD, 232 CLIENT_AESDMA, 233 CLIENT_TTX, 234 CLIENT_JPD, 235 CLIENT_EMAC, 236 CLIENT_MAX 237 } euMIUClientIDTYPE; 238 239 typedef struct 240 { 241 MS_U8 miu; 242 MS_U8 protect_id; 243 } stMIUClientID_t; 244 245 typedef enum 246 { 247 MIU_CLIENT_NONE, //none can access 248 MIU_CLIENT_DUMMY, 249 MIU_CLIENT_ADCDVIPLL_W, 250 MIU_CLIENT_AESDMA_RW, 251 MIU_CLIENT_AU_R2_RW, 252 MIU_CLIENT_BDMA_RW, 253 MIU_CLIENT_DC_R, //same as MIU_CLIENT_MVOP_64BIT_R 254 MIU_CLIENT_DISP_IPATH_DI_W, 255 MIU_CLIENT_DISP_IPATH_MR_RW, 256 MIU_CLIENT_DISP_IPATH_NR_RW, 257 MIU_CLIENT_DMA2_RW, 258 MIU_CLIENT_DNRA_RW, 259 MIU_CLIENT_DSCRMB_RW, 260 MIU_CLIENT_DVBC_ADC_RW, 261 MIU_CLIENT_EMAC_RW, 262 MIU_CLIENT_FCIE_RW, 263 MIU_CLIENT_FDDECICH_R, 264 MIU_CLIENT_FDSEICH_R, 265 MIU_CLIENT_G3D_RW, 266 MIU_CLIENT_GE_RW, 267 MIU_CLIENT_GOP_W, 268 MIU_CLIENT_GOP0_R, 269 MIU_CLIENT_GOP1_R, 270 MIU_CLIENT_GOP2_R, 271 MIU_CLIENT_GOP3_R, 272 MIU_CLIENT_HISPEED_UART_RW, 273 MIU_CLIENT_HVD_RW, 274 MIU_CLIENT_HVD_BBU_R, 275 MIU_CLIENT_JPD_RW, 276 MIU_CLIENT_M4VE_ME_R, 277 MIU_CLIENT_M4VE0_RW, 278 MIU_CLIENT_M4VE2_RW, 279 MIU_CLIENT_MAU_RW, 280 MIU_CLIENT_MAU0_W, 281 MIU_CLIENT_MAU1_R, 282 MIU_CLIENT_MFE0_W, 283 MIU_CLIENT_MFE1_R, 284 MIU_CLIENT_MHEG5_DCACHE_RW, 285 MIU_CLIENT_MHEG5_ICACHE_R, 286 MIU_CLIENT_MHEG5_ICACHE_RW, 287 MIU_CLIENT_MHEG5_GDMA_RW, 288 MIU_CLIENT_MIPS_R, 289 MIU_CLIENT_MIPS_W, 290 MIU_CLIENT_MIPS_RW, 291 MIU_CLIENT_MOBF_RW, 292 MIU_CLIENT_MPIF_RW, 293 MIU_CLIENT_MVD_RW, 294 MIU_CLIENT_MVD_BBU_RW, 295 MIU_CLIENT_MVOP_64BIT_R, 296 MIU_CLIENT_MVOP_128BIT_R, 297 MIU_CLIENT_NAND_RW, 298 MIU_CLIENT_OD_R, 299 MIU_CLIENT_OD_W, 300 MIU_CLIENT_OD_LSB_W, 301 MIU_CLIENT_OD_LSB_R, 302 MIU_CLIENT_OPW_W, 303 MIU_CLIENT_OTG_RW, 304 MIU_CLIENT_PM51_RW, 305 MIU_CLIENT_PVR_W, 306 MIU_CLIENT_PVR2_W, 307 MIU_CLIENT_R2M_R, 308 MIU_CLIENT_R2M_W, 309 MIU_CLIENT_RASP0_W, 310 MIU_CLIENT_RASP1_W, 311 MIU_CLIENT_RVD_BBU_R, 312 MIU_CLIENT_RVD_RW, 313 MIU_CLIENT_SC_DNR_R, 314 MIU_CLIENT_SC_DNR_W, 315 MIU_CLIENT_SC_IPMAIN_R, 316 MIU_CLIENT_SC_IPMAIN_W, 317 MIU_CLIENT_SC_IPSUB_R, 318 MIU_CLIENT_SC_IPSUB_W, 319 MIU_CLIENT_SC_OP_R, 320 MIU_CLIENT_SC_OPM_R, 321 MIU_CLIENT_SC_TNR_R, 322 MIU_CLIENT_SC_TNR_W, 323 MIU_CLIENT_STRLD_RW, 324 MIU_CLIENT_TSP_R, 325 MIU_CLIENT_TSP_W, 326 MIU_CLIENT_TSP_ORZ_R, 327 MIU_CLIENT_TSP_ORZ_W, 328 MIU_CLIENT_USB20_RW, 329 MIU_CLIENT_USB_UHC0_RW, 330 MIU_CLIENT_USB_UHC1_RW, 331 MIU_CLIENT_USB_UHC2_RW, 332 MIU_CLIENT_VD_COMB_R, 333 MIU_CLIENT_VD_COMB_W, 334 MIU_CLIENT_VD_TTX_RW, 335 MIU_CLIENT_VD_TTXSL_W, 336 MIU_CLIENT_VD_TTXSK_W, 337 MIU_CLIENT_VE_W, 338 MIU_CLIENT_VE_R, 339 MIU_CLIENT_VIF_ADC_W, 340 MIU_CLIENT_VIVALDI9_AUDMA_RW, 341 MIU_CLIENT_VIVALDI9_DECODER_R, 342 MIU_CLIENT_VIVALDI9_DMA_RW, 343 MIU_CLIENT_VIVALDI9_LNKLST_R, 344 MIU_CLIENT_VIVALDI9_MAD_RW, 345 MIU_CLIENT_VIVALDI9_SE_R, 346 MIU_CLIENT_MSP_ICACHE_RW, 347 MIU_CLIENT_DISP_IPATH_DI_RW, 348 MIU_CLIENT_MVOP1_R, 349 MIU_CLIENT_LDM_W, 350 MIU_CLIENT_LDM_R, 351 MIU_CLIENT_T3D_W, 352 MIU_CLIENT_T3D_R, 353 MIU_CLIENT_MIIC0_RW, 354 MIU_CLIENT_MIIC1_RW, 355 MIU_CLIENT_MIIC2_W, 356 MIU_CLIENT_MAXID, 357 MIU_CLIENT_SC_IPMAIN_RW, 358 MIU_CLIENT_SC_IPSUB_RW, 359 MIU_CLIENT_SC_OPMAIN_RW, 360 MIU_CLIENT_FRC_OSD_RW, 361 MIU_CLIENT_FRC_IP_R, 362 MIU_CLIENT_FRC_IP_W, 363 MIU_CLIENT_FRC_OD_R, 364 MIU_CLIENT_FRC_OD_W, 365 MIU_CLIENT_FRC_OPM_R, 366 MIU_CLIENT_FRC_R2_RW, 367 MIU_CLIENT_FRC_SC_RW, 368 MIU_CLIENT_SC_OP_W, 369 MIU_CLIENT_SECURE_R2_RW, 370 MIU_CLIENT_SC_2D3D_RW, 371 MIU_CLIENT_SC_OD_W, 372 MIU_CLIENT_SC_OD_R, 373 MIU_CLIENT_SC_LD_RW, 374 MIU_CLIENT_GPD_RW, 375 MIU_CLIENT_VP6_RW, 376 MIU_CLIENT_SDIO_RW, 377 MIU_CLIENT_G3D0_RW, 378 MIU_CLIENT_G3D1_RW, 379 MIU_CLIENT_SECEMAC_RW, 380 MIU_CLIENT_USB_UHC3_RW, 381 MIU_CLIENT_TSP_PVR0_W, 382 MIU_CLIENT_TSP_PVR1_W, 383 MIU_CLIENT_MAU0_RW, 384 MIU_CLIENT_MAU1_RW, 385 MIU_CLIENT_TSP_SEC_W, 386 MIU_CLIENT_OPM_R, 387 MIU_CLIENT_USB3_RW, 388 MIU_CLIENT_SC_DIPW_RW, 389 MIU_CLIENT_CMD_QUEUE_RW, 390 MIU_CLIENT_TSO_RW, 391 MIU_CLIENT_VE_2DMCDI_RW, 392 MIU_CLIENT_SC_IPSUB2_R, 393 MIU_CLIENT_SC_IPSUB2_W, 394 MIU_CLIENT_MIIC_DMA_RW, 395 MIU_CLIENT_UART_DMA_RW, 396 MIU_CLIENT_NJPD_RW, 397 MIU_CLIENT_XD2MIU_RW, 398 MIU_CLIENT_VD_R2D_RW, 399 MIU_CLIENT_VD_R2I_R, 400 MIU_CLIENT_TSP_ORZ_RW, 401 MIU_CLIENT_MVOP_SUB_R, 402 MIU_CLIENT_SC_DIPW_W, 403 MIU_CLIENT_T3D_RW, 404 MIU_CLIENT_BT_RW, 405 MIU_CLIENT_VE_VBI_R, 406 MIU_CLIENT_ARM_RW, 407 MIU_CLIENT_SC1_OP_R, 408 MIU_CLIENT_SC1_IPMAIN_RW, 409 MIU_CLIENT_GOP4_R, 410 MIU_CLIENT_GOP5_R, 411 MIU_CLIENT_GMAC_RW, 412 MIU_CLIENT_SATA_RW, 413 MIU_CLIENT_SC_LOCALDIMING_RW, 414 MIU_CLIENT_JPD720P_RW, 415 MIU_CLIENT_SC_IPM2_R, 416 MIU_CLIENT_VIVALDI_DSC_R, 417 MIU_CLIENT_TSP_JPD_RW, 418 MIU_CLIENT_DEMOD_W, 419 MIU_CLIENT_DEMOD_R, 420 MIU_CLIENT_DEMOD_ADCDMA_W, 421 MIU_CLIENT_GPU_RW, 422 MIU_CLIENT_PDW1_RW, 423 MIU_CLIENT_GPO0_PDW0_RW, 424 MIU_CLIENT_EVD_R, 425 MIU_CLIENT_EVD_RW, 426 MIU_CLIENT_SC_FRCL_R, 427 MIU_CLIENT_SC_FRCR_R, 428 MIU_CLIENT_VD_VBI_RW, // do not use this client; use MIU_CLIENT_VD_TTXSL_W instead 429 MIU_CLIENT_VD_MHEG5_ICACHE_RW, 430 MIU_CLIENT_TSP00_RW, 431 MIU_CLIENT_TSP01_RW, 432 MIU_CLIENT_TSP02_RW, 433 MIU_CLIENT_TSP03_RW, 434 MIU_CLIENT_TSP04_RW, 435 MIU_CLIENT_TSP05_RW, 436 MIU_CLIENT_TSP06_RW, 437 MIU_CLIENT_VIVALDI9_COMBINE_RW, 438 MIU_CLIENT_TSP07_RW, 439 MIU_CLIENT_ISDBT_TDI_R, 440 MIU_CLIENT_ISDBT_TDI_W, 441 MIU_CLIENT_FI_Queue0_WR, 442 MIU_CLIENT_FI_Queue1_WR, 443 MIU_CLIENT_SWDC_RW, 444 MIU_CLIENT_ISDB1_RW, 445 MIU_CLIENT_ISDB2_RW, 446 MIU_CLIENT_MIIC3_RW, 447 MIU_CLIENT_SECAU_R2_RW, 448 MIU_CLIENT_SC_LOCALDIMING_R_RW, 449 MIU_CLIENT_SC_LOCALDIMING_L_RW, 450 MIU_CLIENT_SC0_L_RW, 451 MIU_CLIENT_SC0_R_RW, 452 MIU_CLIENT_TSP_FIQ_RW, 453 MIU_CLIENT_EVD_R2D_RW, 454 MIU_CLIENT_EVD_R2I_R, 455 MIU_CLIENT_SECHVD_RW, 456 MIU_CLIENT_SECEVD_RW, 457 MIU_CLIENT_MFDEC_R, 458 MIU_CLIENT_SECMFDEC_R, 459 MIU_CLIENT_MIUTEST_R, 460 MIU_CLIENT_GOP3_PDW0_RW, 461 MIU_CLIENT_SC1_OPMAIN_RW, 462 MIU_CLIENT_SC2_IPSUB_RW, 463 MIU_CLIENT_SC_IPMAIN2_RW, 464 MIU_CLIENT_SC2_OPMAIN_RW, 465 MIU_CLIENT_SC_ODL_RW, 466 MIU_CLIENT_SC_ODR_RW, 467 MIU_CLIENT_SC1_IPSUB_RW, 468 MIU_CLIENT_EVD_BBU_R, 469 MIU_CLIENT_SC_DWIN_W, 470 MIU_CLIENT_ZDEC_RW, 471 MIU_CLIENT_ZDEC_ACP_RW, 472 MIU_CLIENT_USB30_1_RW, 473 MIU_CLIENT_USB30_2_RW, 474 MIU_CLIENT_3RDHVD_RW, 475 MIU_CLIENT_VP9_RW, 476 MIU_CLIENT_FRC_R, 477 MIU_CLIENT_FRCM_W, 478 MIU_CLIENT_SC_OD_RW, 479 MIU_CLIENT_SC_OPSUB_W, 480 MIU_CLIENT_FRCS_W, 481 MIU_CLIENT_EVD_MTFC_W, 482 MIU_CLIENT_EVD_MTFY_W, 483 MIU_CLIENT_ZDEC2_RW, 484 MIU_CLIENT_SC2_IPMAIN_RW, 485 MIU_CLIENT_MTF_W, 486 MIU_CLIENT_DBG_R, 487 MIU_CLIENT_DS_R, 488 MIU_CLIENT_FRC_R2, 489 MIU_CLIENT_MVD_RTO_RW, 490 MIU_CLIENT_FRC_FSCM2_RW, 491 MIU_CLIENT_FRC_FSCM3_RW, 492 MIU_CLIENT_FRC_IPM0_W, 493 MIU_CLIENT_FRC_IPM1_W, 494 MIU_CLIENT_FRC_OPM0_R, 495 MIU_CLIENT_FRC_OPM1_R, 496 MIU_CLIENT_FRC_OPME0_R, 497 MIU_CLIENT_FRC_OPME1_R, 498 MIU_CLIENT_FRC_OPMI0_R, 499 MIU_CLIENT_FRC_OPMI1_R, 500 MIU_CLIENT_FRC_ME_W, 501 MIU_CLIENT_FRC_ME_R, 502 MIU_CLIENT_FRC_HR_W, 503 MIU_CLIENT_FRC_HR_R, 504 MIU_CLIENT_FRC_MI_MERGE_RW, 505 MIU_CLIENT_MC2D_RW, 506 MIU_CLIENT_CMD_QUEUE1_RW, 507 MIU_CLIENT_USB_UHC4_RW, 508 MIU_CLIENT_DEMOD_RW, 509 MIU_CLIENT_VE_RW, 510 MIU_CLIENT_SC_PDW_W, 511 MIU_CLIENT_VIVALDI9_R2_ARB_RW, 512 MIU_CLIENT_MCU51_DB_TOOL_RW, 513 MIU_CLIENT_TSP_RW, 514 MIU_CLIENT_TSP_ORZ2_RW, 515 MIU_CLIENT_EVD_BBU_RW, 516 MIU_CLIENT_DVBC_ADC_W, 517 MIU_CLIENT_GMAC1_RW, 518 MIU_CLIENT_MFE_RW, 519 MIU_CLIENT_VD_R2_L_I_R, 520 MIU_CLIENT_VD_R2_L_D_RW, 521 MIU_CLIENT_CA_MIU_CROSSBAR_2_RW, 522 MIU_CLIENT_TSP08_RW, 523 MIU_CLIENT_ZDEC_LZDMA_RW, 524 MIU_CLIENT_EVD2_BBU_R, 525 MIU_CLIENT_GOP3_DWIN_RW, 526 MIU_CLIENT_MVOP_256BIT_R, 527 MIU_CLIENT_MFDEC1_R, 528 MIU_CLIENT_SC_DYN_SCL_R, 529 MIU_CLIENT_SC1_OPM_R, 530 MIU_CLIENT_ZDEC_ACP_W, 531 MIU_CLIENT_CMD_QUEUE_R, 532 MIU_CLIENT_VIVALDI9_DECODER_RW, 533 MIU_CLIENT_DEMOD_ADCDMA_RW, 534 MIU_CLIENT_MIU_BIST, 535 MIU_CLIENT_CA_MIU_CROSSBAR_0_RW, 536 MIU_CLIENT_CA_MIU_CROSSBAR_1_RW, 537 MIU_CLIENT_SECGMAC_RW, 538 MIU_CLIENT_AU_R2_1_RW, 539 MIU_CLIENT_TSO_1_RW, 540 MIU_CLIENT_TSIO_RW, 541 MIU_CLIENT_PCIE_OUTBOUND_RW, 542 MIU_CLIENT_PCIE_INBOUND_RW, 543 MIU_CLIENT_DDI_0_RW, 544 MIU_CLIENT_SC_DIPW_1_RW, 545 MIU_CLIENT_EVD_ENGINE1_RW, 546 MIU_CLIENT_HVD_ENGINE1_RW, 547 MIU_CLIENT_DDI_1_RW, 548 MIU_CLIENT_MFDEC0_1_R, 549 MIU_CLIENT_MFDEC1_1_R, 550 MIU_CLIENT_AUTO_DOWNLOAD_R, 551 MIU_CLIENT_MFEH_R, 552 MIU_CLIENT_AUDIO_RW, 553 MIU_CLIENT_OD_RW, 554 MIU_CLIENT_MVOP1_256BIT_R, 555 MIU_CLIENT_MVD_256BIT_RW, 556 MIU_CLIENT_TSP_FILEIN_RW, 557 MIU_CLIENT_TSP_SEC_RW, 558 MIU_CLIENT_HDR_L_RW, 559 MIU_CLIENT_HDR_R_RW, 560 MIU_CLIENT_MIU_CMD_RW, 561 MIU_CLIENT_G256_POST_ARB_RW, 562 MIU_CLIENT_G128_POST_ARB_RW, 563 MIU_CLIENT_G3_PRE_ARB_RW, 564 MIU_CLIENT_EVD_2_MIU0_RW, 565 MIU_CLIENT_EVD_2_MIU1_RW, 566 MIU_CLIENT_DEMOD_MCU51_WR, 567 MIU_CLIENT_DEMOD1_WR, 568 MIU_CLIENT_DEMOD2_WR, 569 MIU_CLIENT_DEMOD3_WR, 570 MIU_CLIENT_DEMOD4_WR, 571 MIU_CLIENT_DEMOD5_WR, 572 MIU_CLIENT_DEMOD6_WR, 573 MIU_CLIENT_TSO_TX_RW, 574 MIU_CLIENT_TSO_RX_RW, 575 MIU_CLIENT_SC_DIP_RW, 576 MIU_CLIENT_SC_DIP_DI_RW, 577 MIU_CLIENT_ADL_RW, 578 //Add new after here 579 }eMIUClientID; 580 581 typedef enum 582 { 583 //IP Access MIU0 only 584 MIU_SELTYPE_MIU0 = 0, 585 //IP Access MIU1 only 586 MIU_SELTYPE_MIU1, 587 //IP can access MIU0 & MIU1 588 MIU_SELTYPE_MIU_ALL, 589 //IP Access MIU2 only 590 MIU_SELTYPE_MIU2, 591 //IP Access MIU3 only 592 MIU_SELTYPE_MIU3 593 594 }eMIU_SelType; 595 596 typedef struct 597 { 598 MS_U8 u8Gp:4; 599 MS_U8 u8BitPos:4; 600 }MIU_ClientInfo; 601 602 typedef struct DLL_PACKED 603 { 604 MS_BOOL bHit; 605 MS_U8 u8Group; 606 MS_U8 u8ClientID; 607 MS_U8 u8Block; 608 }MIU_PortectInfo; 609 610 typedef struct 611 { 612 MS_U8 u81st; 613 MS_U8 u82nd; 614 MS_U8 u83rd; 615 MS_U8 u84th; 616 }MIU_GroupPriority; 617 618 typedef enum 619 { 620 E_MIU_0 = 0, 621 E_MIU_1, 622 E_MIU_2, 623 E_MIU_3, 624 E_MIU_NUM, 625 } MIU_ID; 626 627 typedef enum 628 { 629 E_MIU_DDR_32MB = 0, 630 E_MIU_DDR_64MB, 631 E_MIU_DDR_128MB, 632 E_MIU_DDR_256MB, 633 E_MIU_DDR_512MB, 634 E_MIU_DDR_1024MB, 635 E_MIU_DDR_2048MB, 636 E_MIU_DDR_4096MB, 637 E_MIU_DDR_8192MB, 638 }MIU_DDR_SIZE; 639 640 typedef enum 641 { 642 E_MIU_DDR3, 643 E_MIU_DDR4 644 }MIU_DDR_TYPE; 645 646 typedef enum 647 { 648 E_MIU_CLIENT_64BIT = 0, 649 E_MIU_CLIENT_128BIT, 650 E_MIU_CLIENT_256BIT, 651 }eMIU_ClientWidth; 652 653 #define MST_MACRO_START do { 654 #define MST_MACRO_END } while (0) 655 656 657 #define set_client_info(client_data,miu_pos,id_code) \ 658 MST_MACRO_START \ 659 client_data->miu = miu_pos; \ 660 client_data->protect_id = id_code; \ 661 MST_MACRO_END 662 663 664 //------------------------------------------------------------------------------------------------- 665 // Extern Global Variabls 666 //------------------------------------------------------------------------------------------------- 667 668 //////////////////////////////////////////////////////////////////////////////// 669 // include utopia v2 header files here 670 //////////////////////////////////////////////////////////////////////////////// 671 #include "drvMIU_v2.h" 672 673 //------------------------------------------------------------------------------------------------- 674 // Extern Functions 675 //------------------------------------------------------------------------------------------------- 676 //------------------------------------------------------------------------------------------------- 677 /// MOBF Encrypt 678 /// @ingroup G_MIU_ToBeRemove 679 /// @param u32Key \b IN: Key 680 /// @param bEnable \b IN: TRUE/FLASE 681 /// @return DRVAESDMA_OK : Success 682 /// @return Others : Fail 683 //------------------------------------------------------------------------------------------------- 684 void MDrv_MIU_Mask_Req_OPM_R(MS_U8 u8Mask, MS_U8 u8Miu); 685 //------------------------------------------------------------------------------------------------- 686 /// MOBF Encrypt 687 /// @ingroup G_MIU_ToBeRemove 688 /// @param u32Key \b IN: Key 689 /// @param bEnable \b IN: TRUE/FLASE 690 /// @return DRVAESDMA_OK : Success 691 /// @return Others : Fail 692 //------------------------------------------------------------------------------------------------- 693 void MDrv_MIU_Mask_Req_DNRB_R(MS_U8 u8Mask, MS_U8 u8Miu); 694 //------------------------------------------------------------------------------------------------- 695 /// MOBF Encrypt 696 /// @ingroup G_MIU_ToBeRemove 697 /// @param u32Key \b IN: Key 698 /// @param bEnable \b IN: TRUE/FLASE 699 /// @return DRVAESDMA_OK : Success 700 /// @return Others : Fail 701 //------------------------------------------------------------------------------------------------- 702 void MDrv_MIU_Mask_Req_DNRB_W(MS_U8 u8Mask, MS_U8 u8Miu); 703 //------------------------------------------------------------------------------------------------- 704 /// MOBF Encrypt 705 /// @ingroup G_MIU_ToBeRemove 706 /// @param u32Key \b IN: Key 707 /// @param bEnable \b IN: TRUE/FLASE 708 /// @return DRVAESDMA_OK : Success 709 /// @return Others : Fail 710 //------------------------------------------------------------------------------------------------- 711 void MDrv_MIU_Mask_Req_DNRB_RW(MS_U8 u8Mask, MS_U8 u8Miu); 712 //------------------------------------------------------------------------------------------------- 713 /// MOBF Encrypt 714 /// @ingroup G_MIU_ToBeRemove 715 /// @param u32Key \b IN: Key 716 /// @param bEnable \b IN: TRUE/FLASE 717 /// @return DRVAESDMA_OK : Success 718 /// @return Others : Fail 719 //------------------------------------------------------------------------------------------------- 720 void MDrv_MIU_Mask_Req_SC_RW(MS_U8 u8Mask, MS_U8 u8Miu); 721 //------------------------------------------------------------------------------------------------- 722 /// MOBF Encrypt 723 /// @ingroup G_MIU_ToBeRemove 724 /// @param u32Key \b IN: Key 725 /// @param bEnable \b IN: TRUE/FLASE 726 /// @return DRVAESDMA_OK : Success 727 /// @return Others : Fail 728 //------------------------------------------------------------------------------------------------- 729 void MDrv_MIU_Mask_Req_MVOP_R(MS_U8 u8Mask, MS_U8 u8Miu); 730 //------------------------------------------------------------------------------------------------- 731 /// MOBF Encrypt 732 /// @ingroup G_MIU_ToBeRemove 733 /// @param u32Key \b IN: Key 734 /// @param bEnable \b IN: TRUE/FLASE 735 /// @return DRVAESDMA_OK : Success 736 /// @return Others : Fail 737 //------------------------------------------------------------------------------------------------- 738 void MDrv_MIU_Mask_Req_MVD_R(MS_U8 u8Mask, MS_U8 u8Miu); 739 //------------------------------------------------------------------------------------------------- 740 /// MOBF Encrypt 741 /// @ingroup G_MIU_ToBeRemove 742 /// @param u32Key \b IN: Key 743 /// @param bEnable \b IN: TRUE/FLASE 744 /// @return DRVAESDMA_OK : Success 745 /// @return Others : Fail 746 //------------------------------------------------------------------------------------------------- 747 void MDrv_MIU_Mask_Req_MVD_W(MS_U8 u8Mask, MS_U8 u8Miu); 748 //------------------------------------------------------------------------------------------------- 749 /// MOBF Encrypt 750 /// @ingroup G_MIU_ToBeRemove 751 /// @param u32Key \b IN: Key 752 /// @param bEnable \b IN: TRUE/FLASE 753 /// @return DRVAESDMA_OK : Success 754 /// @return Others : Fail 755 //------------------------------------------------------------------------------------------------- 756 void MDrv_MIU_Mask_Req_MVD_RW(MS_U8 u8Mask, MS_U8 u8Miu); 757 //------------------------------------------------------------------------------------------------- 758 /// MOBF Encrypt 759 /// @ingroup G_MIU_ToBeRemove 760 /// @param u32Key \b IN: Key 761 /// @param bEnable \b IN: TRUE/FLASE 762 /// @return DRVAESDMA_OK : Success 763 /// @return Others : Fail 764 //------------------------------------------------------------------------------------------------- 765 void MDrv_MIU_Mask_Req_AUDIO_RW(MS_U8 u8Mask, MS_U8 u8Miu); 766 //------------------------------------------------------------------------------------------------- 767 /// MOBF Encrypt 768 /// @ingroup G_MIU_CONTROL 769 /// @param u32Key \b IN: Key 770 /// @param bEnable \b IN: TRUE/FLASE 771 /// @return DRVAESDMA_OK : Success 772 /// @return Others : Fail 773 //------------------------------------------------------------------------------------------------- 774 void MDrv_MIU_MaskReq(MS_U8 u8Miu, eMIUClientID eClientID); 775 //------------------------------------------------------------------------------------------------- 776 /// MOBF Encrypt 777 /// @ingroup G_MIU_CONTROL 778 /// @param u32Key \b IN: Key 779 /// @param bEnable \b IN: TRUE/FLASE 780 /// @return DRVAESDMA_OK : Success 781 /// @return Others : Fail 782 //------------------------------------------------------------------------------------------------- 783 void MDrv_MIU_UnMaskReq(MS_U8 u8Miu, eMIUClientID eClientID); 784 //------------------------------------------------------------------------------------------------- 785 /// MOBF Encrypt 786 /// @ingroup G_MIU_INIT 787 /// @param u32Key \b IN: Key 788 /// @param bEnable \b IN: TRUE/FLASE 789 /// @return DRVAESDMA_OK : Success 790 /// @return Others : Fail 791 //------------------------------------------------------------------------------------------------- 792 void MDrv_MIU_InitCounter(void); 793 //------------------------------------------------------------------------------------------------- 794 /// MOBF Encrypt 795 /// @ingroup G_MIU_ToBeRemove 796 /// @param u32Key \b IN: Key 797 /// @param bEnable \b IN: TRUE/FLASE 798 /// @return DRVAESDMA_OK : Success 799 /// @return Others : Fail 800 //------------------------------------------------------------------------------------------------- 801 void MDrv_MIU_VOP_SwitchMIU(MS_U8 u8MiuID); 802 //------------------------------------------------------------------------------------------------- 803 /// MOBF Encrypt 804 /// @ingroup G_MIU_PROTECT 805 /// @param u32Key \b IN: Key 806 /// @param bEnable \b IN: TRUE/FLASE 807 /// @return DRVAESDMA_OK : Success 808 /// @return Others : Fail 809 //------------------------------------------------------------------------------------------------- 810 void MDrv_MIU_PrintMIUProtectInfo(void); 811 //------------------------------------------------------------------------------------------------- 812 /// MOBF Encrypt 813 /// @ingroup G_MIU_PROTECT 814 /// @param u32Key \b IN: Key 815 /// @param bEnable \b IN: TRUE/FLASE 816 /// @return DRVAESDMA_OK : Success 817 /// @return Others : Fail 818 //------------------------------------------------------------------------------------------------- 819 MS_U8* MDrv_MIU_GetDefaultClientID_KernelProtect(void); 820 //------------------------------------------------------------------------------------------------- 821 /// MOBF Encrypt 822 /// @ingroup G_MIU_CONTROL 823 /// @param u32Key \b IN: Key 824 /// @param bEnable \b IN: TRUE/FLASE 825 /// @return DRVAESDMA_OK : Success 826 /// @return Others : Fail 827 //------------------------------------------------------------------------------------------------- 828 MS_U16 MDrv_MIU_GetBusWidth(void); 829 //------------------------------------------------------------------------------------------------- 830 /// MOBF Encrypt 831 /// @ingroup G_MIU_CONTROL 832 /// @param u32Key \b IN: Key 833 /// @param bEnable \b IN: TRUE/FLASE 834 /// @return DRVAESDMA_OK : Success 835 /// @return Others : Fail 836 //------------------------------------------------------------------------------------------------- 837 MS_BOOL MDrv_MIU_SetSsc(MS_U16 u16Fmodulation, MS_U16 u16FDeviation,MS_BOOL bEnable); 838 //------------------------------------------------------------------------------------------------- 839 /// MOBF Encrypt 840 /// @ingroup G_MIU_CONTROL 841 /// @param u32Key \b IN: Key 842 /// @param bEnable \b IN: TRUE/FLASE 843 /// @return DRVAESDMA_OK : Success 844 /// @return Others : Fail 845 //------------------------------------------------------------------------------------------------- 846 MS_BOOL MDrv_MIU_SetSscValue(MS_U8 u8MiuDev, MS_U16 u16Fmodulation, MS_U16 u16FDeviation, MS_BOOL bEnable); 847 //------------------------------------------------------------------------------------------------- 848 /// MOBF Encrypt 849 /// @ingroup G_MIU_COMMON 850 /// @param u32Key \b IN: Key 851 /// @param bEnable \b IN: TRUE/FLASE 852 /// @return DRVAESDMA_OK : Success 853 /// @return Others : Fail 854 //------------------------------------------------------------------------------------------------- 855 MS_BOOL MDrv_MIU_GetClientID(euMIUClientIDTYPE client_name, stMIUClientID_t *client_read, stMIUClientID_t *client_write); 856 //------------------------------------------------------------------------------------------------- 857 /// MOBF Encrypt 858 /// @ingroup G_MIU_CONTROL 859 /// @param u32Key \b IN: Key 860 /// @param bEnable \b IN: TRUE/FLASE 861 /// @return DRVAESDMA_OK : Success 862 /// @return Others : Fail 863 //------------------------------------------------------------------------------------------------- 864 MS_BOOL MDrv_MIU_Mask(euMIUClientIDTYPE client_name); 865 //------------------------------------------------------------------------------------------------- 866 /// MOBF Encrypt 867 /// @ingroup G_MIU_CONTROL 868 /// @param u32Key \b IN: Key 869 /// @param bEnable \b IN: TRUE/FLASE 870 /// @return DRVAESDMA_OK : Success 871 /// @return Others : Fail 872 //------------------------------------------------------------------------------------------------- 873 MS_BOOL MDrv_MIU_Unmask(euMIUClientIDTYPE client_name); 874 //------------------------------------------------------------------------------------------------- 875 /// MOBF Encrypt 876 /// @ingroup G_MIU_CONTROL 877 /// @param u32Key \b IN: Key 878 /// @param bEnable \b IN: TRUE/FLASE 879 /// @return DRVAESDMA_OK : Success 880 /// @return Others : Fail 881 //------------------------------------------------------------------------------------------------- 882 MS_BOOL MDrv_MIU_MaskByPort(euMIUClientIDTYPE client_name,stMIUClientID_t *ByPort); 883 //------------------------------------------------------------------------------------------------- 884 /// MOBF Encrypt 885 /// @ingroup G_MIU_CONTROL 886 /// @param u32Key \b IN: Key 887 /// @param bEnable \b IN: TRUE/FLASE 888 /// @return DRVAESDMA_OK : Success 889 /// @return Others : Fail 890 //------------------------------------------------------------------------------------------------- 891 MS_BOOL MDrv_MIU_UnmaskByPort(euMIUClientIDTYPE client_name,stMIUClientID_t *ByPort); 892 //------------------------------------------------------------------------------------------------- 893 /// MOBF Encrypt 894 /// @ingroup G_MIU_ToBeRemove 895 /// @param u32Key \b IN: Key 896 /// @param bEnable \b IN: TRUE/FLASE 897 /// @return DRVAESDMA_OK : Success 898 /// @return Others : Fail 899 //------------------------------------------------------------------------------------------------- 900 MS_BOOL MDrv_MIU_SetIOMapBase(void); 901 //------------------------------------------------------------------------------------------------- 902 /// MOBF Encrypt 903 /// @ingroup G_MIU_PROTECT 904 /// @param u32Key \b IN: Key 905 /// @param bEnable \b IN: TRUE/FLASE 906 /// @return DRVAESDMA_OK : Success 907 /// @return Others : Fail 908 //------------------------------------------------------------------------------------------------- 909 MS_BOOL MDrv_MIU_ProtectAlign(MS_U32 *u32PageShift); 910 //------------------------------------------------------------------------------------------------- 911 /// MOBF Encrypt 912 /// @ingroup G_MIU_COMMON 913 /// @param u32Key \b IN: Key 914 /// @param bEnable \b IN: TRUE/FLASE 915 /// @return DRVAESDMA_OK : Success 916 /// @return Others : Fail 917 //------------------------------------------------------------------------------------------------- 918 MS_BOOL MDrv_MIU_Dram_Size(MS_U8 MiuID, MS_U8 DramSize); 919 //------------------------------------------------------------------------------------------------- 920 /// MOBF Encrypt 921 /// @ingroup G_MIU_COMMON 922 /// @param u32Key \b IN: Key 923 /// @param bEnable \b IN: TRUE/FLASE 924 /// @return DRVAESDMA_OK : Success 925 /// @return Others : Fail 926 //------------------------------------------------------------------------------------------------- 927 MS_BOOL MDrv_MIU_Dram_ReadSize(MS_U8 MiuID, MIU_DDR_SIZE *pDramSize); 928 //------------------------------------------------------------------------------------------------- 929 /// MOBF Encrypt 930 /// @ingroup G_MIU_COMMON 931 /// @param u32Key \b IN: Key 932 /// @param bEnable \b IN: TRUE/FLASE 933 /// @return DRVAESDMA_OK : Success 934 /// @return Others : Fail 935 //------------------------------------------------------------------------------------------------- 936 MS_U8 MDrv_MIU_ClinetNumber(MS_U8 u8Blockx); 937 //------------------------------------------------------------------------------------------------- 938 /// MOBF Encrypt 939 /// @ingroup G_MIU_PROTECT 940 /// @param u32Key \b IN: Key 941 /// @param bEnable \b IN: TRUE/FLASE 942 /// @return DRVAESDMA_OK : Success 943 /// @return Others : Fail 944 //------------------------------------------------------------------------------------------------- 945 MS_BOOL MDrv_MIU_Protect( MS_U8 u8Blockx, MS_U8 *pu8ProtectId, MS_PHY phyStart, MS_PHY phyEnd, MS_BOOL bSetFlag ); 946 947 MS_BOOL MDrv_MIU_ProtectEx( MS_U8 u8Blockx, MS_U32 *pu32ProtectId, MS_PHY phy64Start, MS_PHY phy64End, MS_BOOL bSetFlag ); 948 //------------------------------------------------------------------------------------------------- 949 /// MOBF Encrypt 950 /// @ingroup G_MIU_COMMON 951 /// @param u32Key \b IN: Key 952 /// @param bEnable \b IN: TRUE/FLASE 953 /// @return DRVAESDMA_OK : Success 954 /// @return Others : Fail 955 //------------------------------------------------------------------------------------------------- 956 MS_BOOL MDrv_MIU_IsSupportMIU1(void); 957 //------------------------------------------------------------------------------------------------- 958 /// MOBF Encrypt 959 /// @ingroup G_MIU_CONTROL 960 /// @param u32Key \b IN: Key 961 /// @param bEnable \b IN: TRUE/FLASE 962 /// @return DRVAESDMA_OK : Success 963 /// @return Others : Fail 964 //------------------------------------------------------------------------------------------------- 965 MS_BOOL MDrv_MIU_SelMIU(eMIUClientID eClientID, eMIU_SelType eType); 966 //------------------------------------------------------------------------------------------------- 967 /// MOBF Encrypt 968 /// @ingroup G_MIU_COMMON 969 /// @param u32Key \b IN: Key 970 /// @param bEnable \b IN: TRUE/FLASE 971 /// @return DRVAESDMA_OK : Success 972 /// @return Others : Fail 973 //------------------------------------------------------------------------------------------------- 974 MS_BOOL MDrv_MIU_GetClientInfo(MS_U8 u8MiuDev, eMIUClientID eClientID, MIU_ClientInfo *pInfo); 975 //------------------------------------------------------------------------------------------------- 976 /// MOBF Encrypt 977 /// @ingroup G_MIU_PROTECT 978 /// @param u32Key \b IN: Key 979 /// @param bEnable \b IN: TRUE/FLASE 980 /// @return DRVAESDMA_OK : Success 981 /// @return Others : Fail 982 //------------------------------------------------------------------------------------------------- 983 MS_BOOL MDrv_MIU_GetProtectInfo(MS_U8 u8MiuDev, MIU_PortectInfo *pInfo); 984 //------------------------------------------------------------------------------------------------- 985 /// MOBF Encrypt 986 /// @ingroup G_MIU_COMMON 987 /// @param u32Key \b IN: Key 988 /// @param bEnable \b IN: TRUE/FLASE 989 /// @return DRVAESDMA_OK : Success 990 /// @return Others : Fail 991 //------------------------------------------------------------------------------------------------- 992 MS_BOOL MDrv_MIU_SetGroupPriority(MS_U8 u8MiuDev, MIU_GroupPriority sPriority); 993 //------------------------------------------------------------------------------------------------- 994 /// MOBF Encrypt 995 /// @ingroup G_MIU_COMMON 996 /// @param u32Key \b IN: Key 997 /// @param bEnable \b IN: TRUE/FLASE 998 /// @return DRVAESDMA_OK : Success 999 /// @return Others : Fail 1000 //------------------------------------------------------------------------------------------------- 1001 MS_BOOL MDrv_MIU_SetHPriorityMask(MS_U8 u8MiuDev, eMIUClientID eClientID, MS_BOOL bMask); 1002 //------------------------------------------------------------------------------------------------- 1003 /// MOBF Encrypt 1004 /// @ingroup G_MIU_COMMON 1005 /// @param u32Key \b IN: Key 1006 /// @param bEnable \b IN: TRUE/FLASE 1007 /// @return DRVAESDMA_OK : Success 1008 /// @return Others : Fail 1009 //------------------------------------------------------------------------------------------------- 1010 MS_BOOL MDrv_MIU_GetLibVer(const MSIF_Version **ppVersion); 1011 //------------------------------------------------------------------------------------------------- 1012 /// MOBF Encrypt 1013 /// @ingroup G_MIU_CONTROL 1014 /// @param u32Key \b IN: Key 1015 /// @param bEnable \b IN: TRUE/FLASE 1016 /// @return DRVAESDMA_OK : Success 1017 /// @return Others : Fail 1018 //------------------------------------------------------------------------------------------------- 1019 MS_BOOL MDrv_MIU_EnableScramble(MS_BOOL bEnable); 1020 //------------------------------------------------------------------------------------------------- 1021 /// MOBF Encrypt 1022 /// @ingroup G_MIU_CONTROL 1023 /// @param u32Key \b IN: Key 1024 /// @param bEnable \b IN: TRUE/FLASE 1025 /// @return DRVAESDMA_OK : Success 1026 /// @return Others : Fail 1027 //------------------------------------------------------------------------------------------------- 1028 MS_BOOL MDrv_MIU_IsScrambleEnabled(void); 1029 //------------------------------------------------------------------------------------------------- 1030 /// MOBF Encrypt 1031 /// @ingroup G_MIU_COMMON 1032 /// @param u32Key \b IN: Key 1033 /// @param bEnable \b IN: TRUE/FLASE 1034 /// @return DRVAESDMA_OK : Success 1035 /// @return Others : Fail 1036 //------------------------------------------------------------------------------------------------- 1037 MS_BOOL MDrv_MIU_GetLoading(MS_U8 u8MiuDev, MS_U32 *Loading); 1038 //------------------------------------------------------------------------------------------------- 1039 /// MOBF Encrypt 1040 /// @ingroup G_MIU_INIT 1041 /// @param u32Key \b IN: Key 1042 /// @param bEnable \b IN: TRUE/FLASE 1043 /// @return DRVAESDMA_OK : Success 1044 /// @return Others : Fail 1045 //------------------------------------------------------------------------------------------------- 1046 MS_BOOL MDrv_MIU_Init(void); 1047 //------------------------------------------------------------------------------------------------- 1048 /// MOBF Encrypt 1049 /// @ingroup G_MIU_COMMON 1050 /// @param u32Key \b IN: Key 1051 /// @param bEnable \b IN: TRUE/FLASE 1052 /// @return DRVAESDMA_OK : Success 1053 /// @return Others : Fail 1054 //------------------------------------------------------------------------------------------------- 1055 MS_U32 MDrv_MIU_SetPowerState(EN_POWER_MODE u16PowerState); 1056 //------------------------------------------------------------------------------------------------- 1057 /// MOBF Encrypt 1058 /// @ingroup G_MIU_COMMON 1059 /// @param u32Key \b IN: Key 1060 /// @param bEnable \b IN: TRUE/FLASE 1061 /// @return DRVAESDMA_OK : Success 1062 /// @return Others : Fail 1063 //------------------------------------------------------------------------------------------------- 1064 MS_BOOL MDrv_MIU_GetClientWidth(MS_U8 u8MiuDevi, eMIUClientID eClientID, eMIU_ClientWidth *pClientWidth); 1065 1066 MS_BOOL MDrv_MIU_GetDramType(MIU_ID eMiu, MIU_DDR_TYPE* pType); 1067 1068 #ifdef _MIU_INTERNEL_USE 1069 //------------------------------------------------------------------------------------------------- 1070 /// MOBF Encrypt 1071 /// @ingroup G_MIU_COMMON 1072 /// @param u32Key \b IN: Key 1073 /// @param bEnable \b IN: TRUE/FLASE 1074 /// @return DRVAESDMA_OK : Success 1075 /// @return Others : Fail 1076 //------------------------------------------------------------------------------------------------- 1077 DLL_PUBLIC MS_BOOL MDrv_MIU_GetLoading(MS_U8 u8MiuDev, MS_U32 *Loading); 1078 #endif 1079 1080 #ifdef __cplusplus 1081 } 1082 #endif 1083 1084 #endif // _DRV_MIU_H_ 1085 1086