From: Chen-Yu Tsai <wens@csie.org> To: Giuseppe Cavallaro <peppe.cavallaro@st.com> Cc: Chen-Yu Tsai <wens@csie.org>, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, netdev@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>, Icenowy Zheng <icenowy@aosc.io>, Maxime Ripard <maxime.ripard@bootlin.com>, Rob Herring <robh+dt@kernel.org> Subject: [PATCH RESEND net-next v2 8/8] net: stmmac: dwmac-sun8i: Add support for GMAC on Allwinner R40 SoC Date: Mon, 14 May 2018 03:14:25 +0800 [thread overview] Message-ID: <20180513191425.9801-9-wens@csie.org> (raw) In-Reply-To: <20180513191425.9801-1-wens@csie.org> The Allwinner R40 SoC has the EMAC controller supported by dwmac-sun8i. It is named "GMAC", while EMAC refers to the 10/100 Mbps Ethernet controller supported by sun4i-emac. The controller is the same, but the R40 has the glue layer controls in the clock control unit (CCU), with a reduced RX delay chain, and no TX delay chain. This patch adds support for it using the framework laid out by previous patches to map the differences. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> --- .../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index 4f5612a3c855..2f7f0915f071 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -93,6 +93,13 @@ static const struct reg_field sun8i_syscon_reg_field = { .msb = 31, }; +/* EMAC clock register @ 0x164 in the CCU address range */ +static const struct reg_field sun8i_ccu_reg_field = { + .reg = 0x164, + .lsb = 0, + .msb = 31, +}; + static const struct emac_variant emac_variant_h3 = { .default_syscon_value = 0x58000, .syscon_field = &sun8i_syscon_reg_field, @@ -121,6 +128,14 @@ static const struct emac_variant emac_variant_a83t = { .tx_delay_max = 7, }; +static const struct emac_variant emac_variant_r40 = { + .default_syscon_value = 0, + .syscon_field = &sun8i_ccu_reg_field, + .support_mii = true, + .support_rgmii = true, + .rx_delay_max = 7, +}; + static const struct emac_variant emac_variant_a64 = { .default_syscon_value = 0, .syscon_field = &sun8i_syscon_reg_field, @@ -1160,6 +1175,8 @@ static const struct of_device_id sun8i_dwmac_match[] = { .data = &emac_variant_v3s }, { .compatible = "allwinner,sun8i-a83t-emac", .data = &emac_variant_a83t }, + { .compatible = "allwinner,sun8i-r40-gmac", + .data = &emac_variant_r40 }, { .compatible = "allwinner,sun50i-a64-emac", .data = &emac_variant_a64 }, { } -- 2.17.0
WARNING: multiple messages have this Message-ID (diff)
From: wens@csie.org (Chen-Yu Tsai) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH RESEND net-next v2 8/8] net: stmmac: dwmac-sun8i: Add support for GMAC on Allwinner R40 SoC Date: Mon, 14 May 2018 03:14:25 +0800 [thread overview] Message-ID: <20180513191425.9801-9-wens@csie.org> (raw) In-Reply-To: <20180513191425.9801-1-wens@csie.org> The Allwinner R40 SoC has the EMAC controller supported by dwmac-sun8i. It is named "GMAC", while EMAC refers to the 10/100 Mbps Ethernet controller supported by sun4i-emac. The controller is the same, but the R40 has the glue layer controls in the clock control unit (CCU), with a reduced RX delay chain, and no TX delay chain. This patch adds support for it using the framework laid out by previous patches to map the differences. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> --- .../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c index 4f5612a3c855..2f7f0915f071 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c @@ -93,6 +93,13 @@ static const struct reg_field sun8i_syscon_reg_field = { .msb = 31, }; +/* EMAC clock register @ 0x164 in the CCU address range */ +static const struct reg_field sun8i_ccu_reg_field = { + .reg = 0x164, + .lsb = 0, + .msb = 31, +}; + static const struct emac_variant emac_variant_h3 = { .default_syscon_value = 0x58000, .syscon_field = &sun8i_syscon_reg_field, @@ -121,6 +128,14 @@ static const struct emac_variant emac_variant_a83t = { .tx_delay_max = 7, }; +static const struct emac_variant emac_variant_r40 = { + .default_syscon_value = 0, + .syscon_field = &sun8i_ccu_reg_field, + .support_mii = true, + .support_rgmii = true, + .rx_delay_max = 7, +}; + static const struct emac_variant emac_variant_a64 = { .default_syscon_value = 0, .syscon_field = &sun8i_syscon_reg_field, @@ -1160,6 +1175,8 @@ static const struct of_device_id sun8i_dwmac_match[] = { .data = &emac_variant_v3s }, { .compatible = "allwinner,sun8i-a83t-emac", .data = &emac_variant_a83t }, + { .compatible = "allwinner,sun8i-r40-gmac", + .data = &emac_variant_r40 }, { .compatible = "allwinner,sun50i-a64-emac", .data = &emac_variant_a64 }, { } -- 2.17.0
next prev parent reply other threads:[~2018-05-13 19:14 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-05-13 19:14 [PATCH RESEND net-next v2 0/8] net: stmmac: dwmac-sun8i: Support R40 Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai 2018-05-13 19:14 ` [PATCH RESEND net-next v2 1/8] dt-bindings: net: dwmac-sun8i: Clean up clock delay chain descriptions Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai 2018-05-13 19:49 ` Andrew Lunn 2018-05-13 19:49 ` Andrew Lunn 2018-05-13 19:53 ` Chen-Yu Tsai 2018-05-13 19:53 ` Chen-Yu Tsai 2018-05-13 20:05 ` Andrew Lunn 2018-05-13 20:05 ` Andrew Lunn 2018-05-13 20:10 ` Icenowy Zheng 2018-05-13 20:10 ` Icenowy Zheng 2018-05-13 20:10 ` Icenowy Zheng 2018-05-13 20:27 ` Andrew Lunn 2018-05-13 20:27 ` Andrew Lunn 2018-05-13 20:11 ` Chen-Yu Tsai 2018-05-13 20:11 ` Chen-Yu Tsai 2018-05-13 20:29 ` Andrew Lunn 2018-05-13 20:29 ` Andrew Lunn 2018-05-14 4:59 ` Chen-Yu Tsai 2018-05-14 4:59 ` Chen-Yu Tsai 2018-05-14 5:18 ` Icenowy Zheng 2018-05-14 5:18 ` Icenowy Zheng 2018-05-14 5:18 ` Icenowy Zheng 2018-05-14 7:21 ` Maxime Ripard 2018-05-14 7:21 ` Maxime Ripard 2018-05-14 12:03 ` Andrew Lunn 2018-05-14 12:03 ` Andrew Lunn 2018-05-13 19:14 ` [PATCH RESEND net-next v2 2/8] dt-bindings: net: dwmac-sun8i: Sort syscon compatibles by alphabetical order Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai 2018-05-13 19:14 ` [PATCH RESEND net-next v2 3/8] dt-bindings: net: dwmac-sun8i: simplify description of syscon property Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai 2018-05-13 19:14 ` [PATCH RESEND net-next v2 4/8] dt-bindings: net: dwmac-sun8i: Add binding for GMAC on Allwinner R40 SoC Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai 2018-05-13 19:14 ` [PATCH RESEND net-next v2 5/8] net: stmmac: dwmac-sun8i: Use regmap_field for syscon register access Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai 2018-05-13 19:14 ` [PATCH RESEND net-next v2 6/8] net: stmmac: dwmac-sun8i: Allow getting syscon regmap from external device Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai 2018-05-13 19:14 ` [PATCH RESEND net-next v2 7/8] net: stmmac: dwmac-sun8i: Support different ranges for TX/RX delay chains Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai 2018-05-13 19:14 ` Chen-Yu Tsai [this message] 2018-05-13 19:14 ` [PATCH RESEND net-next v2 8/8] net: stmmac: dwmac-sun8i: Add support for GMAC on Allwinner R40 SoC Chen-Yu Tsai 2018-05-14 19:07 ` [PATCH RESEND net-next v2 0/8] net: stmmac: dwmac-sun8i: Support R40 David Miller 2018-05-14 19:07 ` David Miller
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=20180513191425.9801-9-wens@csie.org \ --to=wens@csie.org \ --cc=clabbe.montjoie@gmail.com \ --cc=devicetree@vger.kernel.org \ --cc=icenowy@aosc.io \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=maxime.ripard@bootlin.com \ --cc=netdev@vger.kernel.org \ --cc=peppe.cavallaro@st.com \ --cc=robh+dt@kernel.org \ /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.