Why does Linux report "DMA engine initialization failed" error when EMAC uses GMII interface? - Why does Linux report "DMA engine initialization failed" error when EMAC uses GMII interface? Description When supporting GMII interface for HPS EMAC, there are three clocks exported to FPGA: emac_tx_clk_i(input), emac_rx_clk_i(input), emac_gtx_clk(output) The Linux would report below error if the emac_tx_clk_i clock is not connected correctly: ...... [ 4.291414] socfpga-dwmac ff802000.ethernet: Failed to reset the dma [ 4.297785] socfpga-dwmac ff802000.ethernet eth1: stmmac_hw_setup: DMA engine initialization failed [ 4.306806] socfpga-dwmac ff802000.ethernet eth1: stmmac_open: Hw setup failed ...... Resolution Besides connecting the emac_rx_clk_i(125MHz) for GMII, the emac_tx_clk_i also needs to be connected correctly (2.5MHz or 25MHz), although it is not used in GMII mode. The emac_tx_clk_i requirement information has been added in the HPS document beginning with version 21.2. Custom Fields values: ['novalue'] Troubleshooting 1508998016, 1508997988 False ['novalue'] ['FPGA Dev Tools Quartus® Prime Software Pro'] 21.2 19.3 ['Arria® V SX FPGA', 'Cyclone® V SX FPGA', 'Agilex™ 7 FPGAs and SoCs', 'Arria® 10 SX FPGA', 'Stratix® 10 SX FPGA'] ['novalue'] ['novalue'] ['novalue'] - 2021-08-30

external_document