1*4882a593Smuzhiyun* Freescale Fast Ethernet Controller (FEC) 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun- compatible : Should be "fsl,<soc>-fec" 5*4882a593Smuzhiyun- reg : Address and length of the register set for the device 6*4882a593Smuzhiyun- interrupts : Should contain fec interrupt 7*4882a593Smuzhiyun- phy-mode : See ethernet.txt file in the same directory 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunOptional properties: 10*4882a593Smuzhiyun- phy-supply : regulator that powers the Ethernet PHY. 11*4882a593Smuzhiyun- phy-handle : phandle to the PHY device connected to this device. 12*4882a593Smuzhiyun- fixed-link : Assume a fixed link. See fixed-link.txt in the same directory. 13*4882a593Smuzhiyun Use instead of phy-handle. 14*4882a593Smuzhiyun- fsl,num-tx-queues : The property is valid for enet-avb IP, which supports 15*4882a593Smuzhiyun hw multi queues. Should specify the tx queue number, otherwise set tx queue 16*4882a593Smuzhiyun number to 1. 17*4882a593Smuzhiyun- fsl,num-rx-queues : The property is valid for enet-avb IP, which supports 18*4882a593Smuzhiyun hw multi queues. Should specify the rx queue number, otherwise set rx queue 19*4882a593Smuzhiyun number to 1. 20*4882a593Smuzhiyun- fsl,magic-packet : If present, indicates that the hardware supports waking 21*4882a593Smuzhiyun up via magic packet. 22*4882a593Smuzhiyun- fsl,err006687-workaround-present: If present indicates that the system has 23*4882a593Smuzhiyun the hardware workaround for ERR006687 applied and does not need a software 24*4882a593Smuzhiyun workaround. 25*4882a593Smuzhiyun- fsl,stop-mode: register bits of stop mode control, the format is 26*4882a593Smuzhiyun <&gpr req_gpr req_bit>. 27*4882a593Smuzhiyun gpr is the phandle to general purpose register node. 28*4882a593Smuzhiyun req_gpr is the gpr register offset for ENET stop request. 29*4882a593Smuzhiyun req_bit is the gpr bit offset for ENET stop request. 30*4882a593Smuzhiyun -interrupt-names: names of the interrupts listed in interrupts property in 31*4882a593Smuzhiyun the same order. The defaults if not specified are 32*4882a593Smuzhiyun __Number of interrupts__ __Default__ 33*4882a593Smuzhiyun 1 "int0" 34*4882a593Smuzhiyun 2 "int0", "pps" 35*4882a593Smuzhiyun 3 "int0", "int1", "int2" 36*4882a593Smuzhiyun 4 "int0", "int1", "int2", "pps" 37*4882a593Smuzhiyun The order may be changed as long as they correspond to the interrupts 38*4882a593Smuzhiyun property. Currently, only i.mx7 uses "int1" and "int2". They correspond to 39*4882a593Smuzhiyun tx/rx queues 1 and 2. "int0" will be used for queue 0 and ENET_MII interrupts. 40*4882a593Smuzhiyun For imx6sx, "int0" handles all 3 queues and ENET_MII. "pps" is for the pulse 41*4882a593Smuzhiyun per second interrupt associated with 1588 precision time protocol(PTP). 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunOptional subnodes: 44*4882a593Smuzhiyun- mdio : specifies the mdio bus in the FEC, used as a container for phy nodes 45*4882a593Smuzhiyun according to phy.txt in the same directory 46*4882a593Smuzhiyun 47*4882a593SmuzhiyunDeprecated optional properties: 48*4882a593Smuzhiyun To avoid these, create a phy node according to phy.txt in the same 49*4882a593Smuzhiyun directory, and point the fec's "phy-handle" property to it. Then use 50*4882a593Smuzhiyun the phy's reset binding, again described by phy.txt. 51*4882a593Smuzhiyun- phy-reset-gpios : Should specify the gpio for phy reset 52*4882a593Smuzhiyun- phy-reset-duration : Reset duration in milliseconds. Should present 53*4882a593Smuzhiyun only if property "phy-reset-gpios" is available. Missing the property 54*4882a593Smuzhiyun will have the duration be 1 millisecond. Numbers greater than 1000 are 55*4882a593Smuzhiyun invalid and 1 millisecond will be used instead. 56*4882a593Smuzhiyun- phy-reset-active-high : If present then the reset sequence using the GPIO 57*4882a593Smuzhiyun specified in the "phy-reset-gpios" property is reversed (H=reset state, 58*4882a593Smuzhiyun L=operation state). 59*4882a593Smuzhiyun- phy-reset-post-delay : Post reset delay in milliseconds. If present then 60*4882a593Smuzhiyun a delay of phy-reset-post-delay milliseconds will be observed after the 61*4882a593Smuzhiyun phy-reset-gpios has been toggled. Can be omitted thus no delay is 62*4882a593Smuzhiyun observed. Delay is in range of 1ms to 1000ms. Other delays are invalid. 63*4882a593Smuzhiyun 64*4882a593SmuzhiyunExample: 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunethernet@83fec000 { 67*4882a593Smuzhiyun compatible = "fsl,imx51-fec", "fsl,imx27-fec"; 68*4882a593Smuzhiyun reg = <0x83fec000 0x4000>; 69*4882a593Smuzhiyun interrupts = <87>; 70*4882a593Smuzhiyun phy-mode = "mii"; 71*4882a593Smuzhiyun phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; /* GPIO2_14 */ 72*4882a593Smuzhiyun local-mac-address = [00 04 9F 01 1B B9]; 73*4882a593Smuzhiyun phy-supply = <®_fec_supply>; 74*4882a593Smuzhiyun}; 75*4882a593Smuzhiyun 76*4882a593SmuzhiyunExample with phy specified: 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunethernet@83fec000 { 79*4882a593Smuzhiyun compatible = "fsl,imx51-fec", "fsl,imx27-fec"; 80*4882a593Smuzhiyun reg = <0x83fec000 0x4000>; 81*4882a593Smuzhiyun interrupts = <87>; 82*4882a593Smuzhiyun phy-mode = "mii"; 83*4882a593Smuzhiyun phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>; /* GPIO2_14 */ 84*4882a593Smuzhiyun local-mac-address = [00 04 9F 01 1B B9]; 85*4882a593Smuzhiyun phy-supply = <®_fec_supply>; 86*4882a593Smuzhiyun phy-handle = <ðphy>; 87*4882a593Smuzhiyun mdio { 88*4882a593Smuzhiyun clock-frequency = <5000000>; 89*4882a593Smuzhiyun ethphy: ethernet-phy@6 { 90*4882a593Smuzhiyun compatible = "ethernet-phy-ieee802.3-c22"; 91*4882a593Smuzhiyun reg = <6>; 92*4882a593Smuzhiyun max-speed = <100>; 93*4882a593Smuzhiyun }; 94*4882a593Smuzhiyun }; 95*4882a593Smuzhiyun}; 96