@@ -210,13 +210,23 @@ static int venus_enumerate_codecs(struct venus_core *core, u32 type)
static void venus_assign_register_offsets(struct venus_core *core)
{
- core->vbif_base = core->base + VBIF_BASE;
- core->cpu_base = core->base + CPU_BASE;
- core->cpu_cs_base = core->base + CPU_CS_BASE;
- core->cpu_ic_base = core->base + CPU_IC_BASE;
- core->wrapper_base = core->base + WRAPPER_BASE;
- core->wrapper_tz_base = 0;
- core->aon_base = 0;
+ if (IS_V6(core)) {
+ core->vbif_base = core->base + VBIF_BASE;
+ core->cpu_base = core->base + CPU_BASE_V6;
+ core->cpu_cs_base = core->base + CPU_CS_BASE_V6;
+ core->cpu_ic_base = core->base + CPU_IC_BASE_V6;
+ core->wrapper_base = core->base + WRAPPER_BASE_V6;
+ core->wrapper_tz_base = core->base + WRAPPER_TZ_BASE_V6;
+ core->aon_base = core->base + AON_BASE_V6;
+ } else {
+ core->vbif_base = core->base + VBIF_BASE;
+ core->cpu_base = core->base + CPU_BASE;
+ core->cpu_cs_base = core->base + CPU_CS_BASE;
+ core->cpu_ic_base = core->base + CPU_IC_BASE;
+ core->wrapper_base = core->base + WRAPPER_BASE;
+ core->wrapper_tz_base = 0;
+ core->aon_base = 0;
+ }
}
static int venus_probe(struct platform_device *pdev)