* [PATCH v3 00/12] net: ethernet: mtk_eth_soc: various enhancements
@ 2023-02-09 23:24 Daniel Golle
2023-02-09 23:27 ` [PATCH v3 02/12] dt-bindings: net: mediatek,net: add mt7981-eth binding Daniel Golle
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Daniel Golle @ 2023-02-09 23:24 UTC (permalink / raw)
To: devicetree, Rob Herring, Krzysztof Kozlowski, netdev,
linux-mediatek, linux-arm-kernel, linux-kernel, Russell King,
Heiner Kallweit, Lorenzo Bianconi, Mark Lee, John Crispin,
Felix Fietkau, AngeloGioacchino Del Regno, Matthias Brugger,
DENG Qingfang, Landen Chao, Sean Wang, Paolo Abeni,
Jakub Kicinski, Eric Dumazet, David S. Miller, Vladimir Oltean,
Florian Fainelli, Andrew Lunn
Cc: Jianhui Zhao, Bjørn Mork
This series brings a variety of fixes and enhancements for mtk_eth_soc,
adds support for the MT7981 SoC and facilitates sharing the SGMII PCS
code between mtk_eth_soc and mt7530.
Note that this series depends on commit 697c3892d825
("regmap: apply reg_base and reg_downshift for single register ops") to
not break mt7530 pcs register access.
Changes since v2:
* improve dt-bindings, convert sgmisys bindings to dt-schema yaml
* fix typo
Changes since v1:
* apply reverse xmas tree everywhere
* improve commit descriptions
* add dt binding documentation
* various small changes addressing all comments received for v1
Daniel Golle (12):
net: ethernet: mtk_eth_soc: add support for MT7981 SoC
dt-bindings: net: mediatek,net: add mt7981-eth binding
dt-bindings: arm: mediatek: sgmiisys: Convert to DT schema
dt-bindings: arm: mediatek: sgmiisys: add MT7981 SoC
net: ethernet: mtk_eth_soc: set MDIO bus clock frequency
net: ethernet: mtk_eth_soc: reset PCS state
net: ethernet: mtk_eth_soc: only write values if needed
net: ethernet: mtk_eth_soc: fix RX data corruption issue
net: ethernet: mtk_eth_soc: ppe: add support for flow accounting
net: pcs: add driver for MediaTek SGMII PCS
net: ethernet: mtk_eth_soc: switch to external PCS driver
net: dsa: mt7530: use external PCS driver
.../arm/mediatek/mediatek,sgmiisys.txt | 27 --
.../arm/mediatek/mediatek,sgmiisys.yaml | 75 +++++
.../devicetree/bindings/net/mediatek,net.yaml | 43 ++-
MAINTAINERS | 7 +
drivers/net/dsa/Kconfig | 1 +
drivers/net/dsa/mt7530.c | 277 ++++-----------
drivers/net/dsa/mt7530.h | 47 +--
drivers/net/ethernet/mediatek/Kconfig | 2 +
drivers/net/ethernet/mediatek/mtk_eth_path.c | 14 +-
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 65 +++-
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 100 ++----
drivers/net/ethernet/mediatek/mtk_ppe.c | 114 ++++++-
drivers/net/ethernet/mediatek/mtk_ppe.h | 25 +-
.../net/ethernet/mediatek/mtk_ppe_debugfs.c | 9 +-
.../net/ethernet/mediatek/mtk_ppe_offload.c | 8 +
drivers/net/ethernet/mediatek/mtk_ppe_regs.h | 14 +
drivers/net/ethernet/mediatek/mtk_sgmii.c | 190 ++---------
drivers/net/pcs/Kconfig | 8 +
drivers/net/pcs/Makefile | 1 +
drivers/net/pcs/pcs-mtk-lynxi.c | 315 ++++++++++++++++++
include/linux/pcs/pcs-mtk-lynxi.h | 13 +
21 files changed, 825 insertions(+), 530 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt
create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml
create mode 100644 drivers/net/pcs/pcs-mtk-lynxi.c
create mode 100644 include/linux/pcs/pcs-mtk-lynxi.h
base-commit: 20f513df926fac0594a3b65f79d856bd64251861
--
2.39.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3 02/12] dt-bindings: net: mediatek,net: add mt7981-eth binding
2023-02-09 23:24 [PATCH v3 00/12] net: ethernet: mtk_eth_soc: various enhancements Daniel Golle
@ 2023-02-09 23:27 ` Daniel Golle
2023-02-09 23:29 ` [PATCH v3 03/12] dt-bindings: arm: mediatek: sgmiisys: Convert to DT schema Daniel Golle
2023-02-09 23:30 ` [PATCH v3 04/12] dt-bindings: arm: mediatek: sgmiisys: add MT7981 SoC Daniel Golle
2 siblings, 0 replies; 4+ messages in thread
From: Daniel Golle @ 2023-02-09 23:27 UTC (permalink / raw)
To: devicetree, Rob Herring, Krzysztof Kozlowski, netdev,
linux-mediatek, linux-arm-kernel, linux-kernel, Russell King,
Heiner Kallweit, Lorenzo Bianconi, Mark Lee, John Crispin,
Felix Fietkau, AngeloGioacchino Del Regno, Matthias Brugger,
DENG Qingfang, Landen Chao, Sean Wang, Paolo Abeni,
Jakub Kicinski, Eric Dumazet, David S. Miller, Vladimir Oltean,
Florian Fainelli, Andrew Lunn
Cc: Jianhui Zhao, Bjørn Mork
Introduce DT bindings for the MT7981 SoC to mediatek,net.yaml.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
.../devicetree/bindings/net/mediatek,net.yaml | 43 ++++++++++++++++++-
1 file changed, 41 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/mediatek,net.yaml b/Documentation/devicetree/bindings/net/mediatek,net.yaml
index 7ef696204c5a..76a46a7b8228 100644
--- a/Documentation/devicetree/bindings/net/mediatek,net.yaml
+++ b/Documentation/devicetree/bindings/net/mediatek,net.yaml
@@ -21,6 +21,7 @@ properties:
- mediatek,mt7623-eth
- mediatek,mt7622-eth
- mediatek,mt7629-eth
+ - mediatek,mt7981-eth
- mediatek,mt7986-eth
- ralink,rt5350-eth
@@ -210,7 +211,7 @@ allOf:
properties:
compatible:
contains:
- const: mediatek,mt7986-eth
+ const: mediatek,mt7981-eth
then:
properties:
interrupts:
@@ -225,8 +226,8 @@ allOf:
- const: fe
- const: gp2
- const: gp1
- - const: wocpu1
- const: wocpu0
+ - const: sgmii_ck
- const: sgmii_tx250m
- const: sgmii_rx250m
- const: sgmii_cdr_ref
@@ -247,6 +248,44 @@ allOf:
description:
Phandle to the mediatek wed-pcie controller.
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt7986-eth
+ then:
+ properties:
+ interrupts:
+ minItems: 4
+
+ clocks:
+ minItems: 15
+ maxItems: 15
+
+ clock-names:
+ items:
+ - const: fe
+ - const: gp2
+ - const: gp1
+ - const: wocpu1
+ - const: wocpu0
+ - const: sgmii_tx250m
+ - const: sgmii_rx250m
+ - const: sgmii_cdr_ref
+ - const: sgmii_cdr_fb
+ - const: sgmii2_tx250m
+ - const: sgmii2_rx250m
+ - const: sgmii2_cdr_ref
+ - const: sgmii2_cdr_fb
+ - const: netsys0
+ - const: netsys1
+
+ mediatek,sgmiisys:
+ minItems: 2
+ maxItems: 2
+
+ mediatek,wed-pcie: true
+
patternProperties:
"^mac@[0-1]$":
type: object
--
2.39.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3 03/12] dt-bindings: arm: mediatek: sgmiisys: Convert to DT schema
2023-02-09 23:24 [PATCH v3 00/12] net: ethernet: mtk_eth_soc: various enhancements Daniel Golle
2023-02-09 23:27 ` [PATCH v3 02/12] dt-bindings: net: mediatek,net: add mt7981-eth binding Daniel Golle
@ 2023-02-09 23:29 ` Daniel Golle
2023-02-09 23:30 ` [PATCH v3 04/12] dt-bindings: arm: mediatek: sgmiisys: add MT7981 SoC Daniel Golle
2 siblings, 0 replies; 4+ messages in thread
From: Daniel Golle @ 2023-02-09 23:29 UTC (permalink / raw)
To: devicetree, Rob Herring, Krzysztof Kozlowski, netdev,
linux-mediatek, linux-arm-kernel, linux-kernel, Russell King,
Heiner Kallweit, Lorenzo Bianconi, Mark Lee, John Crispin,
Felix Fietkau, AngeloGioacchino Del Regno, Matthias Brugger,
DENG Qingfang, Landen Chao, Sean Wang, Paolo Abeni,
Jakub Kicinski, Eric Dumazet, David S. Miller, Vladimir Oltean,
Florian Fainelli, Andrew Lunn
Cc: Jianhui Zhao, Bjørn Mork
Convert mediatek,sgmiiisys bindings to DT schema format.
Add maintainer Matthias Brugger, no maintainers were listed in the
original documentation.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
.../arm/mediatek/mediatek,sgmiisys.txt | 27 ----------
.../arm/mediatek/mediatek,sgmiisys.yaml | 53 +++++++++++++++++++
2 files changed, 53 insertions(+), 27 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt
create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt
deleted file mode 100644
index d2c24c277514..000000000000
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-MediaTek SGMIISYS controller
-============================
-
-The MediaTek SGMIISYS controller provides various clocks to the system.
-
-Required Properties:
-
-- compatible: Should be:
- - "mediatek,mt7622-sgmiisys", "syscon"
- - "mediatek,mt7629-sgmiisys", "syscon"
- - "mediatek,mt7981-sgmiisys_0", "syscon"
- - "mediatek,mt7981-sgmiisys_1", "syscon"
- - "mediatek,mt7986-sgmiisys_0", "syscon"
- - "mediatek,mt7986-sgmiisys_1", "syscon"
-- #clock-cells: Must be 1
-
-The SGMIISYS controller uses the common clk binding from
-Documentation/devicetree/bindings/clock/clock-bindings.txt
-The available clocks are defined in dt-bindings/clock/mt*-clk.h.
-
-Example:
-
-sgmiisys: sgmiisys@1b128000 {
- compatible = "mediatek,mt7622-sgmiisys", "syscon";
- reg = <0 0x1b128000 0 0x1000>;
- #clock-cells = <1>;
-};
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml
new file mode 100644
index 000000000000..99ceb08ad7c0
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/arm/mediatek/mediatek,sgmiisys.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: MediaTek SGMIISYS Controller
+
+maintainers:
+ - Matthias Brugger <matthias.bgg@gmail.com>
+
+description:
+ The MediaTek SGMIISYS controller provides SGMII related clocks to the system
+ and is used by the Ethernet controller as SGMII PCS.
+
+properties:
+ $nodename:
+ pattern: "^syscon@[0-9a-f]+$"
+
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - mediatek,mt7622-sgmiisys
+ - mediatek,mt7629-sgmiisys
+ - mediatek,mt7986-sgmiisys_0
+ - mediatek,mt7986-sgmiisys_1
+ - const: syscon
+
+ reg:
+ maxItems: 1
+
+ '#clock-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - '#clock-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ sgmiisys: syscon@1b128000 {
+ compatible = "mediatek,mt7622-sgmiisys", "syscon";
+ reg = <0 0x1b128000 0 0x1000>;
+ #clock-cells = <1>;
+ };
+ };
--
2.39.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3 04/12] dt-bindings: arm: mediatek: sgmiisys: add MT7981 SoC
2023-02-09 23:24 [PATCH v3 00/12] net: ethernet: mtk_eth_soc: various enhancements Daniel Golle
2023-02-09 23:27 ` [PATCH v3 02/12] dt-bindings: net: mediatek,net: add mt7981-eth binding Daniel Golle
2023-02-09 23:29 ` [PATCH v3 03/12] dt-bindings: arm: mediatek: sgmiisys: Convert to DT schema Daniel Golle
@ 2023-02-09 23:30 ` Daniel Golle
2 siblings, 0 replies; 4+ messages in thread
From: Daniel Golle @ 2023-02-09 23:30 UTC (permalink / raw)
To: devicetree, Rob Herring, Krzysztof Kozlowski, netdev,
linux-mediatek, linux-arm-kernel, linux-kernel, Russell King,
Heiner Kallweit, Lorenzo Bianconi, Mark Lee, John Crispin,
Felix Fietkau, AngeloGioacchino Del Regno, Matthias Brugger,
DENG Qingfang, Landen Chao, Sean Wang, Paolo Abeni,
Jakub Kicinski, Eric Dumazet, David S. Miller, Vladimir Oltean,
Florian Fainelli, Andrew Lunn
Cc: Jianhui Zhao, Bjørn Mork
Add mediatek,pnswap boolean property as well as an example for the
MediaTek MT7981 SoC making use of that new property.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
.../arm/mediatek/mediatek,sgmiisys.yaml | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml
index 99ceb08ad7c0..97d4ab70e541 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.yaml
@@ -23,6 +23,8 @@ properties:
- enum:
- mediatek,mt7622-sgmiisys
- mediatek,mt7629-sgmiisys
+ - mediatek,mt7981-sgmiisys_0
+ - mediatek,mt7981-sgmiisys_1
- mediatek,mt7986-sgmiisys_0
- mediatek,mt7986-sgmiisys_1
- const: syscon
@@ -33,6 +35,10 @@ properties:
'#clock-cells':
const: 1
+ mediatek,pnswap:
+ description: Invert polarity of the SGMII data lanes
+ type: boolean
+
required:
- compatible
- reg
@@ -51,3 +57,19 @@ examples:
#clock-cells = <1>;
};
};
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ sgmiisys0: syscon@10060000 {
+ compatible = "mediatek,mt7981-sgmiisys_0", "syscon";
+ reg = <0 0x10060000 0 0x1000>;
+ mediatek,pnswap;
+ #clock-cells = <1>;
+ };
+ sgmiisys1: syscon@10070000 {
+ compatible = "mediatek,mt7981-sgmiisys_1", "syscon";
+ reg = <0 0x10070000 0 0x1000>;
+ #clock-cells = <1>;
+ };
+ };
--
2.39.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-02-09 23:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-09 23:24 [PATCH v3 00/12] net: ethernet: mtk_eth_soc: various enhancements Daniel Golle
2023-02-09 23:27 ` [PATCH v3 02/12] dt-bindings: net: mediatek,net: add mt7981-eth binding Daniel Golle
2023-02-09 23:29 ` [PATCH v3 03/12] dt-bindings: arm: mediatek: sgmiisys: Convert to DT schema Daniel Golle
2023-02-09 23:30 ` [PATCH v3 04/12] dt-bindings: arm: mediatek: sgmiisys: add MT7981 SoC Daniel Golle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).