Am Dienstag, 25. November 2014, 16:40:59 schrieb Sergei Shtylyov: > Hello. > > On 11/25/2014 12:08 PM, Roger Chen wrote: > > add gmac info in rk3288.dtsi for GMAC driver > > > > Signed-off-by: Roger Chen <roger.chen at rock-chips.com> > > --- > > > > arch/arm/boot/dts/rk3288.dtsi | 59 > > +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 > > insertions(+) > > > > diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi > > index 0f50d5d..949675d 100644 > > --- a/arch/arm/boot/dts/rk3288.dtsi > > +++ b/arch/arm/boot/dts/rk3288.dtsi > > [...] > > > @@ -490,6 +497,25 @@ > > > > reg = <0xff740000 0x1000>; > > > > }; > > > > + gmac: eth at ff290000 { > > Please name the node "ethernet at ff290000" to comply with the ePAPR > standard. > > + compatible = "rockchip,rk3288-gmac"; > > + reg = <0xff290000 0x10000>; > > + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; /*irq=59*/ > > + interrupt-names = "macirq"; > > + rockchip,grf = <&grf>; > > + clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_PLL>, > > + <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>, > > + <&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>, > > + <&cru ACLK_GMAC>, <&cru PCLK_GMAC>; > > + clock-names = "stmmaceth", "clk_mac_pll", > > + "mac_clk_rx", "mac_clk_tx", > > + "clk_mac_ref", "clk_mac_refout", > > + "aclk_mac", "pclk_mac"; > > + phy-mode = "rgmii"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&rgmii_pin /*&rmii_pin*/>; > > Hm, pinctrl props in a .dtsi file? Those are usually board dependent. yep, especially as there is a board-dependent selection needed of what to use [rgmii or rmii] depending on the phy on the board. > > [...] > > > @@ -1040,5 +1066,38 @@ > > > > rockchip,pins = <7 23 3 &pcfg_pull_none>; > > > > }; > > > > }; > > > > + > > + gmac { > > + rgmii_pin: rgmii-pins { please add the "s" to the label - "rgmii_pins" > > + rockchip,pins = <3 30 3 &pcfg_pull_none>, > > + <3 31 3 &pcfg_pull_none>, > > + <3 26 3 &pcfg_pull_none>, > > + <3 27 3 &pcfg_pull_none>, > > + <3 28 3 &pcfg_pull_none>, > > + <3 29 3 &pcfg_pull_none>, > > + <3 24 3 &pcfg_pull_none>, > > + <3 25 3 &pcfg_pull_none>, > > + <4 0 3 &pcfg_pull_none>, > > + <4 5 3 &pcfg_pull_none>, > > + <4 6 3 &pcfg_pull_none>, > > + <4 9 3 &pcfg_pull_none>, > > + <4 4 3 &pcfg_pull_none>, > > + <4 1 3 &pcfg_pull_none>, > > + <4 3 3 &pcfg_pull_none>; > > + }; > > + > > + rmii_pin: rmii-pins { same here > > + rockchip,pins = <3 30 3 &pcfg_pull_none>, > > + <3 31 3 &pcfg_pull_none>, > > + <3 28 3 &pcfg_pull_none>, > > + <3 29 3 &pcfg_pull_none>, > > + <4 0 3 &pcfg_pull_none>, > > + <4 5 3 &pcfg_pull_none>, > > + <4 4 3 &pcfg_pull_none>, > > + <4 1 3 &pcfg_pull_none>, > > + <4 2 3 &pcfg_pull_none>, > > + <4 3 3 &pcfg_pull_none>; > > + }; > > + }; > > These are usually define in the board .dts file... The pinctrl settings itself are soc-specific, i.e. the pins and their settings to use to enable r{g}mii functionality are the same for all boards using this soc, so the pinctrl definitions should stay here and not be redefined in each and every board file. Heiko