[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <2d92c3e282c6a788e54370604f966fc7a5b479bf.1667466887.git.lorenzo@kernel.org>
Date: Thu, 3 Nov 2022 10:28:01 +0100
From: Lorenzo Bianconi <lorenzo@...nel.org>
To: netdev@...r.kernel.org
Cc: nbd@....name, john@...ozen.org, sean.wang@...iatek.com,
Mark-MC.Lee@...iatek.com, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, matthias.bgg@...il.com,
linux-mediatek@...ts.infradead.org, lorenzo.bianconi@...hat.com,
Bo.Jiao@...iatek.com, sujuan.chen@...iatek.com,
ryder.Lee@...iatek.com, evelyn.tsai@...iatek.com,
devicetree@...r.kernel.org, robh+dt@...nel.org,
daniel@...rotopia.org, krzysztof.kozlowski+dt@...aro.org
Subject: [PATCH v3 net-next 2/8] dt-bindings: net: mediatek: add WED RX binding for MT7986 eth driver
Document the binding for the RX Wireless Ethernet Dispatch core on the
MT7986 ethernet driver used to offload traffic received by WLAN NIC and
forwarded to LAN/WAN one.
Signed-off-by: Lorenzo Bianconi <lorenzo@...nel.org>
---
.../arm/mediatek/mediatek,mt7622-wed.yaml | 62 ++++++++++++++++++-
.../arm/mediatek/mediatek,mt7986-wo-boot.yaml | 47 ++++++++++++++
.../arm/mediatek/mediatek,mt7986-wo-ccif.yaml | 50 +++++++++++++++
.../arm/mediatek/mediatek,mt7986-wo-dlm.yaml | 50 +++++++++++++++
4 files changed, 206 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-boot.yaml
create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-ccif.yaml
create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-dlm.yaml
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
index 84fb0a146b6e..9e34c5d15cec 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
@@ -1,8 +1,8 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
-$id: "http://devicetree.org/schemas/arm/mediatek/mediatek,mt7622-wed.yaml#"
-$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7622-wed.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MediaTek Wireless Ethernet Dispatch Controller for MT7622
@@ -29,6 +29,50 @@ properties:
interrupts:
maxItems: 1
+ memory-region:
+ items:
+ - description:
+ Phandle for the node used to run firmware EMI region
+ - description:
+ Phandle for the node used to run firmware ILM region
+ - description:
+ Phandle for the node used to run firmware CPU DATA region
+
+ memory-region-names:
+ items:
+ - const: wo-emi
+ - const: wo-ilm
+ - const: wo-data
+
+ mediatek,wo-ccif:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Phandle to the mediatek wed-wo controller.
+
+ mediatek,wo-boot:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Phandle to the mediatek wed-wo boot interface.
+
+ mediatek,wo-dlm:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Phandle to the mediatek wed-wo rx hw ring.
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt7622-wed
+ then:
+ properties:
+ memory-region-names: false
+ memory-region: false
+ mediatek,wo-boot: false
+ mediatek,wo-ccif: false
+ mediatek,wo-dlm: false
+
required:
- compatible
- reg
@@ -44,8 +88,20 @@ examples:
#address-cells = <2>;
#size-cells = <2>;
wed0: wed@...0a000 {
- compatible = "mediatek,mt7622-wed","syscon";
+ compatible = "mediatek,mt7622-wed", "syscon";
reg = <0 0x1020a000 0 0x1000>;
interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_LOW>;
};
+
+ wed1: wed@...10000 {
+ compatible = "mediatek,mt7986-wed", "syscon";
+ reg = <0 0x15010000 0 0x1000>;
+ interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
+
+ memory-region = <&wo_emi>, <&wo_data>, <&wo_ilm>;
+ memory-region-names = "wo-emi", "wo-ilm", "wo-data";
+ mediatek,wo-ccif = <&wo_ccif0>;
+ mediatek,wo-boot = <&wo_boot>;
+ mediatek,wo-dlm = <&wo_dlm0>;
+ };
};
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-boot.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-boot.yaml
new file mode 100644
index 000000000000..6c3c514c48ef
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-boot.yaml
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7986-wo-boot.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title:
+ MediaTek Wireless Ethernet Dispatch WO boot controller interface for MT7986
+
+maintainers:
+ - Lorenzo Bianconi <lorenzo@...nel.org>
+ - Felix Fietkau <nbd@....name>
+
+description:
+ The mediatek wo-boot provides a configuration interface for WED WO
+ boot controller on MT7986 soc.
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - mediatek,mt7986-wo-boot
+ - const: syscon
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ wo_boot: syscon@...94000 {
+ compatible = "mediatek,mt7986-wo-boot", "syscon";
+ reg = <0 0x15194000 0 0x1000>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-ccif.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-ccif.yaml
new file mode 100644
index 000000000000..6357a206587a
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-ccif.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7986-wo-ccif.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek Wireless Ethernet Dispatch WO controller interface for MT7986
+
+maintainers:
+ - Lorenzo Bianconi <lorenzo@...nel.org>
+ - Felix Fietkau <nbd@....name>
+
+description:
+ The mediatek wo-ccif provides a configuration interface for WED WO
+ controller on MT7986 soc.
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - mediatek,mt7986-wo-ccif
+ - const: syscon
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ wo_ccif0: syscon@...a5000 {
+ compatible = "mediatek,mt7986-wo-ccif", "syscon";
+ reg = <0 0x151a5000 0 0x1000>;
+ interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-dlm.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-dlm.yaml
new file mode 100644
index 000000000000..a499956d9e07
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-dlm.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7986-wo-dlm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek Wireless Ethernet Dispatch WO hw rx ring interface for MT7986
+
+maintainers:
+ - Lorenzo Bianconi <lorenzo@...nel.org>
+ - Felix Fietkau <nbd@....name>
+
+description:
+ The mediatek wo-dlm provides a configuration interface for WED WO
+ rx ring on MT7986 soc.
+
+properties:
+ compatible:
+ const: mediatek,mt7986-wo-dlm
+
+ reg:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+ reset-names:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - resets
+ - reset-names
+
+additionalProperties: false
+
+examples:
+ - |
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ wo_dlm0: wo-dlm@...e8000 {
+ compatible = "mediatek,mt7986-wo-dlm";
+ reg = <0 0x151e8000 0 0x2000>;
+ resets = <ðsysrst 0>;
+ reset-names = "wocpu_rst";
+ };
+ };
--
2.38.1
Powered by blists - more mailing lists