dev->mode_config.min_width = 0;
        dev->mode_config.min_height = 0;
-       dev->mode_config.max_width = 4095;
-       dev->mode_config.max_height = 2047;
        dev->mode_config.normalize_zpos = true;
        dev->mode_config.funcs = &rcar_du_mode_config_funcs;
        dev->mode_config.helper_private = &rcar_du_mode_config_helper;
 
+       if (rcdu->info->gen < 3) {
+               dev->mode_config.max_width = 4095;
+               dev->mode_config.max_height = 2047;
+       } else {
+               /*
+                * The Gen3 DU uses the VSP1 for memory access, and is limited
+                * to frame sizes of 8190x8190.
+                */
+               dev->mode_config.max_width = 8190;
+               dev->mode_config.max_height = 8190;
+       }
+
        rcdu->num_crtcs = hweight8(rcdu->info->channels_mask);
 
        ret = rcar_du_properties_init(rcdu);