diff options
Diffstat (limited to 'src/riscv/sophgo/sg2042.dtsi')
| -rw-r--r-- | src/riscv/sophgo/sg2042.dtsi | 61 | 
1 files changed, 61 insertions, 0 deletions
| diff --git a/src/riscv/sophgo/sg2042.dtsi b/src/riscv/sophgo/sg2042.dtsi index 85636d1798f..b3e4d3c18fd 100644 --- a/src/riscv/sophgo/sg2042.dtsi +++ b/src/riscv/sophgo/sg2042.dtsi @@ -569,6 +569,67 @@  			status = "disabled";  		}; +		gmac0: ethernet@7040026000 { +			compatible = "sophgo,sg2042-dwmac", "snps,dwmac-5.00a"; +			reg = <0x70 0x40026000 0x0 0x4000>; +			clocks = <&clkgen GATE_CLK_AXI_ETH0>, +				 <&clkgen GATE_CLK_PTP_REF_I_ETH0>, +				 <&clkgen GATE_CLK_TX_ETH0>; +			clock-names = "stmmaceth", "ptp_ref", "tx"; +			dma-noncoherent; +			interrupt-parent = <&intc>; +			interrupts = <132 IRQ_TYPE_LEVEL_HIGH>; +			interrupt-names = "macirq"; +			resets = <&rstgen RST_ETH0>; +			reset-names = "stmmaceth"; +			snps,multicast-filter-bins = <0>; +			snps,perfect-filter-entries = <1>; +			snps,aal; +			snps,tso; +			snps,txpbl = <32>; +			snps,rxpbl = <32>; +			snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; +			snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; +			snps,axi-config = <&gmac0_stmmac_axi_setup>; +			status = "disabled"; + +			mdio { +				compatible = "snps,dwmac-mdio"; +				#address-cells = <1>; +				#size-cells = <0>; +			}; + +			gmac0_mtl_rx_setup: rx-queues-config { +				snps,rx-queues-to-use = <8>; +				queue0 {}; +				queue1 {}; +				queue2 {}; +				queue3 {}; +				queue4 {}; +				queue5 {}; +				queue6 {}; +				queue7 {}; +			}; + +			gmac0_mtl_tx_setup: tx-queues-config { +				snps,tx-queues-to-use = <8>; +				queue0 {}; +				queue1 {}; +				queue2 {}; +				queue3 {}; +				queue4 {}; +				queue5 {}; +				queue6 {}; +				queue7 {}; +			}; + +			gmac0_stmmac_axi_setup: stmmac-axi-config { +				snps,blen = <16 8 4 0 0 0 0>; +				snps,wr_osr_lmt = <1>; +				snps,rd_osr_lmt = <2>; +			}; +		}; +  		emmc: mmc@704002a000 {  			compatible = "sophgo,sg2042-dwcmshc";  			reg = <0x70 0x4002a000 0x0 0x1000>; | 
