#define VPU_REG_NUM_PP (41)
// client type: decoder plus post-process£º101 registers, size 404B
#define VPU_REG_NUM_DEC_PP (VPU_REG_NUM_DEC+VPU_REG_NUM_PP)
-// client type: encoder only£º96 registers, size 384B
+#if defined(CONFIG_ARCH_RK29)
+// client type: encoder only: 96 registers, size 384B for rk29
#define VPU_REG_NUM_ENC (96)
+#elif defined(CONFIG_ARCH_RK30)
+// client type: encoder only: 164 registers, size 384B for rk30
+#define VPU_REG_NUM_ENC (164)
+#endif
typedef enum VPU_CLIENT_TYPE {
VPU_ENC = 0x0,
#define REG_NUM_DEC (60)
#define REG_NUM_PP (41)
+#if defined(CONFIG_ARCH_RK29)
#define REG_NUM_ENC (96)
+#elif defined(CONFIG_ARCH_RK30)
+#define REG_NUM_ENC (164)
+#endif
#define REG_NUM_DEC_PP (REG_NUM_DEC+REG_NUM_PP)
#define SIZE_REG(reg) ((reg)*4)
#define DEC_IO_SIZE ((100 + 1) * 4) /* bytes */
+#if defined(CONFIG_ARCH_RK29)
#define ENC_IO_SIZE (96 * 4) /* bytes */
+#elif defined(CONFIG_ARCH_RK30)
+#define ENC_IO_SIZE (164 * 4) /* bytes */
+#endif
+#define REG_NUM_DEC_PP (REG_NUM_DEC+REG_NUM_PP)
static const u16 dec_hw_ids[] = { 0x8190, 0x8170, 0x9170, 0x9190, 0x6731 };
#if defined(CONFIG_ARCH_RK29)
static const u16 enc_hw_ids[] = { 0x6280, 0x7280, 0x8270 };