On Fri, Jan 17, 2014 at 7:05 PM, Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> wrote: > 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 the trouble > of documenting several properties over and over in each binding document. > > 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: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> > > --- > The patch is against DaveM's 'net-next.git' repo and the DaVinci EMAC bindings > fix I've posted yesterday: > > http://patchwork.ozlabs.org/patch/311854/ > > Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt | 5 -- > Documentation/devicetree/bindings/net/arc_emac.txt | 12 ------ > Documentation/devicetree/bindings/net/cavium-mix.txt | 7 --- > Documentation/devicetree/bindings/net/cavium-pip.txt | 7 --- > Documentation/devicetree/bindings/net/cdns-emac.txt | 5 -- > Documentation/devicetree/bindings/net/cpsw.txt | 3 - > Documentation/devicetree/bindings/net/davicom-dm9000.txt | 2 - > Documentation/devicetree/bindings/net/davinci_emac.txt | 4 -- > Documentation/devicetree/bindings/net/ethernet.txt | 20 ++++++++++ > Documentation/devicetree/bindings/net/fsl-fec.txt | 4 -- > Documentation/devicetree/bindings/net/fsl-tsec-phy.txt | 11 +---- > Documentation/devicetree/bindings/net/lpc-eth.txt | 4 -- > Documentation/devicetree/bindings/net/macb.txt | 5 -- > Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt | 4 -- > Documentation/devicetree/bindings/net/marvell-orion-net.txt | 3 - > Documentation/devicetree/bindings/net/micrel-ks8851.txt | 3 - > Documentation/devicetree/bindings/net/smsc-lan91c111.txt | 1 > Documentation/devicetree/bindings/net/smsc911x.txt | 4 -- > Documentation/devicetree/bindings/net/stmmac.txt | 5 -- > 19 files changed, 25 insertions(+), 84 deletions(-) > > Index: net-next/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt > +++ net-next/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt > @@ -4,13 +4,8 @@ Required properties: > - compatible: should be "allwinner,sun4i-emac". > - reg: address and length of the register set for the device. > - interrupts: interrupt for the device > -- phy: A phandle to a phy node defining the PHY address (as the reg > - property, a single integer). > - clocks: A phandle to the reference clock for this device > > -Optional properties: > -- (local-)mac-address: mac address to be used by this driver > - You should reference that this binding uses the common ethernet binding doc. > Example: > > emac: ethernet@01c0b000 { > Index: net-next/Documentation/devicetree/bindings/net/arc_emac.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/arc_emac.txt > +++ net-next/Documentation/devicetree/bindings/net/arc_emac.txt > @@ -6,18 +6,6 @@ Required properties: > - interrupts: Should contain the EMAC interrupts > - clock-frequency: CPU frequency. It is needed to calculate and set polling > period of EMAC. > -- max-speed: Maximum supported data-rate in Mbit/s. In some HW configurations > -bandwidth of external memory controller might be a limiting factor. That's why > -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 > -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: > > Index: net-next/Documentation/devicetree/bindings/net/cavium-mix.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/cavium-mix.txt > +++ net-next/Documentation/devicetree/bindings/net/cavium-mix.txt > @@ -18,13 +18,6 @@ Properties: > - interrupts: Two interrupt specifiers. The first is the MIX > interrupt routing and the second the routing for the AGL interrupts. > > -- mac-address: Optional, the MAC address to assign to the device. > - > -- 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: > ethernet@1070000100800 { > compatible = "cavium,octeon-5750-mix"; > Index: net-next/Documentation/devicetree/bindings/net/cavium-pip.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/cavium-pip.txt > +++ net-next/Documentation/devicetree/bindings/net/cavium-pip.txt > @@ -35,13 +35,6 @@ Properties for PIP port which is a child > > - reg: The port number within the interface group. > > -- mac-address: Optional, the MAC address to assign to the device. > - > -- 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: > > pip@11800a0000000 { > Index: net-next/Documentation/devicetree/bindings/net/cdns-emac.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/cdns-emac.txt > +++ net-next/Documentation/devicetree/bindings/net/cdns-emac.txt > @@ -6,11 +6,6 @@ Required properties: > or the generic form: "cdns,emac". > - reg: Address and length of the register set for the device > - interrupts: Should contain macb interrupt > -- phy-mode: String, operation mode of the PHY interface. > - Supported values are: "mii", "rmii". > - > -Optional properties: > -- local-mac-address: 6 bytes, mac address > > Examples: > > Index: net-next/Documentation/devicetree/bindings/net/cpsw.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/cpsw.txt > +++ net-next/Documentation/devicetree/bindings/net/cpsw.txt > @@ -28,9 +28,6 @@ Optional properties: > Slave Properties: > Required properties: > - phy_id : Specifies slave phy id > -- phy-mode : The interface between the SoC and the PHY (a string > - that of_get_phy_mode() can understand) > -- mac-address : Specifies slave MAC address > > Optional properties: > - dual_emac_res_vlan : Specifies VID to be used to segregate the ports > Index: net-next/Documentation/devicetree/bindings/net/davicom-dm9000.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/davicom-dm9000.txt > +++ net-next/Documentation/devicetree/bindings/net/davicom-dm9000.txt > @@ -9,8 +9,6 @@ Required properties: > - interrupts : interrupt specifier specific to interrupt controller > > 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,ext-phy : Use external PHY > > Index: net-next/Documentation/devicetree/bindings/net/davinci_emac.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/davinci_emac.txt > +++ net-next/Documentation/devicetree/bindings/net/davinci_emac.txt > @@ -19,9 +19,7 @@ Required properties: > Miscellaneous Interrupt> > > Optional properties: > -- phy-handle: Contains a phandle to an Ethernet PHY. > - If absent, davinci_emac driver defaults to 100/FULL. > -- local-mac-address : 6 bytes, mac address > +- phy-handle: If absent, davinci_emac driver defaults to 100/FULL. > > Example (enbw_cmc board): > eth0: emac@1e20000 { > Index: net-next/Documentation/devicetree/bindings/net/ethernet.txt > =================================================================== > --- /dev/null > +++ net-next/Documentation/devicetree/bindings/net/ethernet.txt > @@ -0,0 +1,20 @@ > +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; > +- 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"; Mark this as deprecated in favor of phy-connection-type so it's use does not spread. > +- 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); > +- phy: the same as "phy-handle" property (but actually ad-hoc one). Mark this as deprecated in favor of phy-handle. > + > +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. > Index: net-next/Documentation/devicetree/bindings/net/fsl-fec.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/fsl-fec.txt > +++ net-next/Documentation/devicetree/bindings/net/fsl-fec.txt > @@ -4,12 +4,8 @@ Required properties: > - compatible : Should be "fsl,<soc>-fec" > - reg : Address and length of the register set for the device > - interrupts : Should contain fec interrupt > -- phy-mode : String, operation mode of the PHY interface. > - Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii", > - "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii". > > Optional properties: > -- local-mac-address : 6 bytes, mac address > - phy-reset-gpios : Should specify the gpio for phy reset > - phy-reset-duration : Reset duration in milliseconds. Should present > only if property "phy-reset-gpios" is available. Missing the property > Index: net-next/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt > +++ net-next/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt > @@ -38,22 +38,15 @@ Properties: > - model : Model of the device. Can be "TSEC", "eTSEC", or "FEC" > - compatible : Should be "gianfar" > - 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 > interrupt. For TSEC and eTSEC devices, the first interrupt is > transmit, the second is receive, and the third is error. > - - phy-handle : The phandle for the PHY connected to this ethernet > - controller. > - 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, > 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. > - - phy-connection-type : a string naming the controller/PHY interface type, > - i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii", > - "tbi", or "rtbi". This property is only really needed if the connection > - is of type "rgmii-id", as all other connection types are detected by > - hardware. > + - phy-connection-type : only really needed if the connection is of type > + "rgmii-id", as all other connection types are detected by hardware. > - fsl,magic-packet : If present, indicates that the hardware supports > waking up via magic packet. > - bd-stash : If present, indicates that the hardware supports stashing > Index: net-next/Documentation/devicetree/bindings/net/lpc-eth.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/lpc-eth.txt > +++ net-next/Documentation/devicetree/bindings/net/lpc-eth.txt > @@ -6,10 +6,8 @@ Required properties: > - interrupts: Should contain ethernet controller interrupt > > Optional properties: > -- phy-mode: String, operation mode of the PHY interface. > - Supported values are: "mii", "rmii" (default) > +- phy-mode: if absent, "rmii" is assumed. > - use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering > -- local-mac-address : 6 bytes, mac address > > Example: > > Index: net-next/Documentation/devicetree/bindings/net/macb.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/macb.txt > +++ net-next/Documentation/devicetree/bindings/net/macb.txt > @@ -8,11 +8,6 @@ Required properties: > the Cadence GEM, or the generic form: "cdns,gem". > - reg: Address and length of the register set for the device > - interrupts: Should contain macb interrupt > -- phy-mode: String, operation mode of the PHY interface. > - Supported values are: "mii", "rmii", "gmii", "rgmii". > - > -Optional properties: > -- local-mac-address: 6 bytes, mac address > > Examples: > > Index: net-next/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt > +++ net-next/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt > @@ -4,10 +4,6 @@ Required properties: > - compatible: should be "marvell,armada-370-neta". > - reg: address and length of the register set for the device. > - interrupts: interrupt for the device > -- phy: A phandle to a phy node defining the PHY address (as the reg > - property, a single integer). > -- 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. > > Example: > Index: net-next/Documentation/devicetree/bindings/net/marvell-orion-net.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/marvell-orion-net.txt > +++ net-next/Documentation/devicetree/bindings/net/marvell-orion-net.txt > @@ -37,7 +37,6 @@ Required port properties: > "marvell,kirkwood-eth-port". > - reg: port number relative to ethernet controller, shall be 0, 1, or 2. > - interrupts: port interrupt. > - - local-mac-address: 6 bytes MAC address. > > Optional port properties: > - marvell,tx-queue-size: size of the transmit ring buffer. > @@ -49,7 +48,7 @@ Optional port properties: > > and > > - - phy-handle: phandle reference to ethernet PHY. > + - phy-handle: if a PHY is connected. > > or > > Index: net-next/Documentation/devicetree/bindings/net/micrel-ks8851.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/micrel-ks8851.txt > +++ net-next/Documentation/devicetree/bindings/net/micrel-ks8851.txt > @@ -4,6 +4,3 @@ Required properties: > - compatible = "micrel,ks8851-ml" of parallel interface > - reg : 2 physical address and size of registers for data and command > - interrupts : interrupt connection > - > -Optional properties: > -- local-mac-address : Ethernet mac address to use > Index: net-next/Documentation/devicetree/bindings/net/smsc-lan91c111.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/smsc-lan91c111.txt > +++ net-next/Documentation/devicetree/bindings/net/smsc-lan91c111.txt > @@ -7,7 +7,6 @@ Required properties: > > Optional properties: > - phy-device : phandle to Ethernet phy > -- local-mac-address : Ethernet mac address to use > - reg-io-width : Mask of sizes (in bytes) of the IO accesses that > 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 > Index: net-next/Documentation/devicetree/bindings/net/smsc911x.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/smsc911x.txt > +++ net-next/Documentation/devicetree/bindings/net/smsc911x.txt > @@ -6,9 +6,6 @@ Required properties: > - interrupts : Should contain SMSC LAN interrupt line > - interrupt-parent : Should be the phandle for the interrupt controller > that services interrupts for this device > -- phy-mode : String, operation mode of the PHY interface. > - Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii", > - "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii". > > Optional properties: > - reg-shift : Specify the quantity to shift the register offsets by > @@ -23,7 +20,6 @@ Optional properties: > external PHY > - smsc,save-mac-address : Indicates that mac address needs to be saved > before resetting the controller > -- local-mac-address : 6 bytes, mac address > > Examples: > > Index: net-next/Documentation/devicetree/bindings/net/stmmac.txt > =================================================================== > --- net-next.orig/Documentation/devicetree/bindings/net/stmmac.txt > +++ net-next/Documentation/devicetree/bindings/net/stmmac.txt > @@ -10,8 +10,6 @@ Required properties: > - interrupt-names: Should contain the interrupt names "macirq" > "eth_wake_irq" if this interrupt is supported in the "interrupts" > property > -- phy-mode: String, operation mode of the PHY interface. > - Supported values are: "mii", "rmii", "gmii", "rgmii". > - snps,phy-addr phy address to connect to. > - snps,reset-gpio gpio number for phy reset. > - snps,reset-active-low boolean flag to indicate if phy reset is active low. > @@ -28,9 +26,6 @@ Required properties: > mode for both tx and rx. This flag is > ignored if force_thresh_dma_mode is set. > > -Optional properties: > -- mac-address: 6 bytes, mac address > - > Examples: > > gmac0: ethernet@e0800000 { -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html