FILE
wave5-vpuconfig.h
File preview with syntax highlighting.
linux-6.19.14/drivers/media/platform/chips-media/wave5/wave5-vpuconfig.h
1/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */ 2/* 3 * Wave5 series multi-standard codec IP - product config definitions 4 * 5 * Copyright (C) 2021-2023 CHIPS&MEDIA INC 6 */ 7 8#ifndef _VPU_CONFIG_H_ 9#define _VPU_CONFIG_H_ 10 11#define WAVE515_CODE 0x5150 12#define WAVE517_CODE 0x5170 13#define WAVE537_CODE 0x5370 14#define WAVE511_CODE 0x5110 15#define WAVE521_CODE 0x5210 16#define WAVE521C_CODE 0x521c 17#define WAVE521C_DUAL_CODE 0x521d // wave521 dual core 18#define WAVE521E1_CODE 0x5211 19 20#define PRODUCT_CODE_W_SERIES(x) ({ \ 21 int c = x; \ 22 ((c) == WAVE517_CODE || (c) == WAVE537_CODE || \ 23 (c) == WAVE511_CODE || (c) == WAVE521_CODE || \ 24 (c) == WAVE521E1_CODE || (c) == WAVE521C_CODE || \ 25 (c) == WAVE521C_DUAL_CODE) || (c) == WAVE515_CODE; \ 26}) 27 28#define WAVE517_WORKBUF_SIZE (2 * 1024 * 1024) 29#define WAVE521ENC_WORKBUF_SIZE (128 * 1024) //HEVC 128K, AVC 40K 30#define WAVE521DEC_WORKBUF_SIZE (1784 * 1024) 31#define WAVE515DEC_WORKBUF_SIZE (2 * 1024 * 1024) 32 33#define MAX_NUM_INSTANCE 32 34 35#define W5_DEF_DEC_PIC_WIDTH 720U 36#define W5_DEF_DEC_PIC_HEIGHT 480U 37#define W5_MIN_DEC_PIC_8_WIDTH 8U 38#define W5_MIN_DEC_PIC_8_HEIGHT 8U 39#define W5_MIN_DEC_PIC_32_WIDTH 32U 40#define W5_MIN_DEC_PIC_32_HEIGHT 32U 41#define W5_MAX_DEC_PIC_WIDTH 8192U 42#define W5_MAX_DEC_PIC_HEIGHT 4320U 43#define W5_DEC_CODEC_STEP_WIDTH 1U 44#define W5_DEC_CODEC_STEP_HEIGHT 1U 45#define W5_DEC_RAW_STEP_WIDTH 32U 46#define W5_DEC_RAW_STEP_HEIGHT 16U 47 48#define W5_DEF_ENC_PIC_WIDTH 416U 49#define W5_DEF_ENC_PIC_HEIGHT 240U 50#define W5_MIN_ENC_PIC_WIDTH 256U 51#define W5_MIN_ENC_PIC_HEIGHT 128U 52#define W5_MAX_ENC_PIC_WIDTH 8192U 53#define W5_MAX_ENC_PIC_HEIGHT 8192U 54#define W5_ENC_CODEC_STEP_WIDTH 8U 55#define W5_ENC_CODEC_STEP_HEIGHT 8U 56#define W5_ENC_RAW_STEP_WIDTH 32U 57#define W5_ENC_RAW_STEP_HEIGHT 16U 58 59// application specific configuration 60#define VPU_ENC_TIMEOUT 60000 61#define VPU_DEC_TIMEOUT 60000 62 63// for WAVE encoder 64#define USE_SRC_PRP_AXI 0 65#define USE_SRC_PRI_AXI 1 66#define DEFAULT_SRC_AXI USE_SRC_PRP_AXI 67 68/************************************************************************/ 69/* VPU COMMON MEMORY */ 70/************************************************************************/ 71#define VLC_BUF_NUM (2) 72 73#define WAVE521_COMMAND_QUEUE_DEPTH (2) 74#define WAVE515_COMMAND_QUEUE_DEPTH (4) 75 76#define W5_REMAP_INDEX0 0 77#define W5_REMAP_INDEX1 1 78#define W5_REMAP_MAX_SIZE (1024 * 1024) 79 80#define WAVE521_MAX_CODE_BUF_SIZE (2 * 1024 * 1024) 81#define WAVE515_MAX_CODE_BUF_SIZE (1024 * 1024) 82#define WAVE5_TEMPBUF_SIZE (1024 * 1024) 83 84#define WAVE521_SIZE_COMMON (WAVE521_MAX_CODE_BUF_SIZE + WAVE5_TEMPBUF_SIZE) 85#define WAVE515_ONE_TASKBUF_SIZE (8 * 1024 * 1024) 86#define WAVE515_SIZE_COMMON (WAVE515_MAX_CODE_BUF_SIZE + WAVE5_TEMPBUF_SIZE + \ 87 WAVE515_COMMAND_QUEUE_DEPTH * WAVE515_ONE_TASKBUF_SIZE) 88 89//=====4. VPU REPORT MEMORY ======================// 90 91#define WAVE5_UPPER_PROC_AXI_ID 0x0 92 93#define WAVE5_PROC_AXI_ID 0x0 94#define WAVE5_PRP_AXI_ID 0x0 95#define WAVE5_FBD_Y_AXI_ID 0x0 96#define WAVE5_FBC_Y_AXI_ID 0x0 97#define WAVE5_FBD_C_AXI_ID 0x0 98#define WAVE5_FBC_C_AXI_ID 0x0 99#define WAVE5_SEC_AXI_ID 0x0 100#define WAVE5_PRI_AXI_ID 0x0 101 102#endif /* _VPU_CONFIG_H_ */
~/
Read-only file preview.