struct device *dev = dwmac->dev;
        const char *parent_name, *mux_parent_names[MUX_CLK_NUM_PARENTS];
        struct meson8b_dwmac_clk_configs *clk_configs;
+       static const struct clk_div_table div_table[] = {
+               { .div = 2, .val = 2, },
+               { .div = 3, .val = 3, },
+               { .div = 4, .val = 4, },
+               { .div = 5, .val = 5, },
+               { .div = 6, .val = 6, },
+               { .div = 7, .val = 7, },
+       };
 
        clk_configs = devm_kzalloc(dev, sizeof(*clk_configs), GFP_KERNEL);
        if (!clk_configs)
        clk_configs->m250_div.reg = dwmac->regs + PRG_ETH0;
        clk_configs->m250_div.shift = PRG_ETH0_CLK_M250_DIV_SHIFT;
        clk_configs->m250_div.width = PRG_ETH0_CLK_M250_DIV_WIDTH;
-       clk_configs->m250_div.flags = CLK_DIVIDER_ONE_BASED |
-                               CLK_DIVIDER_ALLOW_ZERO |
-                               CLK_DIVIDER_ROUND_CLOSEST;
+       clk_configs->m250_div.table = div_table;
+       clk_configs->m250_div.flags = CLK_DIVIDER_ALLOW_ZERO |
+                                     CLK_DIVIDER_ROUND_CLOSEST;
        clk = meson8b_dwmac_register_clk(dwmac, "m250_div", &parent_name, 1,
                                         &clk_divider_ops,
                                         &clk_configs->m250_div.hw);