12601ab54SLinus Walleij# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 22601ab54SLinus Walleij%YAML 1.2 32601ab54SLinus Walleij--- 42601ab54SLinus Walleij$id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml# 52601ab54SLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml# 62601ab54SLinus Walleij 7e2e37224SHector Martintitle: Broadcom BCM4329 family fullmac wireless SDIO/PCIE devices 82601ab54SLinus Walleij 92601ab54SLinus Walleijmaintainers: 102601ab54SLinus Walleij - Arend van Spriel <arend@broadcom.com> 112601ab54SLinus Walleij 122601ab54SLinus Walleijdescription: 132601ab54SLinus Walleij The Broadcom Single chip MAC part for the BCM4329 family and 142601ab54SLinus Walleij later Cypress chips in the same family named CYW4373 and similar. 152601ab54SLinus Walleij These chips also have a Bluetooth portion described in a separate 162601ab54SLinus Walleij binding. 172601ab54SLinus Walleij 18*156d2a64SRafał MiłeckiallOf: 19*156d2a64SRafał Miłecki - $ref: ieee80211.yaml# 20*156d2a64SRafał Miłecki 212601ab54SLinus Walleijproperties: 222601ab54SLinus Walleij compatible: 232601ab54SLinus Walleij oneOf: 242601ab54SLinus Walleij - items: 252601ab54SLinus Walleij - enum: 262601ab54SLinus Walleij - brcm,bcm43143-fmac 272601ab54SLinus Walleij - brcm,bcm4341b0-fmac 282601ab54SLinus Walleij - brcm,bcm4341b4-fmac 292601ab54SLinus Walleij - brcm,bcm4341b5-fmac 302601ab54SLinus Walleij - brcm,bcm4329-fmac 312601ab54SLinus Walleij - brcm,bcm4330-fmac 322601ab54SLinus Walleij - brcm,bcm4334-fmac 332601ab54SLinus Walleij - brcm,bcm43340-fmac 342601ab54SLinus Walleij - brcm,bcm4335-fmac 352601ab54SLinus Walleij - brcm,bcm43362-fmac 362601ab54SLinus Walleij - brcm,bcm4339-fmac 372601ab54SLinus Walleij - brcm,bcm43430a0-fmac 382601ab54SLinus Walleij - brcm,bcm43430a1-fmac 392601ab54SLinus Walleij - brcm,bcm43455-fmac 402601ab54SLinus Walleij - brcm,bcm43456-fmac 412601ab54SLinus Walleij - brcm,bcm4354-fmac 422601ab54SLinus Walleij - brcm,bcm4356-fmac 432601ab54SLinus Walleij - brcm,bcm4359-fmac 443efb0f17SRafał Miłecki - brcm,bcm4366-fmac 452601ab54SLinus Walleij - cypress,cyw4373-fmac 462601ab54SLinus Walleij - cypress,cyw43012-fmac 472601ab54SLinus Walleij - const: brcm,bcm4329-fmac 48e2e37224SHector Martin - enum: 49e2e37224SHector Martin - brcm,bcm4329-fmac 50e2e37224SHector Martin - pci14e4,43dc # BCM4355 51e2e37224SHector Martin - pci14e4,4464 # BCM4364 52e2e37224SHector Martin - pci14e4,4488 # BCM4377 53e2e37224SHector Martin - pci14e4,4425 # BCM4378 54e2e37224SHector Martin - pci14e4,4433 # BCM4387 552601ab54SLinus Walleij 562601ab54SLinus Walleij reg: 57e2e37224SHector Martin description: SDIO function number for the device (for most cases 58e2e37224SHector Martin this will be 1) or PCI device identifier. 592601ab54SLinus Walleij 602601ab54SLinus Walleij interrupts: 612601ab54SLinus Walleij maxItems: 1 622601ab54SLinus Walleij description: Out-of-band (OOB) IRQ line for waking up the host 632601ab54SLinus Walleij in response to WLAN activity. This corresponds to the HOST_WAKE 642601ab54SLinus Walleij line into the chip. 652601ab54SLinus Walleij 662601ab54SLinus Walleij interrupt-names: 672601ab54SLinus Walleij description: Name for the OOB IRQ, this must be set to "host-wake". 682601ab54SLinus Walleij const: host-wake 692601ab54SLinus Walleij 702601ab54SLinus Walleij brcm,drive-strength: 712601ab54SLinus Walleij $ref: /schemas/types.yaml#/definitions/uint32 722601ab54SLinus Walleij description: Drive strength used for the SDIO pins on the device in mA. 732601ab54SLinus Walleij minimum: 0 742601ab54SLinus Walleij maximum: 32 752601ab54SLinus Walleij 762601ab54SLinus Walleij reset-gpios: 772601ab54SLinus Walleij maxItems: 1 782601ab54SLinus Walleij description: A GPIO line connected to the WL_RST line, if present 792601ab54SLinus Walleij this shall be flagged as active low. 802601ab54SLinus Walleij 81b4193622SShawn Guo brcm,ccode-map: 82b4193622SShawn Guo $ref: /schemas/types.yaml#/definitions/string-array 83b4193622SShawn Guo description: Multiple strings for translating ISO3166 country code to 84b4193622SShawn Guo brcmfmac firmware country code and revision. 85b4193622SShawn Guo items: 86b4193622SShawn Guo pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$' 87b4193622SShawn Guo 888406993aSAlvin Šipraga brcm,ccode-map-trivial: 898406993aSAlvin Šipraga description: | 908406993aSAlvin Šipraga Use a trivial mapping of ISO3166 country codes to brcmfmac firmware 918406993aSAlvin Šipraga country code and revision: cc -> { cc, 0 }. In other words, assume that 928406993aSAlvin Šipraga the CLM blob firmware uses ISO3166 country codes as well, and that all 938406993aSAlvin Šipraga revisions are zero. This property is mutually exclusive with 948406993aSAlvin Šipraga brcm,ccode-map. If both properties are specified, then brcm,ccode-map 958406993aSAlvin Šipraga takes precedence. 968406993aSAlvin Šipraga type: boolean 978406993aSAlvin Šipraga 98e2e37224SHector Martin brcm,cal-blob: 99e2e37224SHector Martin $ref: /schemas/types.yaml#/definitions/uint8-array 100e2e37224SHector Martin description: A per-device calibration blob for the Wi-Fi radio. This 101e2e37224SHector Martin should be filled in by the bootloader from platform configuration 102e2e37224SHector Martin data, if necessary, and will be uploaded to the device if present. 103e2e37224SHector Martin 104e2e37224SHector Martin brcm,board-type: 105e2e37224SHector Martin $ref: /schemas/types.yaml#/definitions/string 106e2e37224SHector Martin description: Overrides the board type, which is normally the compatible of 107e2e37224SHector Martin the root node. This can be used to decouple the overall system board or 108e2e37224SHector Martin device name from the board type for WiFi purposes, which is used to 109e2e37224SHector Martin construct firmware and NVRAM configuration filenames, allowing for 110e2e37224SHector Martin multiple devices that share the same module or characteristics for the 111e2e37224SHector Martin WiFi subsystem to share the same firmware/NVRAM files. On Apple platforms, 112e2e37224SHector Martin this should be the Apple module-instance codename prefixed by "apple,", 113e2e37224SHector Martin e.g. "apple,honshu". 114e2e37224SHector Martin 115e2e37224SHector Martin apple,antenna-sku: 116e2e37224SHector Martin $ref: /schemas/types.yaml#/definitions/string 117e2e37224SHector Martin description: Antenna SKU used to identify a specific antenna configuration 118e2e37224SHector Martin on Apple platforms. This is use to build firmware filenames, to allow 119e2e37224SHector Martin platforms with different antenna configs to have different firmware and/or 120e2e37224SHector Martin NVRAM. This would normally be filled in by the bootloader from platform 121e2e37224SHector Martin configuration data. 122e2e37224SHector Martin 1232601ab54SLinus Walleijrequired: 1242601ab54SLinus Walleij - compatible 1252601ab54SLinus Walleij - reg 1262601ab54SLinus Walleij 127*156d2a64SRafał MiłeckiunevaluatedProperties: false 1282601ab54SLinus Walleij 1292601ab54SLinus Walleijexamples: 1302601ab54SLinus Walleij - | 1312601ab54SLinus Walleij #include <dt-bindings/interrupt-controller/irq.h> 1322601ab54SLinus Walleij #include <dt-bindings/gpio/gpio.h> 1332601ab54SLinus Walleij mmc@80118000 { 1342601ab54SLinus Walleij compatible = "arm,pl18x", "arm,primecell"; 1352601ab54SLinus Walleij reg = <0x80118000 0x1000>; 1362601ab54SLinus Walleij clocks = <&clk 0>, <&clk 1>; 1372601ab54SLinus Walleij clock-names = "mclk", "apb_pclk"; 1382601ab54SLinus Walleij interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; 1392601ab54SLinus Walleij bus-width = <4>; 1402601ab54SLinus Walleij non-removable; 1412601ab54SLinus Walleij vmmc-supply = <&wl_bt_reg>; 1422601ab54SLinus Walleij #address-cells = <1>; 1432601ab54SLinus Walleij #size-cells = <0>; 1442601ab54SLinus Walleij 1452601ab54SLinus Walleij wifi@1 { 1462601ab54SLinus Walleij compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; 1472601ab54SLinus Walleij reg = <1>; 1482601ab54SLinus Walleij interrupt-parent = <&gpio>; 1492601ab54SLinus Walleij interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 1502601ab54SLinus Walleij interrupt-names = "host-wake"; 1512601ab54SLinus Walleij reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 152b4193622SShawn Guo brcm,ccode-map = "JP-JP-78", "US-Q2-86"; 1532601ab54SLinus Walleij }; 1542601ab54SLinus Walleij }; 155