Commit e8f08ee0 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by David S. Miller

DT: net: document Ethernet bindings in one place

This patch is an attempt to gather the Ethernet related bindings in one file,
like it's done in the MMC and some other subsystems. It should save some of
the trouble of documenting several properties over and over in each binding
document, instead only making reference to the main file.

I have used the Embedded Power Architecture(TM) Platform Requirements (ePAPR)
standard as a base for the properties description, also documenting some ad-hoc
properties that have been introduced over time despite having direct analogs in
ePAPR.
Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6df3efcc
...@@ -5,13 +5,9 @@ Required properties: ...@@ -5,13 +5,9 @@ Required properties:
"allwinner,sun4i-emac") "allwinner,sun4i-emac")
- reg: address and length of the register set for the device. - reg: address and length of the register set for the device.
- interrupts: interrupt for the device - interrupts: interrupt for the device
- phy: A phandle to a phy node defining the PHY address (as the reg - phy: see ethernet.txt file in the same directory.
property, a single integer).
- clocks: A phandle to the reference clock for this device - clocks: A phandle to the reference clock for this device
Optional properties:
- (local-)mac-address: mac address to be used by this driver
Example: Example:
emac: ethernet@01c0b000 { emac: ethernet@01c0b000 {
......
...@@ -6,19 +6,12 @@ Required properties: ...@@ -6,19 +6,12 @@ Required properties:
- interrupts: Should contain the EMAC interrupts - interrupts: Should contain the EMAC interrupts
- clock-frequency: CPU frequency. It is needed to calculate and set polling - clock-frequency: CPU frequency. It is needed to calculate and set polling
period of EMAC. period of EMAC.
- max-speed: Maximum supported data-rate in Mbit/s. In some HW configurations - max-speed: see ethernet.txt file in the same directory.
bandwidth of external memory controller might be a limiting factor. That's why - phy: see ethernet.txt file in the same directory.
it's required to specify which data-rate is supported on current SoC or FPGA.
For example if only 10 Mbit/s is supported (10BASE-T) set "10". If 100 Mbit/s is
supported (100BASE-TX) set "100".
- phy: PHY device attached to the EMAC via MDIO bus
Child nodes of the driver are the individual PHY devices connected to the Child nodes of the driver are the individual PHY devices connected to the
MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus.
Optional properties:
- mac-address: 6 bytes, mac address
Examples: Examples:
ethernet@c0fc2000 { ethernet@c0fc2000 {
......
...@@ -7,9 +7,7 @@ Required properties: ...@@ -7,9 +7,7 @@ Required properties:
- interrupts: must be two cells, the first cell is the general purpose - interrupts: must be two cells, the first cell is the general purpose
interrupt line, while the second cell is the interrupt for the ring interrupt line, while the second cell is the interrupt for the ring
RX and TX queues operating in ring mode RX and TX queues operating in ring mode
- phy-mode: String, operation mode of the PHY interface. Supported values are - phy-mode: see ethernet.txt file in the same directory
"mii", "rgmii", "rgmii-txid", "rev-mii", "moca". Analogous to ePAPR
"phy-connection-type" values
- address-cells: should be 1 - address-cells: should be 1
- size-cells: should be 1 - size-cells: should be 1
...@@ -20,9 +18,8 @@ Optional properties: ...@@ -20,9 +18,8 @@ Optional properties:
- clock-names: When provided, names of the functional clock phandles, first - clock-names: When provided, names of the functional clock phandles, first
name should be "enet" and second should be "enet-wol". name should be "enet" and second should be "enet-wol".
- phy-handle: A phandle to a phy node defining the PHY address (as the reg - phy-handle: See ethernet.txt file in the same directory; used to describe
property, a single integer), used to describe configurations where a PHY configurations where a PHY (internal or external) is used.
(internal or external) is used.
- fixed-link: When the GENET interface is connected to a MoCA hardware block or - fixed-link: When the GENET interface is connected to a MoCA hardware block or
when operating in a RGMII to RGMII type of connection, or when the MDIO bus is when operating in a RGMII to RGMII type of connection, or when the MDIO bus is
......
...@@ -18,12 +18,7 @@ Properties: ...@@ -18,12 +18,7 @@ Properties:
- interrupts: Two interrupt specifiers. The first is the MIX - interrupts: Two interrupt specifiers. The first is the MIX
interrupt routing and the second the routing for the AGL interrupts. interrupt routing and the second the routing for the AGL interrupts.
- mac-address: Optional, the MAC address to assign to the device. - phy-handle: Optional, see ethernet.txt file in the same directory.
- local-mac-address: Optional, the MAC address to assign to the device
if mac-address is not specified.
- phy-handle: Optional, a phandle for the PHY device connected to this device.
Example: Example:
ethernet@1070000100800 { ethernet@1070000100800 {
......
...@@ -35,12 +35,7 @@ Properties for PIP port which is a child the PIP interface: ...@@ -35,12 +35,7 @@ Properties for PIP port which is a child the PIP interface:
- reg: The port number within the interface group. - reg: The port number within the interface group.
- mac-address: Optional, the MAC address to assign to the device. - phy-handle: Optional, see ethernet.txt file in the same directory.
- local-mac-address: Optional, the MAC address to assign to the device
if mac-address is not specified.
- phy-handle: Optional, a phandle for the PHY device connected to this device.
Example: Example:
......
...@@ -6,11 +6,7 @@ Required properties: ...@@ -6,11 +6,7 @@ Required properties:
or the generic form: "cdns,emac". or the generic form: "cdns,emac".
- reg: Address and length of the register set for the device - reg: Address and length of the register set for the device
- interrupts: Should contain macb interrupt - interrupts: Should contain macb interrupt
- phy-mode: String, operation mode of the PHY interface. - phy-mode: see ethernet.txt file in the same directory.
Supported values are: "mii", "rmii".
Optional properties:
- local-mac-address: 6 bytes, mac address
Examples: Examples:
......
...@@ -28,9 +28,8 @@ Optional properties: ...@@ -28,9 +28,8 @@ Optional properties:
Slave Properties: Slave Properties:
Required properties: Required properties:
- phy_id : Specifies slave phy id - phy_id : Specifies slave phy id
- phy-mode : The interface between the SoC and the PHY (a string - phy-mode : See ethernet.txt file in the same directory
that of_get_phy_mode() can understand) - mac-address : See ethernet.txt file in the same directory
- mac-address : Specifies slave MAC address
Optional properties: Optional properties:
- dual_emac_res_vlan : Specifies VID to be used to segregate the ports - dual_emac_res_vlan : Specifies VID to be used to segregate the ports
......
...@@ -9,8 +9,6 @@ Required properties: ...@@ -9,8 +9,6 @@ Required properties:
- interrupts : interrupt specifier specific to interrupt controller - interrupts : interrupt specifier specific to interrupt controller
Optional properties: Optional properties:
- local-mac-address : A bytestring of 6 bytes specifying Ethernet MAC address
to use (from firmware or bootloader)
- davicom,no-eeprom : Configuration EEPROM is not available - davicom,no-eeprom : Configuration EEPROM is not available
- davicom,ext-phy : Use external PHY - davicom,ext-phy : Use external PHY
......
...@@ -17,9 +17,8 @@ Required properties: ...@@ -17,9 +17,8 @@ Required properties:
Miscellaneous Interrupt> Miscellaneous Interrupt>
Optional properties: Optional properties:
- phy-handle: Contains a phandle to an Ethernet PHY. - phy-handle: See ethernet.txt file in the same directory.
If absent, davinci_emac driver defaults to 100/FULL. If absent, davinci_emac driver defaults to 100/FULL.
- local-mac-address : 6 bytes, mac address
- ti,davinci-rmii-en: 1 byte, 1 means use RMII - ti,davinci-rmii-en: 1 byte, 1 means use RMII
- ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM? - ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM?
......
The following properties are common to the Ethernet controllers:
- local-mac-address: array of 6 bytes, specifies the MAC address that was
assigned to the network device;
- mac-address: array of 6 bytes, specifies the MAC address that was last used by
the boot program; should be used in cases where the MAC address assigned to
the device by the boot program is different from the "local-mac-address"
property;
- max-speed: number, specifies maximum speed in Mbit/s supported by the device;
- max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than
the maximum frame size (there's contradiction in ePAPR).
- phy-mode: string, operation mode of the PHY interface; supported values are
"mii", "gmii", "sgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id",
"rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a de-facto
standard property;
- phy-connection-type: the same as "phy-mode" property but described in ePAPR;
- phy-handle: phandle, specifies a reference to a node representing a PHY
device; this property is described in ePAPR and so preferred;
- phy: the same as "phy-handle" property, not recommended for new bindings.
- phy-device: the same as "phy-handle" property, not recommended for new
bindings.
Child nodes of the Ethernet controller are typically the individual PHY devices
connected via the MDIO bus (sometimes the MDIO bus controller is separate).
They are described in the phy.txt file in this same directory.
...@@ -4,12 +4,9 @@ Required properties: ...@@ -4,12 +4,9 @@ Required properties:
- compatible : Should be "fsl,<soc>-fec" - compatible : Should be "fsl,<soc>-fec"
- reg : Address and length of the register set for the device - reg : Address and length of the register set for the device
- interrupts : Should contain fec interrupt - interrupts : Should contain fec interrupt
- phy-mode : String, operation mode of the PHY interface. - phy-mode : See ethernet.txt file in the same directory
Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii",
"rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii".
Optional properties: Optional properties:
- local-mac-address : 6 bytes, mac address
- phy-reset-gpios : Should specify the gpio for phy reset - phy-reset-gpios : Should specify the gpio for phy reset
- phy-reset-duration : Reset duration in milliseconds. Should present - phy-reset-duration : Reset duration in milliseconds. Should present
only if property "phy-reset-gpios" is available. Missing the property only if property "phy-reset-gpios" is available. Missing the property
......
...@@ -38,22 +38,17 @@ Properties: ...@@ -38,22 +38,17 @@ Properties:
- model : Model of the device. Can be "TSEC", "eTSEC", or "FEC" - model : Model of the device. Can be "TSEC", "eTSEC", or "FEC"
- compatible : Should be "gianfar" - compatible : Should be "gianfar"
- reg : Offset and length of the register set for the device - reg : Offset and length of the register set for the device
- local-mac-address : List of bytes representing the ethernet address of
this controller
- interrupts : For FEC devices, the first interrupt is the device's - interrupts : For FEC devices, the first interrupt is the device's
interrupt. For TSEC and eTSEC devices, the first interrupt is interrupt. For TSEC and eTSEC devices, the first interrupt is
transmit, the second is receive, and the third is error. transmit, the second is receive, and the third is error.
- phy-handle : The phandle for the PHY connected to this ethernet - phy-handle : See ethernet.txt file in the same directory.
controller.
- fixed-link : <a b c d e> where a is emulated phy id - choose any, - fixed-link : <a b c d e> where a is emulated phy id - choose any,
but unique to the all specified fixed-links, b is duplex - 0 half, but unique to the all specified fixed-links, b is duplex - 0 half,
1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no 1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no
pause, 1 pause, e is asym_pause - 0 no asym_pause, 1 asym_pause. pause, 1 pause, e is asym_pause - 0 no asym_pause, 1 asym_pause.
- phy-connection-type : a string naming the controller/PHY interface type, - phy-connection-type : See ethernet.txt file in the same directory.
i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii", This property is only really needed if the connection is of type
"tbi", or "rtbi". This property is only really needed if the connection "rgmii-id", as all other connection types are detected by hardware.
is of type "rgmii-id", as all other connection types are detected by
hardware.
- fsl,magic-packet : If present, indicates that the hardware supports - fsl,magic-packet : If present, indicates that the hardware supports
waking up via magic packet. waking up via magic packet.
- bd-stash : If present, indicates that the hardware supports stashing - bd-stash : If present, indicates that the hardware supports stashing
......
...@@ -6,10 +6,9 @@ Required properties: ...@@ -6,10 +6,9 @@ Required properties:
- interrupts: Should contain ethernet controller interrupt - interrupts: Should contain ethernet controller interrupt
Optional properties: Optional properties:
- phy-mode: String, operation mode of the PHY interface. - phy-mode: See ethernet.txt file in the same directory. If the property is
Supported values are: "mii", "rmii" (default) absent, "rmii" is assumed.
- use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering - use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering
- local-mac-address : 6 bytes, mac address
Example: Example:
......
...@@ -8,16 +8,12 @@ Required properties: ...@@ -8,16 +8,12 @@ Required properties:
the Cadence GEM, or the generic form: "cdns,gem". the Cadence GEM, or the generic form: "cdns,gem".
- reg: Address and length of the register set for the device - reg: Address and length of the register set for the device
- interrupts: Should contain macb interrupt - interrupts: Should contain macb interrupt
- phy-mode: String, operation mode of the PHY interface. - phy-mode: See ethernet.txt file in the same directory.
Supported values are: "mii", "rmii", "gmii", "rgmii".
- clock-names: Tuple listing input clock names. - clock-names: Tuple listing input clock names.
Required elements: 'pclk', 'hclk' Required elements: 'pclk', 'hclk'
Optional elements: 'tx_clk' Optional elements: 'tx_clk'
- clocks: Phandles to input clocks. - clocks: Phandles to input clocks.
Optional properties:
- local-mac-address: 6 bytes, mac address
Examples: Examples:
macb0: ethernet@fffc4000 { macb0: ethernet@fffc4000 {
......
...@@ -4,10 +4,8 @@ Required properties: ...@@ -4,10 +4,8 @@ Required properties:
- compatible: should be "marvell,armada-370-neta". - compatible: should be "marvell,armada-370-neta".
- reg: address and length of the register set for the device. - reg: address and length of the register set for the device.
- interrupts: interrupt for the device - interrupts: interrupt for the device
- phy: A phandle to a phy node defining the PHY address (as the reg - phy: See ethernet.txt file in the same directory.
property, a single integer). - phy-mode: See ethernet.txt file in the same directory
- phy-mode: The interface between the SoC and the PHY (a string that
of_get_phy_mode() can understand)
- clocks: a pointer to the reference clock for this device. - clocks: a pointer to the reference clock for this device.
Example: Example:
......
...@@ -36,7 +36,7 @@ Required port properties: ...@@ -36,7 +36,7 @@ Required port properties:
"marvell,kirkwood-eth-port". "marvell,kirkwood-eth-port".
- reg: port number relative to ethernet controller, shall be 0, 1, or 2. - reg: port number relative to ethernet controller, shall be 0, 1, or 2.
- interrupts: port interrupt. - interrupts: port interrupt.
- local-mac-address: 6 bytes MAC address. - local-mac-address: See ethernet.txt file in the same directory.
Optional port properties: Optional port properties:
- marvell,tx-queue-size: size of the transmit ring buffer. - marvell,tx-queue-size: size of the transmit ring buffer.
...@@ -48,7 +48,7 @@ Optional port properties: ...@@ -48,7 +48,7 @@ Optional port properties:
and and
- phy-handle: phandle reference to ethernet PHY. - phy-handle: See ethernet.txt file in the same directory.
or or
......
...@@ -4,6 +4,3 @@ Required properties: ...@@ -4,6 +4,3 @@ Required properties:
- compatible = "micrel,ks8851-ml" of parallel interface - compatible = "micrel,ks8851-ml" of parallel interface
- reg : 2 physical address and size of registers for data and command - reg : 2 physical address and size of registers for data and command
- interrupts : interrupt connection - interrupts : interrupt connection
Optional properties:
- local-mac-address : Ethernet mac address to use
...@@ -6,8 +6,7 @@ Required properties: ...@@ -6,8 +6,7 @@ Required properties:
- interrupts : interrupt connection - interrupts : interrupt connection
Optional properties: Optional properties:
- phy-device : phandle to Ethernet phy - phy-device : see ethernet.txt file in the same directory
- local-mac-address : Ethernet mac address to use
- reg-io-width : Mask of sizes (in bytes) of the IO accesses that - reg-io-width : Mask of sizes (in bytes) of the IO accesses that
are supported on the device. Valid value for SMSC LAN91c111 are are supported on the device. Valid value for SMSC LAN91c111 are
1, 2 or 4. If it's omitted or invalid, the size would be 2 meaning 1, 2 or 4. If it's omitted or invalid, the size would be 2 meaning
......
...@@ -6,9 +6,7 @@ Required properties: ...@@ -6,9 +6,7 @@ Required properties:
- interrupts : Should contain SMSC LAN interrupt line - interrupts : Should contain SMSC LAN interrupt line
- interrupt-parent : Should be the phandle for the interrupt controller - interrupt-parent : Should be the phandle for the interrupt controller
that services interrupts for this device that services interrupts for this device
- phy-mode : String, operation mode of the PHY interface. - phy-mode : See ethernet.txt file in the same directory
Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii",
"rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii".
Optional properties: Optional properties:
- reg-shift : Specify the quantity to shift the register offsets by - reg-shift : Specify the quantity to shift the register offsets by
...@@ -23,7 +21,6 @@ Optional properties: ...@@ -23,7 +21,6 @@ Optional properties:
external PHY external PHY
- smsc,save-mac-address : Indicates that mac address needs to be saved - smsc,save-mac-address : Indicates that mac address needs to be saved
before resetting the controller before resetting the controller
- local-mac-address : 6 bytes, mac address
Examples: Examples:
......
...@@ -10,8 +10,7 @@ Required properties: ...@@ -10,8 +10,7 @@ Required properties:
- interrupt-names: Should contain the interrupt names "macirq" - interrupt-names: Should contain the interrupt names "macirq"
"eth_wake_irq" if this interrupt is supported in the "interrupts" "eth_wake_irq" if this interrupt is supported in the "interrupts"
property property
- phy-mode: String, operation mode of the PHY interface. - phy-mode: See ethernet.txt file in the same directory.
Supported values are: "mii", "rmii", "gmii", "rgmii".
- snps,reset-gpio gpio number for phy reset. - snps,reset-gpio gpio number for phy reset.
- snps,reset-active-low boolean flag to indicate if phy reset is active low. - snps,reset-active-low boolean flag to indicate if phy reset is active low.
- snps,reset-delays-us is triplet of delays - snps,reset-delays-us is triplet of delays
...@@ -28,12 +27,10 @@ Required properties: ...@@ -28,12 +27,10 @@ Required properties:
ignored if force_thresh_dma_mode is set. ignored if force_thresh_dma_mode is set.
Optional properties: Optional properties:
- mac-address: 6 bytes, mac address
- resets: Should contain a phandle to the STMMAC reset signal, if any - resets: Should contain a phandle to the STMMAC reset signal, if any
- reset-names: Should contain the reset signal name "stmmaceth", if a - reset-names: Should contain the reset signal name "stmmaceth", if a
reset phandle is given reset phandle is given
- max-frame-size: Maximum Transfer Unit (IEEE defined MTU), rather - max-frame-size: See ethernet.txt file in the same directory
than the maximum frame size.
Examples: Examples:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment