155c1c4e9SLorenzo Bianconi# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 255c1c4e9SLorenzo Bianconi%YAML 1.2 355c1c4e9SLorenzo Bianconi--- 455c1c4e9SLorenzo Bianconi$id: "http://devicetree.org/schemas/arm/mediatek/mediatek,mt7622-wed.yaml#" 555c1c4e9SLorenzo Bianconi$schema: "http://devicetree.org/meta-schemas/core.yaml#" 655c1c4e9SLorenzo Bianconi 755c1c4e9SLorenzo Bianconititle: MediaTek Wireless Ethernet Dispatch Controller for MT7622 855c1c4e9SLorenzo Bianconi 955c1c4e9SLorenzo Bianconimaintainers: 1055c1c4e9SLorenzo Bianconi - Lorenzo Bianconi <lorenzo@kernel.org> 1155c1c4e9SLorenzo Bianconi - Felix Fietkau <nbd@nbd.name> 1255c1c4e9SLorenzo Bianconi 1355c1c4e9SLorenzo Bianconidescription: 1455c1c4e9SLorenzo Bianconi The mediatek wireless ethernet dispatch controller can be configured to 1555c1c4e9SLorenzo Bianconi intercept and handle access to the WLAN DMA queues and PCIe interrupts 1655c1c4e9SLorenzo Bianconi and implement hardware flow offloading from ethernet to WLAN. 1755c1c4e9SLorenzo Bianconi 1855c1c4e9SLorenzo Bianconiproperties: 1955c1c4e9SLorenzo Bianconi compatible: 2055c1c4e9SLorenzo Bianconi items: 2155c1c4e9SLorenzo Bianconi - enum: 2255c1c4e9SLorenzo Bianconi - mediatek,mt7622-wed 2322ecfce1SLorenzo Bianconi - mediatek,mt7986-wed 2455c1c4e9SLorenzo Bianconi - const: syscon 2555c1c4e9SLorenzo Bianconi 2655c1c4e9SLorenzo Bianconi reg: 2755c1c4e9SLorenzo Bianconi maxItems: 1 2855c1c4e9SLorenzo Bianconi 2955c1c4e9SLorenzo Bianconi interrupts: 3055c1c4e9SLorenzo Bianconi maxItems: 1 3155c1c4e9SLorenzo Bianconi 32*ceb82ac2SLorenzo Bianconi memory-region: 33*ceb82ac2SLorenzo Bianconi items: 34*ceb82ac2SLorenzo Bianconi - description: firmware EMI region 35*ceb82ac2SLorenzo Bianconi - description: firmware ILM region 36*ceb82ac2SLorenzo Bianconi - description: firmware DLM region 37*ceb82ac2SLorenzo Bianconi - description: firmware CPU DATA region 38*ceb82ac2SLorenzo Bianconi - description: firmware BOOT region 39*ceb82ac2SLorenzo Bianconi 40*ceb82ac2SLorenzo Bianconi memory-region-names: 41*ceb82ac2SLorenzo Bianconi items: 42*ceb82ac2SLorenzo Bianconi - const: wo-emi 43*ceb82ac2SLorenzo Bianconi - const: wo-ilm 44*ceb82ac2SLorenzo Bianconi - const: wo-dlm 45*ceb82ac2SLorenzo Bianconi - const: wo-data 46*ceb82ac2SLorenzo Bianconi - const: wo-boot 47*ceb82ac2SLorenzo Bianconi 48*ceb82ac2SLorenzo Bianconi mediatek,wo-ccif: 49*ceb82ac2SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle 50*ceb82ac2SLorenzo Bianconi description: mediatek wed-wo controller interface. 51*ceb82ac2SLorenzo Bianconi 52*ceb82ac2SLorenzo BianconiallOf: 53*ceb82ac2SLorenzo Bianconi - if: 54*ceb82ac2SLorenzo Bianconi properties: 55*ceb82ac2SLorenzo Bianconi compatible: 56*ceb82ac2SLorenzo Bianconi contains: 57*ceb82ac2SLorenzo Bianconi const: mediatek,mt7622-wed 58*ceb82ac2SLorenzo Bianconi then: 59*ceb82ac2SLorenzo Bianconi properties: 60*ceb82ac2SLorenzo Bianconi memory-region-names: false 61*ceb82ac2SLorenzo Bianconi memory-region: false 62*ceb82ac2SLorenzo Bianconi mediatek,wo-ccif: false 63*ceb82ac2SLorenzo Bianconi 6455c1c4e9SLorenzo Bianconirequired: 6555c1c4e9SLorenzo Bianconi - compatible 6655c1c4e9SLorenzo Bianconi - reg 6755c1c4e9SLorenzo Bianconi - interrupts 6855c1c4e9SLorenzo Bianconi 6955c1c4e9SLorenzo BianconiadditionalProperties: false 7055c1c4e9SLorenzo Bianconi 7155c1c4e9SLorenzo Bianconiexamples: 7255c1c4e9SLorenzo Bianconi - | 7355c1c4e9SLorenzo Bianconi #include <dt-bindings/interrupt-controller/arm-gic.h> 7455c1c4e9SLorenzo Bianconi #include <dt-bindings/interrupt-controller/irq.h> 7555c1c4e9SLorenzo Bianconi soc { 7655c1c4e9SLorenzo Bianconi #address-cells = <2>; 7755c1c4e9SLorenzo Bianconi #size-cells = <2>; 7855c1c4e9SLorenzo Bianconi wed0: wed@1020a000 { 7955c1c4e9SLorenzo Bianconi compatible = "mediatek,mt7622-wed","syscon"; 8055c1c4e9SLorenzo Bianconi reg = <0 0x1020a000 0 0x1000>; 8155c1c4e9SLorenzo Bianconi interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_LOW>; 8255c1c4e9SLorenzo Bianconi }; 8355c1c4e9SLorenzo Bianconi }; 84*ceb82ac2SLorenzo Bianconi 85*ceb82ac2SLorenzo Bianconi - | 86*ceb82ac2SLorenzo Bianconi #include <dt-bindings/interrupt-controller/arm-gic.h> 87*ceb82ac2SLorenzo Bianconi #include <dt-bindings/interrupt-controller/irq.h> 88*ceb82ac2SLorenzo Bianconi soc { 89*ceb82ac2SLorenzo Bianconi #address-cells = <2>; 90*ceb82ac2SLorenzo Bianconi #size-cells = <2>; 91*ceb82ac2SLorenzo Bianconi 92*ceb82ac2SLorenzo Bianconi wed@15010000 { 93*ceb82ac2SLorenzo Bianconi compatible = "mediatek,mt7986-wed", "syscon"; 94*ceb82ac2SLorenzo Bianconi reg = <0 0x15010000 0 0x1000>; 95*ceb82ac2SLorenzo Bianconi interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>; 96*ceb82ac2SLorenzo Bianconi 97*ceb82ac2SLorenzo Bianconi memory-region = <&wo_emi>, <&wo_ilm>, <&wo_dlm>, 98*ceb82ac2SLorenzo Bianconi <&wo_data>, <&wo_boot>; 99*ceb82ac2SLorenzo Bianconi memory-region-names = "wo-emi", "wo-ilm", "wo-dlm", 100*ceb82ac2SLorenzo Bianconi "wo-data", "wo-boot"; 101*ceb82ac2SLorenzo Bianconi mediatek,wo-ccif = <&wo_ccif0>; 102*ceb82ac2SLorenzo Bianconi }; 103*ceb82ac2SLorenzo Bianconi }; 104