1*53ee8cc1Swenshuai.xi #ifndef __PLATFORM_PROJ_INCLUDE_FILE__ 2*53ee8cc1Swenshuai.xi #define __PLATFORM_PROJ_INCLUDE_FILE__ 3*53ee8cc1Swenshuai.xi 4*53ee8cc1Swenshuai.xi #include "ddr_config.h" 5*53ee8cc1Swenshuai.xi #include "mbox_decR2.h" 6*53ee8cc1Swenshuai.xi 7*53ee8cc1Swenshuai.xi #define DEC_R2_CLOCK 432000000 8*53ee8cc1Swenshuai.xi 9*53ee8cc1Swenshuai.xi #define DEFAULT_ES_BLOCK_LEVEL 0x1800 10*53ee8cc1Swenshuai.xi #define DEFAULT_PCM_BLOCK_LEVEL 0x20000 11*53ee8cc1Swenshuai.xi #define DEFAULT_AVSYNC_OFFSET 0x3138 //AVSYNC delay in DTV: 140ms, Unit: 33bits 12*53ee8cc1Swenshuai.xi #define DEFAULT_SPDIF_OFFSET 0xC00 // 13*53ee8cc1Swenshuai.xi #define DEFAULT_STOP_PARSER_ES_LEVEL 0x10000 14*53ee8cc1Swenshuai.xi #define DEFAULT_FILE_HAND_SHAKE_SIZE 0x800 15*53ee8cc1Swenshuai.xi 16*53ee8cc1Swenshuai.xi #define MPG_AV_DEFAULT_DELAY 0x3E1E 17*53ee8cc1Swenshuai.xi #define AC3_AV_DEFAULT_DELAY 0x4300 18*53ee8cc1Swenshuai.xi #define AAC_AV_DEFAULT_DELAY 0x327E 19*53ee8cc1Swenshuai.xi 20*53ee8cc1Swenshuai.xi #define DELAY_UPPER_LIMIT 0x6978 21*53ee8cc1Swenshuai.xi #define DELAY_LOWER_LIMIT 0xA8C 22*53ee8cc1Swenshuai.xi 23*53ee8cc1Swenshuai.xi #ifdef __BUILD_FOR_R2__ 24*53ee8cc1Swenshuai.xi /*********************************************************** 25*53ee8cc1Swenshuai.xi * Software Setting 26*53ee8cc1Swenshuai.xi ***********************************************************/ 27*53ee8cc1Swenshuai.xi #define R2_SIMULATION 0 28*53ee8cc1Swenshuai.xi #define R2_BUILD_IN_TEST_PATTERN 0 29*53ee8cc1Swenshuai.xi 30*53ee8cc1Swenshuai.xi #define R2_DECODER_EN (1) 31*53ee8cc1Swenshuai.xi #define R2_DECODER1_FORCE_MCH_OUTPUT (1) 32*53ee8cc1Swenshuai.xi #define R2_DECODER1_FORCE_2CH_OUTPUT (0) 33*53ee8cc1Swenshuai.xi #define R2_DECODER2_FORCE_MCH_OUTPUT (1) 34*53ee8cc1Swenshuai.xi #define R2_DECODER2_FORCE_2CH_OUTPUT (0) 35*53ee8cc1Swenshuai.xi #ifdef __aeon__ 36*53ee8cc1Swenshuai.xi #define R2_DECODER1_OUTPUT_BY_DSP (0) 37*53ee8cc1Swenshuai.xi #define R2_DECODER2_OUTPUT_BY_DSP (0) 38*53ee8cc1Swenshuai.xi #else 39*53ee8cc1Swenshuai.xi #define R2_DECODER1_OUTPUT_BY_DSP (0) 40*53ee8cc1Swenshuai.xi #define R2_DECODER2_OUTPUT_BY_DSP (0) 41*53ee8cc1Swenshuai.xi #endif 42*53ee8cc1Swenshuai.xi 43*53ee8cc1Swenshuai.xi #define PRE__SOUND_PROCESS_EN 0 44*53ee8cc1Swenshuai.xi #define POST_SOUND_PROCESS_EN 0 45*53ee8cc1Swenshuai.xi #define FD230_EN 0 46*53ee8cc1Swenshuai.xi 47*53ee8cc1Swenshuai.xi #define R2_AD_ENABLE 1 48*53ee8cc1Swenshuai.xi #define R2_DISABLE_PARSERAB 0 49*53ee8cc1Swenshuai.xi #define PARSER_PUSI_SUPPORT 1 50*53ee8cc1Swenshuai.xi #define PASDMA_ENABLE 0 51*53ee8cc1Swenshuai.xi #define PASDROP_ENABLE 0 52*53ee8cc1Swenshuai.xi 53*53ee8cc1Swenshuai.xi #define R2_INTERRUPT_PRINTF 54*53ee8cc1Swenshuai.xi 55*53ee8cc1Swenshuai.xi #if (R2_SIMULATION == 1) 56*53ee8cc1Swenshuai.xi #define R2_SIM_DEC1_AUDIO_TYPE 1 // 1: AC3, 5: AAC, 3: mp3 (use ES1(md) and ES2(ad)) 57*53ee8cc1Swenshuai.xi #define R2_SIM_DEC2_AUDIO_TYPE 1 // 1: AC3, 5: AAC, 3: mp3 (use ES3(md) and ES4(ad)) 58*53ee8cc1Swenshuai.xi #define R2_SIM_DEC1_COMMAND_ENABLE 0x11 //0: disable, 0x01 : MD only, 0x11: MD+AD 59*53ee8cc1Swenshuai.xi #define R2_SIM_DEC2_COMMAND_ENABLE 0 //0: disable, 0x01 : MD only, 0x11: MD+AD 60*53ee8cc1Swenshuai.xi #undef R2_INTERRUPT_PRINTF 61*53ee8cc1Swenshuai.xi #endif 62*53ee8cc1Swenshuai.xi 63*53ee8cc1Swenshuai.xi /*********************************************************** 64*53ee8cc1Swenshuai.xi * wrapper define for each IP 65*53ee8cc1Swenshuai.xi ***********************************************************/ 66*53ee8cc1Swenshuai.xi #define DEC_R2_DQMEM_SIZE 32 //unit is kbytes 67*53ee8cc1Swenshuai.xi #define DEC_R2_DQMEM_ADDR 0xFFFF0000 68*53ee8cc1Swenshuai.xi 69*53ee8cc1Swenshuai.xi #define R2_DEC_HDMI_OUTPUT 1 // 1:HDMI_Nonpcm_Tx or HDMI_ARC 70*53ee8cc1Swenshuai.xi #define UNI_DECODE_DONE_NON_6_BLOCK 1 71*53ee8cc1Swenshuai.xi #define REMOVE_DTS_TRANSCODER 0 72*53ee8cc1Swenshuai.xi #define REMOVE_MS11_DDENCODE 0 73*53ee8cc1Swenshuai.xi #define HEAAC_SPDIF_BYPASS 1 74*53ee8cc1Swenshuai.xi #define SND_R2_SUPPORT_DDENC 1 75*53ee8cc1Swenshuai.xi #define SND_DSP_SUPPORT_DDENC 1 76*53ee8cc1Swenshuai.xi #define SND_R2_SUPPORT_DDPENC 1 77*53ee8cc1Swenshuai.xi #define SND_DSP_SUPPORT_DPDENC 1 78*53ee8cc1Swenshuai.xi #define SND_R2_SUPPORT_DTSENC 1 79*53ee8cc1Swenshuai.xi #define SND_DSP_SUPPORT_DTSENC 1 80*53ee8cc1Swenshuai.xi #define USE_SPDIF_REPLACE_HDMI 1 81*53ee8cc1Swenshuai.xi #define STREAMING_LOW_LATENCY_LIMITER 0 82*53ee8cc1Swenshuai.xi 83*53ee8cc1Swenshuai.xi #define L2_CRC_ERR_MUTE_NUM 2 84*53ee8cc1Swenshuai.xi #define L2_SYNCWORD_ERR_MUTE_NUM 2 85*53ee8cc1Swenshuai.xi #define DDP_HDMI_FILL256_SAMPLE_BEFORE_FIRST_FRAME 0 86*53ee8cc1Swenshuai.xi #define SUPPORT_DRCLINE_MPEG_LEVEL_MODIFY 1 87*53ee8cc1Swenshuai.xi /*********************************************************** 88*53ee8cc1Swenshuai.xi * Hardware Setting 89*53ee8cc1Swenshuai.xi ***********************************************************/ 90*53ee8cc1Swenshuai.xi #define LOG2_BYTES_IN_LINE 4 91*53ee8cc1Swenshuai.xi #define BYTE_IN_LINE (1<<LOG2_BYTES_IN_LINE) 92*53ee8cc1Swenshuai.xi #define BYTE_IN_LINE_MASK (BYTE_IN_LINE - 1) 93*53ee8cc1Swenshuai.xi #define ALIGN_TO_MIU_LINE(x) (x&BYTE_IN_LINE_MASK)?((x+BYTE_IN_LINE)&(~BYTE_IN_LINE_MASK)):x 94*53ee8cc1Swenshuai.xi 95*53ee8cc1Swenshuai.xi #define HAL_ICACHE_SIZE 8192 96*53ee8cc1Swenshuai.xi #define HAL_ICACHE_LINE_SIZE 64 97*53ee8cc1Swenshuai.xi #define HAL_ICACHE_WAY 4 98*53ee8cc1Swenshuai.xi 99*53ee8cc1Swenshuai.xi #define HAL_DCACHE_SIZE 8192 100*53ee8cc1Swenshuai.xi #define HAL_DCACHE_LINE_SIZE 64 101*53ee8cc1Swenshuai.xi #define HAL_DCACHE_WAY 4 102*53ee8cc1Swenshuai.xi 103*53ee8cc1Swenshuai.xi /* D_PREFETCH */ 104*53ee8cc1Swenshuai.xi #define DC_WR_ALLOCATE_EN 1 // R2 D-Cache write-allocate 105*53ee8cc1Swenshuai.xi #define D_PREFETCH_NUM 0 //Macan has no this feature 106*53ee8cc1Swenshuai.xi #define R2_SPRA_DCU_PREFETCH (118) //118 for DCU prefetch 107*53ee8cc1Swenshuai.xi 108*53ee8cc1Swenshuai.xi /* I_PREFETCH */ 109*53ee8cc1Swenshuai.xi #define I_PREFETCH_NUM 0 //Macan has no this feature 110*53ee8cc1Swenshuai.xi #define R2_SPRA_ICU_PREFETCH (119) //119 for ICU prefetch 111*53ee8cc1Swenshuai.xi 112*53ee8cc1Swenshuai.xi /* interrupt */ 113*53ee8cc1Swenshuai.xi #define NR_IRQS 20 114*53ee8cc1Swenshuai.xi #define IRQ13_UART 0x13//19 115*53ee8cc1Swenshuai.xi 116*53ee8cc1Swenshuai.xi /*********************************************************** 117*53ee8cc1Swenshuai.xi * 118*53ee8cc1Swenshuai.xi ***********************************************************/ 119*53ee8cc1Swenshuai.xi #define MAX_PRINTF_BUF 0x8000 120*53ee8cc1Swenshuai.xi #define decSysFunc_start //dbg_func_entries++ 121*53ee8cc1Swenshuai.xi #define decSysFunc_end //dbg_func_entries-- 122*53ee8cc1Swenshuai.xi #define decSysPrint(x) //{int xxx=0; for( xxx=0; xxx<dbg_func_entries; xxx++) printf("\t");} x 123*53ee8cc1Swenshuai.xi #ifdef WIN32 124*53ee8cc1Swenshuai.xi #define decSysPrint_R2(x) 125*53ee8cc1Swenshuai.xi #else 126*53ee8cc1Swenshuai.xi #define decSysPrint_R2(x) x 127*53ee8cc1Swenshuai.xi #endif 128*53ee8cc1Swenshuai.xi 129*53ee8cc1Swenshuai.xi #define CHK_BUFF_SUM(addr, size) { \ 130*53ee8cc1Swenshuai.xi int xxx=0; \ 131*53ee8cc1Swenshuai.xi unsigned char *p = (unsigned char *) addr; \ 132*53ee8cc1Swenshuai.xi unsigned char sum = 0; \ 133*53ee8cc1Swenshuai.xi for (xxx=0; xxx<size; xxx++) \ 134*53ee8cc1Swenshuai.xi sum += p[xxx]; \ 135*53ee8cc1Swenshuai.xi printf("sum = %x ", sum); \ 136*53ee8cc1Swenshuai.xi } 137*53ee8cc1Swenshuai.xi 138*53ee8cc1Swenshuai.xi #define CHK_BUFF_XOR(addr, size) { \ 139*53ee8cc1Swenshuai.xi int xxx=0; \ 140*53ee8cc1Swenshuai.xi unsigned char *p = (unsigned char *) addr; \ 141*53ee8cc1Swenshuai.xi unsigned char sum = 0; \ 142*53ee8cc1Swenshuai.xi for (xxx=0; xxx<size; xxx++) \ 143*53ee8cc1Swenshuai.xi sum ^= p[xxx]; \ 144*53ee8cc1Swenshuai.xi printf("xor = %x ", sum); \ 145*53ee8cc1Swenshuai.xi } 146*53ee8cc1Swenshuai.xi 147*53ee8cc1Swenshuai.xi /*********************************************************** 148*53ee8cc1Swenshuai.xi * DDR Setting 149*53ee8cc1Swenshuai.xi ***********************************************************/ 150*53ee8cc1Swenshuai.xi #ifdef __aeon__ 151*53ee8cc1Swenshuai.xi #define OFFSET_R2 0 152*53ee8cc1Swenshuai.xi #else 153*53ee8cc1Swenshuai.xi #define OFFSET_R2 ((unsigned int)&chip_audio_memory_buf) 154*53ee8cc1Swenshuai.xi #endif 155*53ee8cc1Swenshuai.xi 156*53ee8cc1Swenshuai.xi #define OFFSET_R2_TO_ASNDR2 (OFFSET_R2 + ADEC__R2_DDR_SIZE) 157*53ee8cc1Swenshuai.xi #define OFFSET_R2_TO_ASNDDSP (OFFSET_R2 + ADEC__R2_DDR_SIZE + ASND__R2_DDR_SIZE) 158*53ee8cc1Swenshuai.xi #define OFFSET_R2_TO_COMM_DDR (OFFSET_R2 + ADEC__R2_DDR_SIZE +ASND__R2_DDR_SIZE + ASND_DSP_DDR_SIZE) 159*53ee8cc1Swenshuai.xi 160*53ee8cc1Swenshuai.xi /* DECODER DDR */ 161*53ee8cc1Swenshuai.xi #define DEC1_METADATA1_BUF (OFFSET_R2_TO_ASNDDSP + OFFSET_DEC1_METADATA1_DRAM_ADDR) 162*53ee8cc1Swenshuai.xi #define DEC1_METADATA2_BUF (OFFSET_R2_TO_ASNDDSP + OFFSET_DEC1_METADATA2_DRAM_ADDR) 163*53ee8cc1Swenshuai.xi #define DEC1_METADATA3_BUF (OFFSET_R2_TO_ASNDDSP + OFFSET_DEC1_METADATA3_DRAM_ADDR) 164*53ee8cc1Swenshuai.xi 165*53ee8cc1Swenshuai.xi #define DEC2_METADATA1_BUF (OFFSET_R2_TO_ASNDDSP + OFFSET_DEC2_METADATA1_DRAM_ADDR) 166*53ee8cc1Swenshuai.xi #define DEC2_METADATA2_BUF (OFFSET_R2_TO_ASNDDSP + OFFSET_DEC2_METADATA2_DRAM_ADDR) 167*53ee8cc1Swenshuai.xi #define DEC2_METADATA3_BUF (OFFSET_R2_TO_ASNDDSP + OFFSET_DEC2_METADATA3_DRAM_ADDR) 168*53ee8cc1Swenshuai.xi //// ES & PCM //// 169*53ee8cc1Swenshuai.xi #if 1 170*53ee8cc1Swenshuai.xi #define ES1_DRAM_ADDR (OFFSET_R2_TO_ASNDDSP + OFFSET_ES1_DRAM_ADDR) 171*53ee8cc1Swenshuai.xi #define ES2_DRAM_ADDR (OFFSET_R2_TO_ASNDDSP + OFFSET_ES2_DRAM_ADDR) 172*53ee8cc1Swenshuai.xi #define ES3_DRAM_ADDR (OFFSET_R2_TO_ASNDDSP + OFFSET_ES3_DRAM_ADDR) 173*53ee8cc1Swenshuai.xi #define ES4_DRAM_ADDR (OFFSET_R2_TO_ASNDDSP + OFFSET_ES4_DRAM_ADDR) 174*53ee8cc1Swenshuai.xi #define PCM1_DRAM_ADDR (OFFSET_R2_TO_COMM_DDR + OFFSET_PCM1_DRAM_ADDR) 175*53ee8cc1Swenshuai.xi #define PCM2_DRAM_ADDR (OFFSET_R2_TO_COMM_DDR + OFFSET_PCM2_DRAM_ADDR) 176*53ee8cc1Swenshuai.xi #endif 177*53ee8cc1Swenshuai.xi 178*53ee8cc1Swenshuai.xi //// HDMI non-PCM //// 179*53ee8cc1Swenshuai.xi #if (R2_DEC_HDMI_OUTPUT == 1) 180*53ee8cc1Swenshuai.xi #define BUF_HDMI_OFFSET OFFSET_HDMI_NONPCM_DRAM_BASE 181*53ee8cc1Swenshuai.xi #define BUF_HDMI_ADDR (OFFSET_R2_TO_COMM_DDR+ BUF_HDMI_OFFSET) 182*53ee8cc1Swenshuai.xi #define BUF_HDMI_SIZE HDMI_NONPCM_DRAM_SIZE 183*53ee8cc1Swenshuai.xi #endif 184*53ee8cc1Swenshuai.xi 185*53ee8cc1Swenshuai.xi #if 0 186*53ee8cc1Swenshuai.xi #define DSP1_ENC_RAW_OFFSET 0x334000 187*53ee8cc1Swenshuai.xi #define DSP1_ENC_RAW_BUFADDR (OFFSET_R2_TO_COMM_DDR + DSP1_ENC_RAW_OFFSET) 188*53ee8cc1Swenshuai.xi #define DSP1_ENC_RAW_BUFSIZE 0x38E00 189*53ee8cc1Swenshuai.xi #endif 190*53ee8cc1Swenshuai.xi 191*53ee8cc1Swenshuai.xi /* sound effect related DDR */ 192*53ee8cc1Swenshuai.xi 193*53ee8cc1Swenshuai.xi /* pre sound DDR */ 194*53ee8cc1Swenshuai.xi //#define BUF_PCMIN_ADDR (OFFSET_R2_TO_ASNDDSP + OFFSET_SE_MAIN_IN_DRAM_ADDR) 195*53ee8cc1Swenshuai.xi //#define BUF_PCMIN_SIZE SE_MAIN_IN_DRAM_SIZE 196*53ee8cc1Swenshuai.xi 197*53ee8cc1Swenshuai.xi /* post sound DDR */ 198*53ee8cc1Swenshuai.xi //#define BUF_PCMIN2_ADDR (OFFSET_R2_TO_ASNDDSP + OFFSET_SE_MAIN_OUT_DRAM_ADDR) 199*53ee8cc1Swenshuai.xi //#define BUF_PCMIN2_SIZE SE_MAIN_OUT_DRAM_SIZE 200*53ee8cc1Swenshuai.xi 201*53ee8cc1Swenshuai.xi #define BUF_SPDIF_OFFSET OFFSET_SPDIF_NONPCM_DRAM_BASE 202*53ee8cc1Swenshuai.xi #define BUF_SPDIF_ADDR (OFFSET_R2_TO_COMM_DDR+ BUF_SPDIF_OFFSET) 203*53ee8cc1Swenshuai.xi #define BUF_SPDIF_SIZE SPDIF_NONPCM_DRAM_SIZE 204*53ee8cc1Swenshuai.xi 205*53ee8cc1Swenshuai.xi /* ENCODER DDR */ 206*53ee8cc1Swenshuai.xi #define DDENC_METADATA_OFFSET OFFSET_DDENC_METADATA_DRAM_ADDR 207*53ee8cc1Swenshuai.xi #define DDENC_METADATA_ADDR (OFFSET_R2_TO_ASNDDSP+ DDENC_METADATA_OFFSET) 208*53ee8cc1Swenshuai.xi #define DDENC_METADATA_SIZE DDENC_METADATA_DRAM_SIZE 209*53ee8cc1Swenshuai.xi 210*53ee8cc1Swenshuai.xi /* MISC */ 211*53ee8cc1Swenshuai.xi 212*53ee8cc1Swenshuai.xi /*********************************************************** 213*53ee8cc1Swenshuai.xi * Decoder threshold settings 214*53ee8cc1Swenshuai.xi ***********************************************************/ 215*53ee8cc1Swenshuai.xi #define R2_OUTPUT_ENC_RAW_DATA 0 216*53ee8cc1Swenshuai.xi 217*53ee8cc1Swenshuai.xi #define DEC_OUTPUT_BYTES_PER_SAMPLE 2 218*53ee8cc1Swenshuai.xi #define DEC_OUTPUT_DMX_CHANNELS 2 219*53ee8cc1Swenshuai.xi #define DEC_OUTPUT_BYTES_PER_DMX_SAMPLE 4 220*53ee8cc1Swenshuai.xi #define DEC_OUTPUT_MCH_CHANNELS 6 //order : L / C / R / Ls / Rs / LFE 221*53ee8cc1Swenshuai.xi #define DEC_OUTPUT_OMX_MCH_CHANNELS 10 222*53ee8cc1Swenshuai.xi 223*53ee8cc1Swenshuai.xi #define AVSYNC_TD_TIMEOUT_THRESHOLD 0x36EE8/2 // 2500ms !?? Threshold?? STC ? APTS ????, ??? FreeRun 224*53ee8cc1Swenshuai.xi #define AVSYNC_WAIT_STC_TD 90*100/2 // 100 ms !?? Threshold?? STC ?? APTS ???, ??????STC 225*53ee8cc1Swenshuai.xi #define AVSYNC_SKIP_FRM_TD 90*45/2 // 45 ms !?? Threshold?? STC ?? APTS ???, ??skip frame??STC 226*53ee8cc1Swenshuai.xi #define SYS_DEC_HDMIPLAY_PCM_LEVEL 45*48 //(1536-64)*48 //0 // 45 ms 227*53ee8cc1Swenshuai.xi #define AVSYNC_11172_OVERFLOW_THRESHOLD 0x6D3A06 // 0x7FFFFFFF/300 228*53ee8cc1Swenshuai.xi // 229*53ee8cc1Swenshuai.xi #define SYS_DEC1_WAIT_1ST_PTS_TIMEOUT_PCM_LEVEL 700*48 // 700ms (should small than "SYS_DEC_STOP_DECODE_PCM_LEVEL") 230*53ee8cc1Swenshuai.xi #define SYS_DEC1_WAIT_STC_TIMEOUT_PCM_LEVEL 700*48 // 700ms (should small than "SYS_DEC_STOP_DECODE_PCM_LEVEL") 231*53ee8cc1Swenshuai.xi #define SYS_DEC1_FREEPLAY_PCM_LEVEL 45*48 // 45ms (should small than "SYS_DEC_STOP_DECODE_PCM_LEVEL") 232*53ee8cc1Swenshuai.xi #define SYS_DEC1_STOP_DECODE_PCM_LEVEL (1024-64)*48 //(1536-64)*DEC_OUTPUT_1MS_48K_SIZE //(1024-64)*DEC_OUTPUT_1MS_48K_SIZE // 1024ms (should small than "SYS_DEC_STOP_DECODE_PCM_LEVEL") 233*53ee8cc1Swenshuai.xi #define SYS_DEC1_STOP_DECODE_PCM_LEVEL_OMX 1728*48 234*53ee8cc1Swenshuai.xi #define SYS_DEC1_STOP_DECODE_PCM_LEVEL_MM_TS 120*48 235*53ee8cc1Swenshuai.xi #define SYS_DEC1_STOP_DECODE_PCM_LEVEL_DTV ((PCM1_DRAM_SIZE/48000/2/10) * 1000 -64)*48 236*53ee8cc1Swenshuai.xi #define SYS_DEC1_WAIT_STC_TIMEOUT_ES_LEVEL 0x8000 237*53ee8cc1Swenshuai.xi #define SYS_DEC1_WAIT_1ST_PTS_TIMEOUT_ES_LEVEL 0x2000 238*53ee8cc1Swenshuai.xi 239*53ee8cc1Swenshuai.xi #define SYS_DEC_SLEEP_PCM_LEVEL 60*48 // 60ms 240*53ee8cc1Swenshuai.xi #define SYS_DEC_WAIT_1st_PTS_FRMCNT 32 241*53ee8cc1Swenshuai.xi #define SYS_AD_NOSIGNAL_THRESHOLD 128 242*53ee8cc1Swenshuai.xi #define SYS_DEC_DTV_FREEPLAY_PCM_LEVEL 64*48 243*53ee8cc1Swenshuai.xi 244*53ee8cc1Swenshuai.xi #define SYS_DEC_MM_TD_TIMEOUT_THRESHOLD_UP_LIMIT (200*90000/2) 245*53ee8cc1Swenshuai.xi #define SYS_DEC_MM_TD_TIMEOUT_THRESHOLD_DOWN_LIMIT (-30*90000/2) 246*53ee8cc1Swenshuai.xi 247*53ee8cc1Swenshuai.xi /*********************************************************** 248*53ee8cc1Swenshuai.xi * OMX nonPCM threshold settings 249*53ee8cc1Swenshuai.xi ***********************************************************/ 250*53ee8cc1Swenshuai.xi #define OMX_PCM_COMPARE_LEVEL 0x4800 //SmpPerCH = 0x1200*10/2/2 251*53ee8cc1Swenshuai.xi #define OMX_DEFAULT_ADECID R2_ADEC_ID2 252*53ee8cc1Swenshuai.xi #define OMX_THRESHOLD 4 253*53ee8cc1Swenshuai.xi #define OMX_NONPCM_START_EN_LEVEL 0x4000 254*53ee8cc1Swenshuai.xi #define OMX_NONPCM_STOPSKIP_LEVEL 0x1600 255*53ee8cc1Swenshuai.xi #define OMX_PCM_CONSTANT_DELAY 0x0 256*53ee8cc1Swenshuai.xi 257*53ee8cc1Swenshuai.xi /*********************************************************** 258*53ee8cc1Swenshuai.xi * Sound effect Setting 259*53ee8cc1Swenshuai.xi ***********************************************************/ 260*53ee8cc1Swenshuai.xi #define ASND_PROCESS_MODE 2 // 2(adec_acmod_stereo) or 7(adec_acmod_mod32) 261*53ee8cc1Swenshuai.xi #define ASND_PROCESS_ITF_UNIT 32 262*53ee8cc1Swenshuai.xi #define BYTES_IN_PCM 3 263*53ee8cc1Swenshuai.xi 264*53ee8cc1Swenshuai.xi /* pre sound process */ 265*53ee8cc1Swenshuai.xi #define ASND_PRE_PROCESS_BUF_UNIT 256 266*53ee8cc1Swenshuai.xi #define ASND_PRE_INPUT_PCM_CH 8 //(RAW DMX + 5.1) 267*53ee8cc1Swenshuai.xi 268*53ee8cc1Swenshuai.xi #define DOWNMIX_2_CH_ORDER 0 269*53ee8cc1Swenshuai.xi #define MULTI_5P1_CH_ORDER 2 270*53ee8cc1Swenshuai.xi #define ENC_2_CH_ORDER 8 271*53ee8cc1Swenshuai.xi #define ECHO_CH_ORDER 10 272*53ee8cc1Swenshuai.xi 273*53ee8cc1Swenshuai.xi /* post sound process */ 274*53ee8cc1Swenshuai.xi #define ASND_POST_INPUT_PCM_CH 8 275*53ee8cc1Swenshuai.xi #define ASND_POST_PROCESS_BUF_UNIT 256 276*53ee8cc1Swenshuai.xi 277*53ee8cc1Swenshuai.xi #endif //__BUILD_FOR_R2__ 278*53ee8cc1Swenshuai.xi 279*53ee8cc1Swenshuai.xi /*********************************************************** 280*53ee8cc1Swenshuai.xi * Mbox Setting 281*53ee8cc1Swenshuai.xi ***********************************************************/ 282*53ee8cc1Swenshuai.xi //--------------------------------------- 283*53ee8cc1Swenshuai.xi /******************* MCU <--> DEC-R2 *******************/ 284*53ee8cc1Swenshuai.xi /* MCU -> DEC-R2 */ 285*53ee8cc1Swenshuai.xi //// MCU -> DEC-R2 : Common //// 286*53ee8cc1Swenshuai.xi #define MBOX_WORD_MCUCMD_PARAMTYPE MBOX_M2D_0380 //generate interrut 287*53ee8cc1Swenshuai.xi #define MBOX_BYTE_MCUCMD_ID_SEL MBOX_M2D_0382 288*53ee8cc1Swenshuai.xi #define MBOX_BYTE_MCUCMD_Get_OR_Set MBOX_M2D_0382+1 289*53ee8cc1Swenshuai.xi #define MBOX_WORD_MCUCMD_PARAM1 MBOX_M2D_0384 290*53ee8cc1Swenshuai.xi #define MBOX_WORD_MCUCMD_PARAM2 MBOX_M2D_0386 291*53ee8cc1Swenshuai.xi #define MBOX_WORD_R2_CTRL MBOX_M2D_0388 292*53ee8cc1Swenshuai.xi #define STREAMING_LOW_LATENCY_LIMITER_EN _BIT_15_ 293*53ee8cc1Swenshuai.xi #define MBOX_WORD_R2_SYSTEM_DBG MBOX_M2D_038A 294*53ee8cc1Swenshuai.xi /* 295*53ee8cc1Swenshuai.xi [ 0] decoder decode frame statue 296*53ee8cc1Swenshuai.xi [ 1] decoder output pcm status 297*53ee8cc1Swenshuai.xi [ 3] reset measured max AD no signal counter 298*53ee8cc1Swenshuai.xi [ 4] omx decode done print 299*53ee8cc1Swenshuai.xi [ 8] decoder print info 300*53ee8cc1Swenshuai.xi [ 9] measure decoder mips 301*53ee8cc1Swenshuai.xi [10] measure miu latency 302*53ee8cc1Swenshuai.xi [11] enable wfi mode 303*53ee8cc1Swenshuai.xi [12] disable skip frm when doing AV sync 304*53ee8cc1Swenshuai.xi [13] disable wait STC when doing AV sync 305*53ee8cc1Swenshuai.xi [14] disable calculate increase cPTS in timer 306*53ee8cc1Swenshuai.xi */ 307*53ee8cc1Swenshuai.xi 308*53ee8cc1Swenshuai.xi #define MBOX_WORD_DBG_DUMP_DDR_ADDR_HI MBOX_M2D_038C 309*53ee8cc1Swenshuai.xi #define MBOX_WORD_DBG_MBOX_VALUE_HI MBOX_M2D_038C 310*53ee8cc1Swenshuai.xi #define MBOX_WORD_DBG_MBOX_PRINT_SIZE MBOX_M2D_038C 311*53ee8cc1Swenshuai.xi #define MBOX_WORD_DBG_DUMP_DDR_ADDR_LO MBOX_M2D_038E 312*53ee8cc1Swenshuai.xi #define MBOX_WORD_DBG_MBOX_VALUE_LO MBOX_M2D_038E 313*53ee8cc1Swenshuai.xi #define MBOX_WORD_DBG_DUMP_DDR_SIZE MBOX_M2D_039C 314*53ee8cc1Swenshuai.xi #define MBOX_WORD_DBG_MBOX_ADDR MBOX_M2D_039C 315*53ee8cc1Swenshuai.xi #define MBOX_BYTE_OMX_NPCM_SYNC_DBG MBOX_M2D_039C+1 316*53ee8cc1Swenshuai.xi #define MBOX_BYTE_STATUS_SELECT MBOX_M2D_039E 317*53ee8cc1Swenshuai.xi #define MBOX_BYTE_STATUS_SPEED MBOX_M2D_039E+1 318*53ee8cc1Swenshuai.xi 319*53ee8cc1Swenshuai.xi //// MCU -> DEC-R2 : R2 decoder //// 320*53ee8cc1Swenshuai.xi #define MBOX_BYTE_DEC_SPDIF_SEL MBOX_M2D_0396 321*53ee8cc1Swenshuai.xi #define MBOX_BYTE_DEC1_SEL MBOX_M2D_0398 322*53ee8cc1Swenshuai.xi #define MBOX_BYTE_DEC2_SEL MBOX_M2D_039A 323*53ee8cc1Swenshuai.xi #define MBOX_BYTE_DEC1_CMD MBOX_M2D_0398+1 324*53ee8cc1Swenshuai.xi #define MBOX_BYTE_DEC2_CMD MBOX_M2D_039A+1 325*53ee8cc1Swenshuai.xi 326*53ee8cc1Swenshuai.xi 327*53ee8cc1Swenshuai.xi /* DEC-R2 -> MCU */ 328*53ee8cc1Swenshuai.xi //// DEC-R2 -> MCU : Common //// 329*53ee8cc1Swenshuai.xi #define MBOX_WORD_MCU_INTERRUPT MBOX_D2M_03A0 330*53ee8cc1Swenshuai.xi #define MBOX_BYTE_PARAM_TOKEN MBOX_D2M_03A2+1 331*53ee8cc1Swenshuai.xi #define MBOX_WORD_INFO_VALUE1 MBOX_D2M_03A4 332*53ee8cc1Swenshuai.xi #define MBOX_WORD_INFO_VALUE2 MBOX_D2M_03A6 333*53ee8cc1Swenshuai.xi #define MBOX_WORD_R2_STATUS MBOX_D2M_03A8 334*53ee8cc1Swenshuai.xi #define MBOX_WORD_R2_VERSION MBOX_D2M_03AA 335*53ee8cc1Swenshuai.xi #define MBOX_BYTE_R2_DBG_ACK_HI MBOX_D2M_03AC 336*53ee8cc1Swenshuai.xi #define MBOX_BYTE_R2_DBG_ACK MBOX_D2M_03AE 337*53ee8cc1Swenshuai.xi #define MBOX_BYTE_WHILE_1_CNTR MBOX_D2M_03B2 338*53ee8cc1Swenshuai.xi #define MBOX_BYTE_TIMER_CNT MBOX_D2M_03B2+1 339*53ee8cc1Swenshuai.xi #define MBOX_BYTE_R2_SPDIF MBOX_D2M_03B4 340*53ee8cc1Swenshuai.xi #define MBOX_BYTE_LOADCODE_ACK MBOX_D2M_03B6 341*53ee8cc1Swenshuai.xi #define MBOX_BYTE_R2_WFI_CNTR MBOX_D2M_03B8 342*53ee8cc1Swenshuai.xi 343*53ee8cc1Swenshuai.xi /* dec R2 -> MCU */ 344*53ee8cc1Swenshuai.xi //// dec R2 -> MCU : Common //// 345*53ee8cc1Swenshuai.xi #define MBOX_R2_START_ADDRESS_LO MBOX_R2Reg_82 346*53ee8cc1Swenshuai.xi #define MBOX_R2_START_ADDRESS_HI MBOX_R2Reg_84 347*53ee8cc1Swenshuai.xi 348*53ee8cc1Swenshuai.xi #if 0 349*53ee8cc1Swenshuai.xi #define MBOX_WORD_R2_HDMI_STATUS MBOX_D2M_03B0 350*53ee8cc1Swenshuai.xi #endif 351*53ee8cc1Swenshuai.xi 352*53ee8cc1Swenshuai.xi #ifdef __BUILD_FOR_R2__ 353*53ee8cc1Swenshuai.xi /* dec R2 <--> snd R2 */ 354*53ee8cc1Swenshuai.xi #define MBPX_D2A_DDENC (MBOX_D2A_IO_1) 355*53ee8cc1Swenshuai.xi #define MBPX_D2A_DTSENC (MBOX_D2A_IO_1+1) 356*53ee8cc1Swenshuai.xi #define MBPX_D2A_MS12 (MBOX_D2A_IO_2) 357*53ee8cc1Swenshuai.xi #define DEC1_MS12_PCMR_ENABLE_BIT 0 358*53ee8cc1Swenshuai.xi #define DEC2_MS12_PCMR_ENABLE_BIT 1 359*53ee8cc1Swenshuai.xi #define DEC1_MS12_DAP_MCH_BIT 2 360*53ee8cc1Swenshuai.xi #define DEC2_MS12_DAP_MCH_BIT 3 361*53ee8cc1Swenshuai.xi #define MBPX_D2A_PCM_BUF_RPTR (MBOX_D2A_IO_3) 362*53ee8cc1Swenshuai.xi 363*53ee8cc1Swenshuai.xi /* SND-DSP -> snd R2 */ 364*53ee8cc1Swenshuai.xi //// R2 decoder //// 365*53ee8cc1Swenshuai.xi #define MBOX_S2D_DSP_TO_R2_COMMAND MBOX_S2D_IO_0 366*53ee8cc1Swenshuai.xi #define S2D_CMD_RESET_PCM1_AVSYNC 0x0001 367*53ee8cc1Swenshuai.xi #define S2D_CMD_RESET_PCM2_AVSYNC 0x0002 368*53ee8cc1Swenshuai.xi 369*53ee8cc1Swenshuai.xi #define MBOX_S2D_DSP_TO_R2_PARAM MBOX_S2D_IO_1 370*53ee8cc1Swenshuai.xi #define MBOX_S2D_R2CMD_RECEIVE_CNT MBOX_S2D_IO_2 371*53ee8cc1Swenshuai.xi 372*53ee8cc1Swenshuai.xi #define MBOX_S2D_PCM1_PLAYCNT MBOX_S2D_IO_3 373*53ee8cc1Swenshuai.xi #define MBOX_S2D_PCM1_FIFOCNT MBOX_S2D_IO_4 374*53ee8cc1Swenshuai.xi #define MBOX_S2D_PCM1_DRAM_RDPTR MBOX_S2D_IO_5 375*53ee8cc1Swenshuai.xi 376*53ee8cc1Swenshuai.xi #define MBOX_SNDDSP_2_DECR2_ENC_ON_CHIP MBOX_S2D_IO_9 377*53ee8cc1Swenshuai.xi 378*53ee8cc1Swenshuai.xi #define MBOX_SNDR2_2_DECR2_ENC_ON_CHIP MBOX_A2D_IO_0 379*53ee8cc1Swenshuai.xi 380*53ee8cc1Swenshuai.xi #define MBOX_S2D_PCM2_PLAYCNT MBOX_S2D_IO_A 381*53ee8cc1Swenshuai.xi #define MBOX_S2D_PCM2_FIFOCNT MBOX_S2D_IO_B 382*53ee8cc1Swenshuai.xi #define MBOX_S2D_PCM2_DRAM_RDPTR MBOX_S2D_IO_C 383*53ee8cc1Swenshuai.xi 384*53ee8cc1Swenshuai.xi //#define MBOX_S2D_REG_DECODER_SEL MBOX_S2D_IO_A 385*53ee8cc1Swenshuai.xi //#define MBOX_S2D_REG_HDMI_IN_FREQ MBOX_S2D_IO_B 386*53ee8cc1Swenshuai.xi 387*53ee8cc1Swenshuai.xi #define MBOX_S2D_DSPWORD_SPDIF_RDPTR MBOX_S2D_IO_D 388*53ee8cc1Swenshuai.xi #define MBOX_S2D_DSPWORD_HDMI_RDPTR MBOX_S2D_IO_6 389*53ee8cc1Swenshuai.xi 390*53ee8cc1Swenshuai.xi #define MBOX_S2D_DSPWORD_IP_AUTH MBOX_S2D_IO_E 391*53ee8cc1Swenshuai.xi #define MBOX_S2D_DSPWORD_BOUND_OPTION MBOX_S2D_IO_F 392*53ee8cc1Swenshuai.xi 393*53ee8cc1Swenshuai.xi /* R2 -> SND DSP */ 394*53ee8cc1Swenshuai.xi #define MBOX_D2S_PCMISR_CTRL MBOX_D2S_IO_1 395*53ee8cc1Swenshuai.xi #define MBOX_R2_PCM1ISR_PLAY_START_BIT _BIT_0_ //--> �o�U�� playSmpFlag / stop / pause �M�w 396*53ee8cc1Swenshuai.xi #define MBOX_R2_PCM1ISR_PLAY_MUTE_BIT _BIT_1_ //--> Mute 397*53ee8cc1Swenshuai.xi #define MBOX_R2_PCM1ISR_USING_ASINK_ISR_BIT _BIT_2_ 398*53ee8cc1Swenshuai.xi #define MBOX_R2_PCM2ISR_PLAY_START_BIT _BIT_8_ 399*53ee8cc1Swenshuai.xi #define MBOX_R2_PCM2ISR_PLAY_MUTE_BIT _BIT_9_ 400*53ee8cc1Swenshuai.xi #define MBOX_R2_PCM2ISR_USING_ASINK_ISR_BIT _BIT_10_ 401*53ee8cc1Swenshuai.xi 402*53ee8cc1Swenshuai.xi #define MBOX_D2S_PCM1_DRAM_WRPTR MBOX_D2S_IO_2 403*53ee8cc1Swenshuai.xi #define MBOX_D2S_PCM1_SYNTH_H MBOX_D2S_IO_3 404*53ee8cc1Swenshuai.xi #define MBOX_D2S_PCM1_SYNTH_L MBOX_D2S_IO_4 405*53ee8cc1Swenshuai.xi 406*53ee8cc1Swenshuai.xi #define MBOX_D2S_PCM2_DRAM_WRPTR MBOX_D2S_IO_5 407*53ee8cc1Swenshuai.xi #define MBOX_D2S_PCM2_SYNTH_H MBOX_D2S_IO_6 408*53ee8cc1Swenshuai.xi #define MBOX_D2S_PCM2_SYNTH_L MBOX_D2S_IO_7 409*53ee8cc1Swenshuai.xi 410*53ee8cc1Swenshuai.xi #define MBOX_D2S_R2_TO_DSP_COMMAND MBOX_D2S_IO_8 411*53ee8cc1Swenshuai.xi #define D2S_CMD_UPD_PCM1_MUTECNT _BIT_0_ 412*53ee8cc1Swenshuai.xi #define D2S_CMD_CLR_PCM1_PLAYCNT _BIT_1_ 413*53ee8cc1Swenshuai.xi #define D2S_CMD_UPD_PCM1_PLAYCNT _BIT_2_ 414*53ee8cc1Swenshuai.xi #define D2S_CMD_FLUSH_PCM1_SMPS _BIT_3_ 415*53ee8cc1Swenshuai.xi #define D2S_CMD_RESET_PCM1 _BIT_4_ 416*53ee8cc1Swenshuai.xi #define D2S_CMD_UPD_PCM2_MUTECNT _BIT_5_ 417*53ee8cc1Swenshuai.xi #define D2S_CMD_CLR_PCM2_PLAYCNT _BIT_6_ 418*53ee8cc1Swenshuai.xi #define D2S_CMD_UPD_PCM2_PLAYCNT _BIT_7_ 419*53ee8cc1Swenshuai.xi #define D2S_CMD_FLUSH_PCM2_SMPS _BIT_8_ 420*53ee8cc1Swenshuai.xi #define D2S_CMD_RESET_PCM2 _BIT_9_ 421*53ee8cc1Swenshuai.xi 422*53ee8cc1Swenshuai.xi #define MBOX_D2S_R2_TO_DSP_PARAM MBOX_D2S_IO_9 423*53ee8cc1Swenshuai.xi #define MBOX_D2S_DSPWORD_SPDIF_WRPTR MBOX_D2S_IO_A 424*53ee8cc1Swenshuai.xi #define MBOX_D2S_DSPWORD_HDMI_WRPTR MBOX_D2S_IO_B 425*53ee8cc1Swenshuai.xi 426*53ee8cc1Swenshuai.xi #define MBOX_D2S_DSPWORD_SPDIF_CTRL MBOX_D2S_IO_C 427*53ee8cc1Swenshuai.xi #define MBOX_D2S_DSPWORD_HDMI_CTRL MBOX_D2S_IO_C 428*53ee8cc1Swenshuai.xi #define MBOX_HDMI_CTRL_START_BIT _BIT_23_ 429*53ee8cc1Swenshuai.xi #define MBOX_HDMI_HBR_MODE_BIT _BIT_20_ 430*53ee8cc1Swenshuai.xi #define MBOX_HDMI_CTRL_EN_BIT _BIT_21_ 431*53ee8cc1Swenshuai.xi #define MBOX_SPDIF_CTRL_EN_BIT _BIT_17_ 432*53ee8cc1Swenshuai.xi #define MBOX_SPDIF_CTRL_START_BIT _BIT_19_ 433*53ee8cc1Swenshuai.xi #define MBOX_HDMI_PCM_NONPCM _BIT_7_ 434*53ee8cc1Swenshuai.xi #define MBOX_SPDIF_PCM_NONPCM _BIT_6_ 435*53ee8cc1Swenshuai.xi #define MBOX_HDMI_NONPCM_OWNER _BIT_4_ 436*53ee8cc1Swenshuai.xi #define MBOX_SPDIF_NONPCM_OWNER _BIT_2_ 437*53ee8cc1Swenshuai.xi /* 438*53ee8cc1Swenshuai.xi [23] HDMI nonPcm Start 439*53ee8cc1Swenshuai.xi [22] 440*53ee8cc1Swenshuai.xi [21] HDMI nonPcm PlayEnable 441*53ee8cc1Swenshuai.xi [20] HDMI HBR mode 442*53ee8cc1Swenshuai.xi [19] SPDIF nonPcm Start 443*53ee8cc1Swenshuai.xi [18] inform DDEncode to attenuate 4.75dB 444*53ee8cc1Swenshuai.xi [17] SPDIF nonPcm PlayEnable 445*53ee8cc1Swenshuai.xi [16] 446*53ee8cc1Swenshuai.xi [15:12] SPDIF nonPcm sampleRate index 447*53ee8cc1Swenshuai.xi // 0: 96K, 1: 88K, 2: 64K 448*53ee8cc1Swenshuai.xi // 3: 48K, 4: 44K, 5: 32K 449*53ee8cc1Swenshuai.xi // 6: 24K, 7: 22K, 8: 16K 450*53ee8cc1Swenshuai.xi // 9: 12K, a: 11K, b: 8K 451*53ee8cc1Swenshuai.xi 452*53ee8cc1Swenshuai.xi [11:8] HDMI nonPcm sampleRate index 453*53ee8cc1Swenshuai.xi // 0: 96K, 1: 88K, 2: 64K 454*53ee8cc1Swenshuai.xi // 3: 48K, 4: 44K, 5: 32K 455*53ee8cc1Swenshuai.xi // 6: 24K, 7: 22K, 8: 16K 456*53ee8cc1Swenshuai.xi // 9: 12K, a: 11K, b: 8K 457*53ee8cc1Swenshuai.xi // c:192K, d: 176K e: 128K 458*53ee8cc1Swenshuai.xi 459*53ee8cc1Swenshuai.xi [7] HDMI is Pcm or nonPcm 460*53ee8cc1Swenshuai.xi [6] SPDIF is Pcm or nonPcm 461*53ee8cc1Swenshuai.xi [5:4] hdmi nonPcm owner 462*53ee8cc1Swenshuai.xi [3:2] spdif nonPcm owner 463*53ee8cc1Swenshuai.xi [0:1] spdif/hdmi PCM attenuator index 464*53ee8cc1Swenshuai.xi */ 465*53ee8cc1Swenshuai.xi 466*53ee8cc1Swenshuai.xi 467*53ee8cc1Swenshuai.xi #define MBOX_D2S_R2_DOLBY_META_DATA MBOX_D2S_IO_D 468*53ee8cc1Swenshuai.xi 469*53ee8cc1Swenshuai.xi #define MBOX_D2S_R2_TO_DSP_ENCODE MBOX_D2S_IO_E 470*53ee8cc1Swenshuai.xi #define D2S_CMD_DDENC_ENABLE _BIT_6_ 471*53ee8cc1Swenshuai.xi #define D2S_CMD_DTSENC_ENABLE _BIT_5_ 472*53ee8cc1Swenshuai.xi #define D2S_LFE_MODE _BIT_4_ 473*53ee8cc1Swenshuai.xi #define D2S_AC_MODE _BIT_0_ 474*53ee8cc1Swenshuai.xi 475*53ee8cc1Swenshuai.xi //#define MBOX_D2S_R2_TO_DSP_MISC MBOX_D2S_IO_F 476*53ee8cc1Swenshuai.xi // #define D2S_CMD_SOUND_MIXER_DISABLE _BIT_0_ 477*53ee8cc1Swenshuai.xi 478*53ee8cc1Swenshuai.xi /*********************************************************** 479*53ee8cc1Swenshuai.xi * SE R2 mailbox 480*53ee8cc1Swenshuai.xi ***********************************************************/ 481*53ee8cc1Swenshuai.xi #define SNDR2_MBOX_BYTE_R2_DBG_ACK MBOX_A2M_2EAE 482*53ee8cc1Swenshuai.xi #define SNDR2_MBOX_BYTE_STATUS_SELECT MBOX_M2A_2E9E 483*53ee8cc1Swenshuai.xi #define MBOX_S2A_DSPWORD_PCMIN_WRPTR MBOX_S2A_IO_1 484*53ee8cc1Swenshuai.xi #define MBOX_A2S_DSPWORD_PCMOUT_WRPTR MBOX_A2S_IO_1 485*53ee8cc1Swenshuai.xi 486*53ee8cc1Swenshuai.xi #define MBOX_A2S_DSPWORD_HDMI_WRPTR MBOX_A2S_IO_4 487*53ee8cc1Swenshuai.xi #define MBOX_A2S_DSPWORD_SPDIF_WRPTR MBOX_A2S_IO_3 488*53ee8cc1Swenshuai.xi 489*53ee8cc1Swenshuai.xi #define MBOX_S2A_DSPWORD_SPDIF_RDPTR MBOX_S2A_IO_3 490*53ee8cc1Swenshuai.xi #define MBOX_S2A_DSPWORD_HDMI_RDPTR MBOX_S2A_IO_4 491*53ee8cc1Swenshuai.xi #define MBOX_S2A_DSPWORD_IP_AUTH MBOX_S2A_IO_E 492*53ee8cc1Swenshuai.xi #define MBOX_S2A_DSPWORD_BOUND_OPTION MBOX_S2A_IO_F 493*53ee8cc1Swenshuai.xi /*********************************************************** 494*53ee8cc1Swenshuai.xi * DEBUG 495*53ee8cc1Swenshuai.xi ***********************************************************/ 496*53ee8cc1Swenshuai.xi #define dbg_print(x) x 497*53ee8cc1Swenshuai.xi // #define MMTS_REPORT_SCR_INSTEAD 498*53ee8cc1Swenshuai.xi 499*53ee8cc1Swenshuai.xi /*********************************************************** 500*53ee8cc1Swenshuai.xi * Hardware patch 501*53ee8cc1Swenshuai.xi ***********************************************************/ 502*53ee8cc1Swenshuai.xi #define PATCH_0001 0 //Pacth for R2 MAU problem (T8 U01) 503*53ee8cc1Swenshuai.xi 504*53ee8cc1Swenshuai.xi #endif //__BUILD_FOR_R2__ 505*53ee8cc1Swenshuai.xi #endif //__PLATFORM_PROJ_INCLUDE_FILE__