From: David Wu <david.wu@rock-chips.com> To: davem@davemloft.net, heiko@sntech.de, andrew@lunn.ch, f.fainelli@gmail.com, 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 Cc: 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, David Wu <david.wu@rock-chips.com> Subject: [PATCH v2 06/11] net: stmmac: dwmac-rk: Add internal phy support for rk3228 Date: Thu, 27 Jul 2017 21:02:17 +0800 [thread overview] Message-ID: <1501160540-30662-2-git-send-email-david.wu@rock-chips.com> (raw) In-Reply-To: <1501160540-30662-1-git-send-email-david.wu@rock-chips.com> There is only one mac controller in rk3228, which could connect to external phy or internal phy, use the grf_com_mux bit15 to route external/internal phy. Signed-off-by: David Wu <david.wu@rock-chips.com> --- drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index ec280d1..3ec9cd8 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -86,6 +86,8 @@ struct rk_priv_data { #define RK3228_GRF_MAC_CON0 0x0900 #define RK3228_GRF_MAC_CON1 0x0904 +#define RK3228_GRF_CON_MUX 0x50 + /* RK3228_GRF_MAC_CON0 */ #define RK3228_GMAC_CLK_RX_DL_CFG(val) HIWORD_UPDATE(val, 0x7F, 7) #define RK3228_GMAC_CLK_TX_DL_CFG(val) HIWORD_UPDATE(val, 0x7F, 0) @@ -111,6 +113,9 @@ struct rk_priv_data { #define RK3228_GMAC_RXCLK_DLY_ENABLE GRF_BIT(1) #define RK3228_GMAC_RXCLK_DLY_DISABLE GRF_CLR_BIT(1) +/* RK3228_GRF_COM_MUX */ +#define RK3228_GRF_CON_MUX_GMAC_INTERNAL_PHY GRF_BIT(15) + static void rk3228_set_to_rgmii(struct rk_priv_data *bsp_priv, int tx_delay, int rx_delay) { @@ -191,11 +196,18 @@ static void rk3228_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed) dev_err(dev, "unknown speed value for RMII! speed=%d", speed); } +static void rk3228_internal_phy_powerup(struct rk_priv_data *priv) +{ + regmap_write(priv->grf, RK3228_GRF_CON_MUX, + RK3228_GRF_CON_MUX_GMAC_INTERNAL_PHY); +} + static const struct rk_gmac_ops rk3228_ops = { .set_to_rgmii = rk3228_set_to_rgmii, .set_to_rmii = rk3228_set_to_rmii, .set_rgmii_speed = rk3228_set_rgmii_speed, .set_rmii_speed = rk3228_set_rmii_speed, + .internal_phy_powerup = rk3228_internal_phy_powerup, }; #define RK3288_GRF_SOC_CON1 0x0248 -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: david.wu@rock-chips.com (David Wu) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 06/11] net: stmmac: dwmac-rk: Add internal phy support for rk3228 Date: Thu, 27 Jul 2017 21:02:17 +0800 [thread overview] Message-ID: <1501160540-30662-2-git-send-email-david.wu@rock-chips.com> (raw) In-Reply-To: <1501160540-30662-1-git-send-email-david.wu@rock-chips.com> There is only one mac controller in rk3228, which could connect to external phy or internal phy, use the grf_com_mux bit15 to route external/internal phy. Signed-off-by: David Wu <david.wu@rock-chips.com> --- drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index ec280d1..3ec9cd8 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -86,6 +86,8 @@ struct rk_priv_data { #define RK3228_GRF_MAC_CON0 0x0900 #define RK3228_GRF_MAC_CON1 0x0904 +#define RK3228_GRF_CON_MUX 0x50 + /* RK3228_GRF_MAC_CON0 */ #define RK3228_GMAC_CLK_RX_DL_CFG(val) HIWORD_UPDATE(val, 0x7F, 7) #define RK3228_GMAC_CLK_TX_DL_CFG(val) HIWORD_UPDATE(val, 0x7F, 0) @@ -111,6 +113,9 @@ struct rk_priv_data { #define RK3228_GMAC_RXCLK_DLY_ENABLE GRF_BIT(1) #define RK3228_GMAC_RXCLK_DLY_DISABLE GRF_CLR_BIT(1) +/* RK3228_GRF_COM_MUX */ +#define RK3228_GRF_CON_MUX_GMAC_INTERNAL_PHY GRF_BIT(15) + static void rk3228_set_to_rgmii(struct rk_priv_data *bsp_priv, int tx_delay, int rx_delay) { @@ -191,11 +196,18 @@ static void rk3228_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed) dev_err(dev, "unknown speed value for RMII! speed=%d", speed); } +static void rk3228_internal_phy_powerup(struct rk_priv_data *priv) +{ + regmap_write(priv->grf, RK3228_GRF_CON_MUX, + RK3228_GRF_CON_MUX_GMAC_INTERNAL_PHY); +} + static const struct rk_gmac_ops rk3228_ops = { .set_to_rgmii = rk3228_set_to_rgmii, .set_to_rmii = rk3228_set_to_rmii, .set_rgmii_speed = rk3228_set_rgmii_speed, .set_rmii_speed = rk3228_set_rmii_speed, + .internal_phy_powerup = rk3228_internal_phy_powerup, }; #define RK3288_GRF_SOC_CON1 0x0248 -- 1.9.1
next prev parent reply other threads:[~2017-07-27 12:58 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 ` David Wu [this message] 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 ` [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 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=1501160540-30662-2-git-send-email-david.wu@rock-chips.com \ --to=david.wu@rock-chips.com \ --cc=alexandre.torgue@st.com \ --cc=andrew@lunn.ch \ --cc=arnd@arndb.de \ --cc=catalin.marinas@arm.com \ --cc=davem@davemloft.net \ --cc=devicetree@vger.kernel.org \ --cc=f.fainelli@gmail.com \ --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.