Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / net / sti-dwmac.txt
index 3dd3d0bf112f7fe530777be11763814f56685cb5..6762a6b5da7e91f7cf215a62c026885365b015f9 100644 (file)
@@ -1,58 +1,65 @@
 STMicroelectronics SoC DWMAC glue layer controller
 
+This file documents differences between the core properties in
+Documentation/devicetree/bindings/net/stmmac.txt
+and what is needed on STi platforms to program the stmmac glue logic.
+
 The device node has following properties.
 
 Required properties:
- - compatible  : Can be "st,stih415-dwmac", "st,stih416-dwmac" or
-   "st,stid127-dwmac".
- - reg         : Offset of the glue configuration register map in system
+ - compatible  : Can be "st,stih415-dwmac", "st,stih416-dwmac",
+   "st,stih407-dwmac", "st,stid127-dwmac".
+ - reg : Offset of the glue configuration register map in system
    configuration regmap pointed by st,syscon property and size.
-
- - reg-names   : Should be "sti-ethconf".
-
- - st,syscon   : Should be phandle to system configuration node which
+ - st,syscon : Should be phandle to system configuration node which
    encompases this glue registers.
+ - st,gmac_en: this is to enable the gmac into a dedicated sysctl control
+   register available on STiH407 SoC.
+ - sti-ethconf: this is the gmac glue logic register to enable the GMAC,
+   select among the different modes and program the clk retiming.
+ - pinctrl-0: pin-control for all the MII mode supported.
 
- - st,tx-retime-src: On STi Parts for Giga bit speeds, 125Mhz clocks can be
-   wired up in from different sources. One via TXCLK pin and other via CLK_125
-   pin. This wiring is totally board dependent. However the retiming glue
-   logic should be configured accordingly. Possible values for this property
-
-          "txclk" - if 125Mhz clock is wired up via txclk line.
-          "clk_125" - if 125Mhz clock is wired up via clk_125 line.
-
-   This property is only valid for Giga bit setup( GMII, RGMII), and it is
-   un-used for non-giga bit (MII and RMII) setups. Also note that internal
-   clockgen can not generate stable 125Mhz clock.
-
- - st,ext-phyclk: This boolean property indicates who is generating the clock
-  for tx and rx. This property is only valid for RMII case where the clock can
-  be generated from the MAC or PHY.
-
- - clock-names: should be "sti-ethclk".
- - clocks: Should point to ethernet clockgen which can generate phyclk.
-
+Optional properties:
+ - resets : phandle pointing to the system reset controller with correct
+   reset line index for ethernet reset.
+ - st,ext-phyclk: valid only for RMII where PHY can generate 50MHz clock or
+   MAC can generate it.
+ - st,tx-retime-src: This specifies which clk is wired up to the mac for
+   retimeing tx lines. This is totally board dependent and can take one of the
+   posssible values from "txclk", "clk_125" or "clkgen".
+   If not passed, the internal clock will be used by default.
+ - sti-ethclk: this is the phy clock.
+ - sti-clkconf: this is an extra sysconfig register, available in new SoCs,
+   to program the clk retiming.
+ - st,gmac_en: to enable the GMAC, this only is present in some SoCs; e.g.
+   STiH407.
 
 Example:
 
-ethernet0: dwmac@fe810000 {
-       device_type     = "network";
-       compatible      = "st,stih416-dwmac", "snps,dwmac", "snps,dwmac-3.710";
-       reg             = <0xfe810000 0x8000>, <0x8bc 0x4>;
-       reg-names       = "stmmaceth", "sti-ethconf";
-       interrupts      = <0 133 0>, <0 134 0>, <0 135 0>;
-       interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
-       phy-mode        = "mii";
+ethernet0: dwmac@9630000 {
+       device_type = "network";
+       status = "disabled";
+       compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
+       reg = <0x9630000 0x8000>, <0x80 0x4>;
+       reg-names = "stmmaceth", "sti-ethconf";
 
-       st,syscon       = <&syscfg_rear>;
+       st,syscon = <&syscfg_sbc_reg>;
+       st,gmac_en;
+       resets = <&softreset STIH407_ETH1_SOFTRESET>;
+       reset-names = "stmmaceth";
 
-       snps,pbl        = <32>;
+       interrupts = <GIC_SPI 98 IRQ_TYPE_NONE>,
+                    <GIC_SPI 99 IRQ_TYPE_NONE>,
+                    <GIC_SPI 100 IRQ_TYPE_NONE>;
+       interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
+
+       snps,pbl = <32>;
        snps,mixed-burst;
 
-       resets          = <&softreset STIH416_ETH0_SOFTRESET>;
-       reset-names     = "stmmaceth";
-       pinctrl-0       = <&pinctrl_mii0>;
-       pinctrl-names   = "default";
-       clocks          = <&CLK_S_GMAC0_PHY>;
-       clock-names     = "stmmaceth";
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_rgmii1>;
+
+       clock-names = "stmmaceth", "sti-ethclk";
+       clocks = <&CLK_S_C0_FLEXGEN CLK_EXT2F_A9>,
+                <&CLK_S_C0_FLEXGEN CLK_ETH_PHY>;
 };