On Tue, Feb 04, 2014 at 11:06:24AM +0800, Chen-Yu Tsai wrote: > On Tue, Feb 4, 2014 at 3:34 AM, Maxime Ripard > <maxime.ripard@xxxxxxxxxxxxxxxxxx> wrote: > > On Mon, Feb 03, 2014 at 11:32:20AM +0800, Chen-Yu Tsai wrote: > >> The GMAC uses 1 of 2 sources for its transmit clock, depending on the > >> PHY interface mode. Add both sources as dummy clocks, and as parents > >> to the GMAC clock node. > >> > >> Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> > >> --- > >> arch/arm/boot/dts/sun7i-a20.dtsi | 28 ++++++++++++++++++++++++++++ > >> 1 file changed, 28 insertions(+) > >> > >> diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi > >> index 1595e9a..fc7f470 100644 > >> --- a/arch/arm/boot/dts/sun7i-a20.dtsi > >> +++ b/arch/arm/boot/dts/sun7i-a20.dtsi > >> @@ -314,6 +314,34 @@ > >> }; > >> > >> /* > >> + * The following two are dummy clocks, placeholders used > >> + * on gmac_tx clock. The actual frequency and availability > >> + * depends on the external PHY, operation mode and link > >> + * speed. > >> + */ > > > > If it depends on the external PHY, I guess that means it also depends > > on the board, right? Or is the GMAC supposed to always have that clock > > running at 25MHz, no matter what PHY is connected to it? > > What I meant in the comment is that we cannot control the actual clock > rate of the TX clock. We can only select the source, and this is what > gmac_tx clock does. It is just a clock mux. The 125MHz and 25MHz clock > rates are used by the clk_set_rate in the stmmac glue layer to do > auto-reparenting. > > The board dependent factor is what _type_ of PHY it is using, i.e. > MII, GMII, or RGMII. If it's MII, the PHY should provide the clock. > If it's RGMII, the internal clock would be used. GMII is a mix of > both. The actual clock rate depends on the link speed. > > I should rephrase the comment along the lines of: > > The following two are dummy clocks, placeholders used in the gmac_tx > clock. The gmac driver will choose one parent depending on the PHY > interface mode, using clk_set_rate auto-reparenting. > The actual TX clock rate is not controlled by the gmac_tx clock. Ok, thanks for the clarification. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Attachment:
signature.asc
Description: Digital signature