1*4882a593Smuzhiyun* Altera Triple-Speed Ethernet MAC driver (TSE) 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun- compatible: Should be "altr,tse-1.0" for legacy SGDMA based TSE, and should 5*4882a593Smuzhiyun be "altr,tse-msgdma-1.0" for the preferred MSGDMA based TSE. 6*4882a593Smuzhiyun ALTR is supported for legacy device trees, but is deprecated. 7*4882a593Smuzhiyun altr should be used for all new designs. 8*4882a593Smuzhiyun- reg: Address and length of the register set for the device. It contains 9*4882a593Smuzhiyun the information of registers in the same order as described by reg-names 10*4882a593Smuzhiyun- reg-names: Should contain the reg names 11*4882a593Smuzhiyun "control_port": MAC configuration space region 12*4882a593Smuzhiyun "tx_csr": xDMA Tx dispatcher control and status space region 13*4882a593Smuzhiyun "tx_desc": MSGDMA Tx dispatcher descriptor space region 14*4882a593Smuzhiyun "rx_csr" : xDMA Rx dispatcher control and status space region 15*4882a593Smuzhiyun "rx_desc": MSGDMA Rx dispatcher descriptor space region 16*4882a593Smuzhiyun "rx_resp": MSGDMA Rx dispatcher response space region 17*4882a593Smuzhiyun "s1": SGDMA descriptor memory 18*4882a593Smuzhiyun- interrupts: Should contain the TSE interrupts and it's mode. 19*4882a593Smuzhiyun- interrupt-names: Should contain the interrupt names 20*4882a593Smuzhiyun "rx_irq": xDMA Rx dispatcher interrupt 21*4882a593Smuzhiyun "tx_irq": xDMA Tx dispatcher interrupt 22*4882a593Smuzhiyun- rx-fifo-depth: MAC receive FIFO buffer depth in bytes 23*4882a593Smuzhiyun- tx-fifo-depth: MAC transmit FIFO buffer depth in bytes 24*4882a593Smuzhiyun- phy-mode: See ethernet.txt in the same directory. 25*4882a593Smuzhiyun- phy-handle: See ethernet.txt in the same directory. 26*4882a593Smuzhiyun- phy-addr: See ethernet.txt in the same directory. A configuration should 27*4882a593Smuzhiyun include phy-handle or phy-addr. 28*4882a593Smuzhiyun- altr,has-supplementary-unicast: 29*4882a593Smuzhiyun If present, TSE supports additional unicast addresses. 30*4882a593Smuzhiyun Otherwise additional unicast addresses are not supported. 31*4882a593Smuzhiyun- altr,has-hash-multicast-filter: 32*4882a593Smuzhiyun If present, TSE supports a hash based multicast filter. 33*4882a593Smuzhiyun Otherwise, hash-based multicast filtering is not supported. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun- mdio device tree subnode: When the TSE has a phy connected to its local 36*4882a593Smuzhiyun mdio, there must be device tree subnode with the following 37*4882a593Smuzhiyun required properties: 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun - compatible: Must be "altr,tse-mdio". 40*4882a593Smuzhiyun - #address-cells: Must be <1>. 41*4882a593Smuzhiyun - #size-cells: Must be <0>. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun For each phy on the mdio bus, there must be a node with the following 44*4882a593Smuzhiyun fields: 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun - reg: phy id used to communicate to phy. 47*4882a593Smuzhiyun - device_type: Must be "ethernet-phy". 48*4882a593Smuzhiyun 49*4882a593SmuzhiyunThe MAC address will be determined using the optional properties defined in 50*4882a593Smuzhiyunethernet.txt. 51*4882a593Smuzhiyun 52*4882a593SmuzhiyunExample: 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun tse_sub_0_eth_tse_0: ethernet@1,00000000 { 55*4882a593Smuzhiyun compatible = "altr,tse-msgdma-1.0"; 56*4882a593Smuzhiyun reg = <0x00000001 0x00000000 0x00000400>, 57*4882a593Smuzhiyun <0x00000001 0x00000460 0x00000020>, 58*4882a593Smuzhiyun <0x00000001 0x00000480 0x00000020>, 59*4882a593Smuzhiyun <0x00000001 0x000004A0 0x00000008>, 60*4882a593Smuzhiyun <0x00000001 0x00000400 0x00000020>, 61*4882a593Smuzhiyun <0x00000001 0x00000420 0x00000020>; 62*4882a593Smuzhiyun reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc"; 63*4882a593Smuzhiyun interrupt-parent = <&hps_0_arm_gic_0>; 64*4882a593Smuzhiyun interrupts = <0 41 4>, <0 40 4>; 65*4882a593Smuzhiyun interrupt-names = "rx_irq", "tx_irq"; 66*4882a593Smuzhiyun rx-fifo-depth = <2048>; 67*4882a593Smuzhiyun tx-fifo-depth = <2048>; 68*4882a593Smuzhiyun address-bits = <48>; 69*4882a593Smuzhiyun max-frame-size = <1500>; 70*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 71*4882a593Smuzhiyun phy-mode = "gmii"; 72*4882a593Smuzhiyun altr,has-supplementary-unicast; 73*4882a593Smuzhiyun altr,has-hash-multicast-filter; 74*4882a593Smuzhiyun phy-handle = <&phy0>; 75*4882a593Smuzhiyun mdio { 76*4882a593Smuzhiyun compatible = "altr,tse-mdio"; 77*4882a593Smuzhiyun #address-cells = <1>; 78*4882a593Smuzhiyun #size-cells = <0>; 79*4882a593Smuzhiyun phy0: ethernet-phy@0 { 80*4882a593Smuzhiyun reg = <0x0>; 81*4882a593Smuzhiyun device_type = "ethernet-phy"; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun phy1: ethernet-phy@1 { 85*4882a593Smuzhiyun reg = <0x1>; 86*4882a593Smuzhiyun device_type = "ethernet-phy"; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun tse_sub_1_eth_tse_0: ethernet@1,00001000 { 93*4882a593Smuzhiyun compatible = "altr,tse-msgdma-1.0"; 94*4882a593Smuzhiyun reg = <0x00000001 0x00001000 0x00000400>, 95*4882a593Smuzhiyun <0x00000001 0x00001460 0x00000020>, 96*4882a593Smuzhiyun <0x00000001 0x00001480 0x00000020>, 97*4882a593Smuzhiyun <0x00000001 0x000014A0 0x00000008>, 98*4882a593Smuzhiyun <0x00000001 0x00001400 0x00000020>, 99*4882a593Smuzhiyun <0x00000001 0x00001420 0x00000020>; 100*4882a593Smuzhiyun reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc"; 101*4882a593Smuzhiyun interrupt-parent = <&hps_0_arm_gic_0>; 102*4882a593Smuzhiyun interrupts = <0 43 4>, <0 42 4>; 103*4882a593Smuzhiyun interrupt-names = "rx_irq", "tx_irq"; 104*4882a593Smuzhiyun rx-fifo-depth = <2048>; 105*4882a593Smuzhiyun tx-fifo-depth = <2048>; 106*4882a593Smuzhiyun address-bits = <48>; 107*4882a593Smuzhiyun max-frame-size = <1500>; 108*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 109*4882a593Smuzhiyun phy-mode = "gmii"; 110*4882a593Smuzhiyun altr,has-supplementary-unicast; 111*4882a593Smuzhiyun altr,has-hash-multicast-filter; 112*4882a593Smuzhiyun phy-handle = <&phy1>; 113*4882a593Smuzhiyun }; 114