From: Florian Fainelli <f.fainelli@gmail.com> To: Andrew Lunn <andrew@lunn.ch>, David Wu <david.wu@rock-chips.com> Cc: davem@davemloft.net, heiko@sntech.de, robh+dt@kernel.org, mark.rutland@arm.com, catalin.marinas@arm.com, will.deacon@arm.com, olof@lixom.net, linux@armlinux.org.uk, arnd@arndb.de, peppe.cavallaro@st.com, alexandre.torgue@st.com, huangtao@rock-chips.com, hwg@rock-chips.com, netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 05/11] net: stmmac: dwmac-rk: Add internal phy support Date: Thu, 27 Jul 2017 09:54:01 -0700 [thread overview] Message-ID: <65ae1747-4dff-b1d8-8aa3-684fc8c7809a@gmail.com> (raw) In-Reply-To: <20170727134834.GD18666@lunn.ch> On 07/27/2017 06:48 AM, Andrew Lunn wrote: > On Thu, Jul 27, 2017 at 09:02:16PM +0800, David Wu wrote: >> To make internal phy work, need to configure the phy_clock, >> phy cru_reset and related registers. >> >> Signed-off-by: David Wu <david.wu@rock-chips.com> >> --- >> changes in v2: >> - Use the standard "phy-mode" property for internal phy. (Florian) > > I think we need to discuss this. This PHY appears to be on an MDIO > bus, it uses a standard PHY driver, and it appears to be using an RMII > interface. So it is just an ordinary PHY. First, the fact that the internal PHY also appears through MDIO is orthogonal to the fact that it is internal or external. Plenty of designs have internal PHYs exposed through MDIO because that is convenient. What matters though is how the data/clock lines are wired internally, which is what "phy-mode" describes. > > Internal is supposed to be something which is not ordinary, does not > use one of the standard phy modes, needs something special to make it > work. > > Florain, it appears to be your suggestion to use internal. What do you > say? phy-mode = "internal" really means that it is not a standard MII variant to connect the data/clock lines between the Ethernet MAC and the PHY, and this can happen in some designs (although quite unlikely). So from there we could do several things depending on the requirements: - if you can have your Ethernet MAC driver perform the necessary configuration *after* you have been able to bind the PHY device with its PHY driver, then the PHY driver should have PHY_IS_INTERNAL in its flags, and you can use phy_is_internal() from PHYLIB to tell you that and we could imagine using: phy-mode = "rmii" because that would not too much of a stretch - if you need knowledge about this PHY connection type prior to binding the PHY device and its driver (that is, before of_phy_connect()) we could add a boolean property e.g: "phy-is-internal" that allows us to know that, or we can have a new phy-mode value, e.g: "internal-rmii" which describes that, either way would probably be fine, but the former scales better Then again, using phy-mode = "internal" even though this is Reduced MII is not big of a deal IMHO as long as there is no loss of information and that internal de-facto means internal reduced MII for instance. -- Florian
WARNING: multiple messages have this Message-ID (diff)
From: f.fainelli@gmail.com (Florian Fainelli) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 05/11] net: stmmac: dwmac-rk: Add internal phy support Date: Thu, 27 Jul 2017 09:54:01 -0700 [thread overview] Message-ID: <65ae1747-4dff-b1d8-8aa3-684fc8c7809a@gmail.com> (raw) In-Reply-To: <20170727134834.GD18666@lunn.ch> On 07/27/2017 06:48 AM, Andrew Lunn wrote: > On Thu, Jul 27, 2017 at 09:02:16PM +0800, David Wu wrote: >> To make internal phy work, need to configure the phy_clock, >> phy cru_reset and related registers. >> >> Signed-off-by: David Wu <david.wu@rock-chips.com> >> --- >> changes in v2: >> - Use the standard "phy-mode" property for internal phy. (Florian) > > I think we need to discuss this. This PHY appears to be on an MDIO > bus, it uses a standard PHY driver, and it appears to be using an RMII > interface. So it is just an ordinary PHY. First, the fact that the internal PHY also appears through MDIO is orthogonal to the fact that it is internal or external. Plenty of designs have internal PHYs exposed through MDIO because that is convenient. What matters though is how the data/clock lines are wired internally, which is what "phy-mode" describes. > > Internal is supposed to be something which is not ordinary, does not > use one of the standard phy modes, needs something special to make it > work. > > Florain, it appears to be your suggestion to use internal. What do you > say? phy-mode = "internal" really means that it is not a standard MII variant to connect the data/clock lines between the Ethernet MAC and the PHY, and this can happen in some designs (although quite unlikely). So from there we could do several things depending on the requirements: - if you can have your Ethernet MAC driver perform the necessary configuration *after* you have been able to bind the PHY device with its PHY driver, then the PHY driver should have PHY_IS_INTERNAL in its flags, and you can use phy_is_internal() from PHYLIB to tell you that and we could imagine using: phy-mode = "rmii" because that would not too much of a stretch - if you need knowledge about this PHY connection type prior to binding the PHY device and its driver (that is, before of_phy_connect()) we could add a boolean property e.g: "phy-is-internal" that allows us to know that, or we can have a new phy-mode value, e.g: "internal-rmii" which describes that, either way would probably be fine, but the former scales better Then again, using phy-mode = "internal" even though this is Reduced MII is not big of a deal IMHO as long as there is no loss of information and that internal de-facto means internal reduced MII for instance. -- Florian
next prev parent reply other threads:[~2017-07-27 16:54 UTC|newest] Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-27 12:55 [PATCH v2 00/11] Add the internal phy support David Wu 2017-07-27 12:55 ` David Wu 2017-07-27 12:55 ` David Wu 2017-07-27 12:55 ` [PATCH v2 01/11] net: phy: Add rockchip phy driver support David Wu 2017-07-27 12:55 ` David Wu 2017-07-27 12:55 ` David Wu 2017-07-27 13:38 ` Andrew Lunn 2017-07-27 13:38 ` Andrew Lunn 2017-07-27 13:38 ` Andrew Lunn 2017-07-28 7:48 ` David.Wu 2017-07-28 7:48 ` David.Wu 2017-07-28 7:48 ` David.Wu 2017-07-27 16:51 ` Florian Fainelli 2017-07-27 16:51 ` Florian Fainelli 2017-07-28 8:19 ` David.Wu 2017-07-28 8:19 ` David.Wu 2017-07-27 12:55 ` [PATCH v2 02/11] multi_v7_defconfig: Make rockchip phy built-in David Wu 2017-07-27 12:55 ` David Wu 2017-07-27 12:55 ` David Wu 2017-07-27 12:55 ` [PATCH v2 03/11] arm64: defconfig: Enable CONFIG_ROCKCHIP_PHY David Wu 2017-07-27 12:55 ` David Wu 2017-07-27 12:55 ` [PATCH v2 04/11] net: stmmac: dwmac-rk: Remove unwanted code for rk3328_set_to_rmii() David Wu 2017-07-27 12:55 ` David Wu 2017-07-27 13:02 ` [PATCH v2 05/11] net: stmmac: dwmac-rk: Add internal phy support David Wu 2017-07-27 13:02 ` David Wu 2017-07-27 13:02 ` [PATCH v2 06/11] net: stmmac: dwmac-rk: Add internal phy support for rk3228 David Wu 2017-07-27 13:02 ` David Wu 2017-07-27 13:02 ` [PATCH v2 07/11] net: stmmac: dwmac-rk: Add internal phy supprot for rk3328 David Wu 2017-07-27 13:02 ` David Wu 2017-07-27 13:02 ` [PATCH v2 08/11] ARM: dts: rk322x: Add support internal phy for gmac David Wu 2017-07-27 13:02 ` David Wu 2017-07-27 13:02 ` [PATCH v2 09/11] ARM: dts: rk3228-evb: Enable the " David Wu 2017-07-27 13:02 ` David Wu 2017-07-27 13:02 ` David Wu 2017-07-27 13:48 ` [PATCH v2 05/11] net: stmmac: dwmac-rk: Add internal phy support Andrew Lunn 2017-07-27 13:48 ` Andrew Lunn 2017-07-27 16:54 ` Florian Fainelli [this message] 2017-07-27 16:54 ` Florian Fainelli 2017-07-27 17:31 ` Corentin Labbe 2017-07-27 17:31 ` Corentin Labbe 2017-07-27 17:31 ` Corentin Labbe 2017-07-28 7:39 ` Maxime Ripard 2017-07-28 7:39 ` Maxime Ripard 2017-07-28 7:39 ` Maxime Ripard 2017-07-28 6:56 ` David.Wu 2017-07-28 6:56 ` David.Wu 2017-08-02 3:44 ` Chen-Yu Tsai 2017-08-02 3:46 ` Chen-Yu Tsai 2017-08-02 3:46 ` Chen-Yu Tsai 2017-08-02 3:46 ` Chen-Yu Tsai 2017-07-28 6:46 ` David.Wu 2017-07-28 6:46 ` David.Wu 2017-07-27 13:08 ` [PATCH v2 10/11] ARM64: dts: rockchip: Add gmac2phy node support for rk3328 David Wu 2017-07-27 13:08 ` David Wu 2017-07-27 13:08 ` David Wu 2017-07-27 13:10 ` [PATCH v2 11/11] ARM64: dts: rockchip: Enable gmac2phy for rk3328-evb David Wu 2017-07-27 13:10 ` David Wu
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=65ae1747-4dff-b1d8-8aa3-684fc8c7809a@gmail.com \ --to=f.fainelli@gmail.com \ --cc=alexandre.torgue@st.com \ --cc=andrew@lunn.ch \ --cc=arnd@arndb.de \ --cc=catalin.marinas@arm.com \ --cc=davem@davemloft.net \ --cc=david.wu@rock-chips.com \ --cc=devicetree@vger.kernel.org \ --cc=heiko@sntech.de \ --cc=huangtao@rock-chips.com \ --cc=hwg@rock-chips.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-rockchip@lists.infradead.org \ --cc=linux@armlinux.org.uk \ --cc=mark.rutland@arm.com \ --cc=netdev@vger.kernel.org \ --cc=olof@lixom.net \ --cc=peppe.cavallaro@st.com \ --cc=robh+dt@kernel.org \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.