diff options
Diffstat (limited to 'Documentation/networking/stmmac.txt')
-rw-r--r-- | Documentation/networking/stmmac.txt | 45 |
1 files changed, 39 insertions, 6 deletions
diff --git a/Documentation/networking/stmmac.txt b/Documentation/networking/stmmac.txt index f9fa6db40a52..654d2e55c8cb 100644 --- a/Documentation/networking/stmmac.txt +++ b/Documentation/networking/stmmac.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | STMicroelectronics 10/100/1000 Synopsys Ethernet driver | 1 | STMicroelectronics 10/100/1000 Synopsys Ethernet driver |
2 | 2 | ||
3 | Copyright (C) 2007-2010 STMicroelectronics Ltd | 3 | Copyright (C) 2007-2013 STMicroelectronics Ltd |
4 | Author: Giuseppe Cavallaro <peppe.cavallaro@st.com> | 4 | Author: Giuseppe Cavallaro <peppe.cavallaro@st.com> |
5 | 5 | ||
6 | This is the driver for the MAC 10/100/1000 on-chip Ethernet controllers | 6 | This is the driver for the MAC 10/100/1000 on-chip Ethernet controllers |
@@ -10,7 +10,7 @@ Currently this network device driver is for all STM embedded MAC/GMAC | |||
10 | (i.e. 7xxx/5xxx SoCs), SPEAr (arm), Loongson1B (mips) and XLINX XC2V3000 | 10 | (i.e. 7xxx/5xxx SoCs), SPEAr (arm), Loongson1B (mips) and XLINX XC2V3000 |
11 | FF1152AMT0221 D1215994A VIRTEX FPGA board. | 11 | FF1152AMT0221 D1215994A VIRTEX FPGA board. |
12 | 12 | ||
13 | DWC Ether MAC 10/100/1000 Universal version 3.60a (and older) and DWC Ether | 13 | DWC Ether MAC 10/100/1000 Universal version 3.70a (and older) and DWC Ether |
14 | MAC 10/100 Universal version 4.0 have been used for developing this driver. | 14 | MAC 10/100 Universal version 4.0 have been used for developing this driver. |
15 | 15 | ||
16 | This driver supports both the platform bus and PCI. | 16 | This driver supports both the platform bus and PCI. |
@@ -32,6 +32,8 @@ The kernel configuration option is STMMAC_ETH: | |||
32 | watchdog: transmit timeout (in milliseconds); | 32 | watchdog: transmit timeout (in milliseconds); |
33 | flow_ctrl: Flow control ability [on/off]; | 33 | flow_ctrl: Flow control ability [on/off]; |
34 | pause: Flow Control Pause Time; | 34 | pause: Flow Control Pause Time; |
35 | eee_timer: tx EEE timer; | ||
36 | chain_mode: select chain mode instead of ring. | ||
35 | 37 | ||
36 | 3) Command line options | 38 | 3) Command line options |
37 | Driver parameters can be also passed in command line by using: | 39 | Driver parameters can be also passed in command line by using: |
@@ -164,12 +166,12 @@ Where: | |||
164 | o bus_setup: perform HW setup of the bus. For example, on some ST platforms | 166 | o bus_setup: perform HW setup of the bus. For example, on some ST platforms |
165 | this field is used to configure the AMBA bridge to generate more | 167 | this field is used to configure the AMBA bridge to generate more |
166 | efficient STBus traffic. | 168 | efficient STBus traffic. |
167 | o init/exit: callbacks used for calling a custom initialisation; | 169 | o init/exit: callbacks used for calling a custom initialization; |
168 | this is sometime necessary on some platforms (e.g. ST boxes) | 170 | this is sometime necessary on some platforms (e.g. ST boxes) |
169 | where the HW needs to have set some PIO lines or system cfg | 171 | where the HW needs to have set some PIO lines or system cfg |
170 | registers. | 172 | registers. |
171 | o custom_cfg/custom_data: this is a custom configuration that can be passed | 173 | o custom_cfg/custom_data: this is a custom configuration that can be passed |
172 | while initialising the resources. | 174 | while initializing the resources. |
173 | o bsp_priv: another private poiter. | 175 | o bsp_priv: another private poiter. |
174 | 176 | ||
175 | For MDIO bus The we have: | 177 | For MDIO bus The we have: |
@@ -273,6 +275,8 @@ reset procedure etc). | |||
273 | o norm_desc.c: functions for handling normal descriptors; | 275 | o norm_desc.c: functions for handling normal descriptors; |
274 | o chain_mode.c/ring_mode.c:: functions to manage RING/CHAINED modes; | 276 | o chain_mode.c/ring_mode.c:: functions to manage RING/CHAINED modes; |
275 | o mmc_core.c/mmc.h: Management MAC Counters; | 277 | o mmc_core.c/mmc.h: Management MAC Counters; |
278 | o stmmac_hwtstamp.c: HW timestamp support for PTP | ||
279 | o stmmac_ptp.c: PTP 1588 clock | ||
276 | 280 | ||
277 | 5) Debug Information | 281 | 5) Debug Information |
278 | 282 | ||
@@ -326,6 +330,35 @@ To enter in Tx LPI mode the driver needs to have a software timer | |||
326 | that enable and disable the LPI mode when there is nothing to be | 330 | that enable and disable the LPI mode when there is nothing to be |
327 | transmitted. | 331 | transmitted. |
328 | 332 | ||
329 | 7) TODO: | 333 | 7) Extended descriptors |
334 | The extended descriptors give us information about the receive Ethernet payload | ||
335 | when it is carrying PTP packets or TCP/UDP/ICMP over IP. | ||
336 | These are not available on GMAC Synopsys chips older than the 3.50. | ||
337 | At probe time the driver will decide if these can be actually used. | ||
338 | This support also is mandatory for PTPv2 because the extra descriptors 6 and 7 | ||
339 | are used for saving the hardware timestamps. | ||
340 | |||
341 | 8) Precision Time Protocol (PTP) | ||
342 | The driver supports the IEEE 1588-2002, Precision Time Protocol (PTP), | ||
343 | which enables precise synchronization of clocks in measurement and | ||
344 | control systems implemented with technologies such as network | ||
345 | communication. | ||
346 | |||
347 | In addition to the basic timestamp features mentioned in IEEE 1588-2002 | ||
348 | Timestamps, new GMAC cores support the advanced timestamp features. | ||
349 | IEEE 1588-2008 that can be enabled when configure the Kernel. | ||
350 | |||
351 | 9) SGMII/RGMII supports | ||
352 | New GMAC devices provide own way to manage RGMII/SGMII. | ||
353 | This information is available at run-time by looking at the | ||
354 | HW capability register. This means that the stmmac can manage | ||
355 | auto-negotiation and link status w/o using the PHYLIB stuff | ||
356 | In fact, the HW provides a subset of extended registers to | ||
357 | restart the ANE, verify Full/Half duplex mode and Speed. | ||
358 | Also thanks to these registers it is possible to look at the | ||
359 | Auto-negotiated Link Parter Ability. | ||
360 | |||
361 | 10) TODO: | ||
330 | o XGMAC is not supported. | 362 | o XGMAC is not supported. |
331 | o Add the PTP - precision time protocol | 363 | o Complete the TBI & RTBI support. |
364 | o extened VLAN support for 3.70a SYNP GMAC. | ||