[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <337ef332ca50e6a40f3fdceeb7262d91165c6323.1666549145.git.lorenzo@kernel.org>
Date: Sun, 23 Oct 2022 20:28:06 +0200
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@...nel.org, daniel@...rotopia.org
Subject: [PATCH v2 net-next 2/6] 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 | 91 +++++++++++++++++++
.../arm/mediatek/mediatek,mt7986-wo-boot.yaml | 46 ++++++++++
.../arm/mediatek/mediatek,mt7986-wo-ccif.yaml | 49 ++++++++++
.../arm/mediatek/mediatek,mt7986-wo-dlm.yaml | 50 ++++++++++
4 files changed, 236 insertions(+)
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..8e2905004790 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7622-wed.yaml
@@ -29,6 +29,41 @@ properties:
interrupts:
maxItems: 1
+ memory-region:
+ minItems: 3
+ maxItems: 3
+ description:
+ phandles to nodes describing reserved memory used by mt7986-wed firmware
+ (see bindings/reserved-memory/reserved-memory.txt)
+
+ 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,mt7986-wed
+ then:
+ properties:
+ mediatek,wo-boot: true
+ mediatek,wo-ccif: true
+ mediatek,wo-dlm: true
+ memory-region: true
+
required:
- compatible
- reg
@@ -49,3 +84,59 @@ examples:
interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_LOW>;
};
};
+
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ wo_emi: wo-emi@...00000 {
+ reg = <0 0x4fd00000 0 0x40000>;
+ no-map;
+ };
+
+ wo_data: wo-data@...80000 {
+ reg = <0 0x4fd80000 0 0x240000>;
+ no-map;
+ };
+
+ wo_ilm: wo-ilm@...e0000 {
+ reg = <0 0x151e0000 0 0x8000>;
+ no-map;
+ };
+ };
+
+ wo_boot: wo-boot@...94000 {
+ compatible = "mediatek,mt7986-wo-boot","syscon";
+ reg = <0 0x15194000 0 0x1000>;
+ };
+
+ wo_ccif0: wo-ccif@...a5000 {
+ compatible = "mediatek,mt7986-wo-ccif","syscon";
+ reg = <0 0x151a5000 0 0x1000>;
+ interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ wo_dlm0: wo-dlm@...e8000 {
+ compatible = "mediatek,mt7986-wo-dlm";
+ reg = <0 0x151e8000 0 0x2000>;
+ resets = <ðsysrst 0>;
+ reset-names = "wocpu_rst";
+ };
+
+ wed1: wed@...0a000 {
+ 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>;
+ 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..ce9c971e6604
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-boot.yaml
@@ -0,0 +1,46 @@
+# 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: wo-boot@...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..48cb27bcc4cd
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt7986-wo-ccif.yaml
@@ -0,0 +1,49 @@
+# 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 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: wo-ccif@...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..db9252598a42
--- /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.37.3
Powered by blists - more mailing lists