Subject: Re: [PATCH 3/4] GMAC: dts: add gmac info for rk3288

From: Roger <[email-masked]>
Date: Wed, 26 Nov 2014 10:49:17 +0800

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 <[email-masked]>
>>> ---
>>>
>>>    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@ff290000 {
>>      Please name the node "ethernet@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
>
>
>