control |= VIVS_HI_CLOCK_CONTROL_ISOLATE_GPU;
gpu_write(gpu, VIVS_HI_CLOCK_CONTROL, control);
+ if (etnaviv_is_model_rev(gpu, GC620, 0x5552)) {
+ gpu_write(gpu, 0x00800, 0x10);
+ }
+
if (gpu->identity.minor_features7 & chipMinorFeatures7_BIT_SECURITY) {
gpu_write(gpu, VIVS_MMUv2_AHB_CONTROL,
VIVS_MMUv2_AHB_CONTROL_RESET);
gpu_write(gpu, VIVS_MC_BUS_CONFIG, bus_config);
}
+ /* FIXME: use feature bit 5 of minor features 12, G2D_DEC400EX */
+ if (etnaviv_is_model_rev(gpu, GC620, 0x5552)) {
+ gpu_write(gpu, 0x800, 0x2010188);
+ gpu_write(gpu, 0x808, 0x3fc104);
+ }
+
if (gpu->identity.minor_features7 & chipMinorFeatures7_BIT_SECURITY) {
u32 val = gpu_read(gpu, VIVS_MMUv2_AHB_CONTROL);
val |= VIVS_MMUv2_AHB_CONTROL_NONSEC_ACCESS;