12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 22eb4d8dcSEmmanuel Vadot%YAML 1.2 32eb4d8dcSEmmanuel Vadot--- 42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml# 52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 62eb4d8dcSEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Broadcom BCM4329 family fullmac wireless SDIO/PCIE devices 82eb4d8dcSEmmanuel Vadot 92eb4d8dcSEmmanuel Vadotmaintainers: 102eb4d8dcSEmmanuel Vadot - Arend van Spriel <arend@broadcom.com> 112eb4d8dcSEmmanuel Vadot 122eb4d8dcSEmmanuel Vadotdescription: 132eb4d8dcSEmmanuel Vadot The Broadcom Single chip MAC part for the BCM4329 family and 142eb4d8dcSEmmanuel Vadot later Cypress chips in the same family named CYW4373 and similar. 152eb4d8dcSEmmanuel Vadot These chips also have a Bluetooth portion described in a separate 162eb4d8dcSEmmanuel Vadot binding. 172eb4d8dcSEmmanuel Vadot 182eb4d8dcSEmmanuel Vadotproperties: 192eb4d8dcSEmmanuel Vadot compatible: 202eb4d8dcSEmmanuel Vadot oneOf: 212eb4d8dcSEmmanuel Vadot - items: 222eb4d8dcSEmmanuel Vadot - enum: 232eb4d8dcSEmmanuel Vadot - brcm,bcm43143-fmac 242eb4d8dcSEmmanuel Vadot - brcm,bcm4341b0-fmac 252eb4d8dcSEmmanuel Vadot - brcm,bcm4341b4-fmac 262eb4d8dcSEmmanuel Vadot - brcm,bcm4341b5-fmac 272eb4d8dcSEmmanuel Vadot - brcm,bcm4329-fmac 282eb4d8dcSEmmanuel Vadot - brcm,bcm4330-fmac 292eb4d8dcSEmmanuel Vadot - brcm,bcm4334-fmac 302eb4d8dcSEmmanuel Vadot - brcm,bcm43340-fmac 312eb4d8dcSEmmanuel Vadot - brcm,bcm4335-fmac 322eb4d8dcSEmmanuel Vadot - brcm,bcm43362-fmac 332eb4d8dcSEmmanuel Vadot - brcm,bcm4339-fmac 342eb4d8dcSEmmanuel Vadot - brcm,bcm43430a0-fmac 352eb4d8dcSEmmanuel Vadot - brcm,bcm43430a1-fmac 362eb4d8dcSEmmanuel Vadot - brcm,bcm43455-fmac 372eb4d8dcSEmmanuel Vadot - brcm,bcm43456-fmac 382eb4d8dcSEmmanuel Vadot - brcm,bcm4354-fmac 392eb4d8dcSEmmanuel Vadot - brcm,bcm4356-fmac 402eb4d8dcSEmmanuel Vadot - brcm,bcm4359-fmac 412eb4d8dcSEmmanuel Vadot - cypress,cyw4373-fmac 422eb4d8dcSEmmanuel Vadot - cypress,cyw43012-fmac 432eb4d8dcSEmmanuel Vadot - const: brcm,bcm4329-fmac 44*7ef62cebSEmmanuel Vadot - enum: 45*7ef62cebSEmmanuel Vadot - brcm,bcm4329-fmac 46*7ef62cebSEmmanuel Vadot - pci14e4,43dc # BCM4355 47*7ef62cebSEmmanuel Vadot - pci14e4,4464 # BCM4364 48*7ef62cebSEmmanuel Vadot - pci14e4,4488 # BCM4377 49*7ef62cebSEmmanuel Vadot - pci14e4,4425 # BCM4378 50*7ef62cebSEmmanuel Vadot - pci14e4,4433 # BCM4387 512eb4d8dcSEmmanuel Vadot 522eb4d8dcSEmmanuel Vadot reg: 53*7ef62cebSEmmanuel Vadot description: SDIO function number for the device (for most cases 54*7ef62cebSEmmanuel Vadot this will be 1) or PCI device identifier. 552eb4d8dcSEmmanuel Vadot 562eb4d8dcSEmmanuel Vadot interrupts: 572eb4d8dcSEmmanuel Vadot maxItems: 1 582eb4d8dcSEmmanuel Vadot description: Out-of-band (OOB) IRQ line for waking up the host 592eb4d8dcSEmmanuel Vadot in response to WLAN activity. This corresponds to the HOST_WAKE 602eb4d8dcSEmmanuel Vadot line into the chip. 612eb4d8dcSEmmanuel Vadot 622eb4d8dcSEmmanuel Vadot interrupt-names: 632eb4d8dcSEmmanuel Vadot description: Name for the OOB IRQ, this must be set to "host-wake". 642eb4d8dcSEmmanuel Vadot const: host-wake 652eb4d8dcSEmmanuel Vadot 662eb4d8dcSEmmanuel Vadot brcm,drive-strength: 672eb4d8dcSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 682eb4d8dcSEmmanuel Vadot description: Drive strength used for the SDIO pins on the device in mA. 692eb4d8dcSEmmanuel Vadot minimum: 0 702eb4d8dcSEmmanuel Vadot maximum: 32 712eb4d8dcSEmmanuel Vadot 722eb4d8dcSEmmanuel Vadot reset-gpios: 732eb4d8dcSEmmanuel Vadot maxItems: 1 742eb4d8dcSEmmanuel Vadot description: A GPIO line connected to the WL_RST line, if present 752eb4d8dcSEmmanuel Vadot this shall be flagged as active low. 762eb4d8dcSEmmanuel Vadot 772eb4d8dcSEmmanuel Vadot brcm,ccode-map: 782eb4d8dcSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string-array 792eb4d8dcSEmmanuel Vadot description: Multiple strings for translating ISO3166 country code to 802eb4d8dcSEmmanuel Vadot brcmfmac firmware country code and revision. 812eb4d8dcSEmmanuel Vadot items: 822eb4d8dcSEmmanuel Vadot pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$' 832eb4d8dcSEmmanuel Vadot 84b97ee269SEmmanuel Vadot brcm,ccode-map-trivial: 85b97ee269SEmmanuel Vadot description: | 86b97ee269SEmmanuel Vadot Use a trivial mapping of ISO3166 country codes to brcmfmac firmware 87b97ee269SEmmanuel Vadot country code and revision: cc -> { cc, 0 }. In other words, assume that 88b97ee269SEmmanuel Vadot the CLM blob firmware uses ISO3166 country codes as well, and that all 89b97ee269SEmmanuel Vadot revisions are zero. This property is mutually exclusive with 90b97ee269SEmmanuel Vadot brcm,ccode-map. If both properties are specified, then brcm,ccode-map 91b97ee269SEmmanuel Vadot takes precedence. 92b97ee269SEmmanuel Vadot type: boolean 93b97ee269SEmmanuel Vadot 94*7ef62cebSEmmanuel Vadot brcm,cal-blob: 95*7ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8-array 96*7ef62cebSEmmanuel Vadot description: A per-device calibration blob for the Wi-Fi radio. This 97*7ef62cebSEmmanuel Vadot should be filled in by the bootloader from platform configuration 98*7ef62cebSEmmanuel Vadot data, if necessary, and will be uploaded to the device if present. 99*7ef62cebSEmmanuel Vadot 100*7ef62cebSEmmanuel Vadot brcm,board-type: 101*7ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 102*7ef62cebSEmmanuel Vadot description: Overrides the board type, which is normally the compatible of 103*7ef62cebSEmmanuel Vadot the root node. This can be used to decouple the overall system board or 104*7ef62cebSEmmanuel Vadot device name from the board type for WiFi purposes, which is used to 105*7ef62cebSEmmanuel Vadot construct firmware and NVRAM configuration filenames, allowing for 106*7ef62cebSEmmanuel Vadot multiple devices that share the same module or characteristics for the 107*7ef62cebSEmmanuel Vadot WiFi subsystem to share the same firmware/NVRAM files. On Apple platforms, 108*7ef62cebSEmmanuel Vadot this should be the Apple module-instance codename prefixed by "apple,", 109*7ef62cebSEmmanuel Vadot e.g. "apple,honshu". 110*7ef62cebSEmmanuel Vadot 111*7ef62cebSEmmanuel Vadot apple,antenna-sku: 112*7ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 113*7ef62cebSEmmanuel Vadot description: Antenna SKU used to identify a specific antenna configuration 114*7ef62cebSEmmanuel Vadot on Apple platforms. This is use to build firmware filenames, to allow 115*7ef62cebSEmmanuel Vadot platforms with different antenna configs to have different firmware and/or 116*7ef62cebSEmmanuel Vadot NVRAM. This would normally be filled in by the bootloader from platform 117*7ef62cebSEmmanuel Vadot configuration data. 118*7ef62cebSEmmanuel Vadot 1192eb4d8dcSEmmanuel Vadotrequired: 1202eb4d8dcSEmmanuel Vadot - compatible 1212eb4d8dcSEmmanuel Vadot - reg 1222eb4d8dcSEmmanuel Vadot 1232eb4d8dcSEmmanuel VadotadditionalProperties: false 1242eb4d8dcSEmmanuel Vadot 1252eb4d8dcSEmmanuel Vadotexamples: 1262eb4d8dcSEmmanuel Vadot - | 1272eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1282eb4d8dcSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 1292eb4d8dcSEmmanuel Vadot mmc@80118000 { 1302eb4d8dcSEmmanuel Vadot compatible = "arm,pl18x", "arm,primecell"; 1312eb4d8dcSEmmanuel Vadot reg = <0x80118000 0x1000>; 1322eb4d8dcSEmmanuel Vadot clocks = <&clk 0>, <&clk 1>; 1332eb4d8dcSEmmanuel Vadot clock-names = "mclk", "apb_pclk"; 1342eb4d8dcSEmmanuel Vadot interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; 1352eb4d8dcSEmmanuel Vadot bus-width = <4>; 1362eb4d8dcSEmmanuel Vadot non-removable; 1372eb4d8dcSEmmanuel Vadot vmmc-supply = <&wl_bt_reg>; 1382eb4d8dcSEmmanuel Vadot #address-cells = <1>; 1392eb4d8dcSEmmanuel Vadot #size-cells = <0>; 1402eb4d8dcSEmmanuel Vadot 1412eb4d8dcSEmmanuel Vadot wifi@1 { 1422eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; 1432eb4d8dcSEmmanuel Vadot reg = <1>; 1442eb4d8dcSEmmanuel Vadot interrupt-parent = <&gpio>; 1452eb4d8dcSEmmanuel Vadot interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 1462eb4d8dcSEmmanuel Vadot interrupt-names = "host-wake"; 1472eb4d8dcSEmmanuel Vadot reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 1482eb4d8dcSEmmanuel Vadot brcm,ccode-map = "JP-JP-78", "US-Q2-86"; 1492eb4d8dcSEmmanuel Vadot }; 1502eb4d8dcSEmmanuel Vadot }; 151