On 2014/11/25 22:39, Heiko St?bner wrote: > 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. of course pinctrl props is redefined in the rk3288-evb-rk808.dts, IMO, pinctrl props in .dtsi is used to fit for the "phy-mode" prop as default. if pinctrl props should be removed, how about "phy-mode" prop? >> [...] >> >>> @@ -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 > > >