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@xxxxxxxxxx> --- .../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@1020a000 { - 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@15010000 { + 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@xxxxxxxxxx> + - Felix Fietkau <nbd@xxxxxxxx> + +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@15194000 { + 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@xxxxxxxxxx> + - Felix Fietkau <nbd@xxxxxxxx> + +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@151a5000 { + 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@xxxxxxxxxx> + - Felix Fietkau <nbd@xxxxxxxx> + +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@151e8000 { + compatible = "mediatek,mt7986-wo-dlm"; + reg = <0 0x151e8000 0 0x2000>; + resets = <ðsysrst 0>; + reset-names = "wocpu_rst"; + }; + }; -- 2.38.1