}
 
 static const struct cedrus_variant sun4i_a10_cedrus_variant = {
-       /* No particular capability. */
+       .mod_rate       = 320000000,
 };
 
 static const struct cedrus_variant sun5i_a13_cedrus_variant = {
-       /* No particular capability. */
+       .mod_rate       = 320000000,
 };
 
 static const struct cedrus_variant sun7i_a20_cedrus_variant = {
-       /* No particular capability. */
+       .mod_rate       = 320000000,
 };
 
 static const struct cedrus_variant sun8i_a33_cedrus_variant = {
        .capabilities   = CEDRUS_CAPABILITY_UNTILED,
+       .mod_rate       = 320000000,
 };
 
 static const struct cedrus_variant sun8i_h3_cedrus_variant = {
        .capabilities   = CEDRUS_CAPABILITY_UNTILED,
+       .mod_rate       = 402000000,
 };
 
 static const struct cedrus_variant sun50i_a64_cedrus_variant = {
        .capabilities   = CEDRUS_CAPABILITY_UNTILED,
+       .mod_rate       = 402000000,
 };
 
 static const struct cedrus_variant sun50i_h5_cedrus_variant = {
        .capabilities   = CEDRUS_CAPABILITY_UNTILED,
+       .mod_rate       = 402000000,
 };
 
 static const struct cedrus_variant sun50i_h6_cedrus_variant = {
        .capabilities   = CEDRUS_CAPABILITY_UNTILED,
        .quirks         = CEDRUS_QUIRK_NO_DMA_OFFSET,
+       .mod_rate       = 600000000,
 };
 
 static const struct of_device_id cedrus_dt_match[] = {
 
                goto err_sram;
        }
 
-       ret = clk_set_rate(dev->mod_clk, CEDRUS_CLOCK_RATE_DEFAULT);
+       ret = clk_set_rate(dev->mod_clk, variant->mod_rate);
        if (ret) {
                dev_err(dev->dev, "Failed to set clock rate\n");