priv->irq_tx = res_irq_tx->start;
        priv->mac_id = pdev->id;
 
-       /* get rx & tx dma channel id for this mac */
-       if (priv->mac_id == 0) {
-               priv->rx_chan = 0;
-               priv->tx_chan = 1;
-       } else {
-               priv->rx_chan = 2;
-               priv->tx_chan = 3;
-       }
-
        priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
        if (IS_ERR(priv->mac_clk)) {
                ret = PTR_ERR(priv->mac_clk);
                priv->dma_chan_width = pd->dma_chan_width;
                priv->dma_has_sram = pd->dma_has_sram;
                priv->dma_desc_shift = pd->dma_desc_shift;
+               priv->rx_chan = pd->rx_chan;
+               priv->tx_chan = pd->tx_chan;
        }
 
        if (priv->mac_id == 0 && priv->has_phy && !priv->use_external_mii) {