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 77ef62cebSEmmanuel 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 18f126890aSEmmanuel VadotallOf: 19f126890aSEmmanuel Vadot - $ref: ieee80211.yaml# 20f126890aSEmmanuel Vadot 212eb4d8dcSEmmanuel Vadotproperties: 222eb4d8dcSEmmanuel Vadot compatible: 232eb4d8dcSEmmanuel Vadot oneOf: 242eb4d8dcSEmmanuel Vadot - items: 252eb4d8dcSEmmanuel Vadot - enum: 262eb4d8dcSEmmanuel Vadot - brcm,bcm43143-fmac 272eb4d8dcSEmmanuel Vadot - brcm,bcm4341b0-fmac 282eb4d8dcSEmmanuel Vadot - brcm,bcm4341b4-fmac 292eb4d8dcSEmmanuel Vadot - brcm,bcm4341b5-fmac 302eb4d8dcSEmmanuel Vadot - brcm,bcm4329-fmac 312eb4d8dcSEmmanuel Vadot - brcm,bcm4330-fmac 322eb4d8dcSEmmanuel Vadot - brcm,bcm4334-fmac 332eb4d8dcSEmmanuel Vadot - brcm,bcm43340-fmac 342eb4d8dcSEmmanuel Vadot - brcm,bcm4335-fmac 352eb4d8dcSEmmanuel Vadot - brcm,bcm43362-fmac 362eb4d8dcSEmmanuel Vadot - brcm,bcm4339-fmac 372eb4d8dcSEmmanuel Vadot - brcm,bcm43430a0-fmac 382eb4d8dcSEmmanuel Vadot - brcm,bcm43430a1-fmac 392eb4d8dcSEmmanuel Vadot - brcm,bcm43455-fmac 402eb4d8dcSEmmanuel Vadot - brcm,bcm43456-fmac 412eb4d8dcSEmmanuel Vadot - brcm,bcm4354-fmac 422eb4d8dcSEmmanuel Vadot - brcm,bcm4356-fmac 432eb4d8dcSEmmanuel Vadot - brcm,bcm4359-fmac 44f126890aSEmmanuel Vadot - brcm,bcm4366-fmac 452eb4d8dcSEmmanuel Vadot - cypress,cyw4373-fmac 462eb4d8dcSEmmanuel Vadot - cypress,cyw43012-fmac 47*7d0873ebSEmmanuel Vadot - infineon,cyw43439-fmac 482eb4d8dcSEmmanuel Vadot - const: brcm,bcm4329-fmac 497ef62cebSEmmanuel Vadot - enum: 507ef62cebSEmmanuel Vadot - brcm,bcm4329-fmac 517ef62cebSEmmanuel Vadot - pci14e4,43dc # BCM4355 527ef62cebSEmmanuel Vadot - pci14e4,4464 # BCM4364 537ef62cebSEmmanuel Vadot - pci14e4,4488 # BCM4377 547ef62cebSEmmanuel Vadot - pci14e4,4425 # BCM4378 557ef62cebSEmmanuel Vadot - pci14e4,4433 # BCM4387 562eb4d8dcSEmmanuel Vadot 572eb4d8dcSEmmanuel Vadot reg: 587ef62cebSEmmanuel Vadot description: SDIO function number for the device (for most cases 597ef62cebSEmmanuel Vadot this will be 1) or PCI device identifier. 602eb4d8dcSEmmanuel Vadot 612eb4d8dcSEmmanuel Vadot interrupts: 622eb4d8dcSEmmanuel Vadot maxItems: 1 632eb4d8dcSEmmanuel Vadot description: Out-of-band (OOB) IRQ line for waking up the host 642eb4d8dcSEmmanuel Vadot in response to WLAN activity. This corresponds to the HOST_WAKE 652eb4d8dcSEmmanuel Vadot line into the chip. 662eb4d8dcSEmmanuel Vadot 672eb4d8dcSEmmanuel Vadot interrupt-names: 682eb4d8dcSEmmanuel Vadot description: Name for the OOB IRQ, this must be set to "host-wake". 692eb4d8dcSEmmanuel Vadot const: host-wake 702eb4d8dcSEmmanuel Vadot 712eb4d8dcSEmmanuel Vadot brcm,drive-strength: 722eb4d8dcSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 732eb4d8dcSEmmanuel Vadot description: Drive strength used for the SDIO pins on the device in mA. 742eb4d8dcSEmmanuel Vadot minimum: 0 752eb4d8dcSEmmanuel Vadot maximum: 32 762eb4d8dcSEmmanuel Vadot 772eb4d8dcSEmmanuel Vadot reset-gpios: 782eb4d8dcSEmmanuel Vadot maxItems: 1 792eb4d8dcSEmmanuel Vadot description: A GPIO line connected to the WL_RST line, if present 802eb4d8dcSEmmanuel Vadot this shall be flagged as active low. 812eb4d8dcSEmmanuel Vadot 822eb4d8dcSEmmanuel Vadot brcm,ccode-map: 832eb4d8dcSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string-array 842eb4d8dcSEmmanuel Vadot description: Multiple strings for translating ISO3166 country code to 852eb4d8dcSEmmanuel Vadot brcmfmac firmware country code and revision. 862eb4d8dcSEmmanuel Vadot items: 872eb4d8dcSEmmanuel Vadot pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$' 882eb4d8dcSEmmanuel Vadot 89b97ee269SEmmanuel Vadot brcm,ccode-map-trivial: 90b97ee269SEmmanuel Vadot description: | 91b97ee269SEmmanuel Vadot Use a trivial mapping of ISO3166 country codes to brcmfmac firmware 92b97ee269SEmmanuel Vadot country code and revision: cc -> { cc, 0 }. In other words, assume that 93b97ee269SEmmanuel Vadot the CLM blob firmware uses ISO3166 country codes as well, and that all 94b97ee269SEmmanuel Vadot revisions are zero. This property is mutually exclusive with 95b97ee269SEmmanuel Vadot brcm,ccode-map. If both properties are specified, then brcm,ccode-map 96b97ee269SEmmanuel Vadot takes precedence. 97b97ee269SEmmanuel Vadot type: boolean 98b97ee269SEmmanuel Vadot 997ef62cebSEmmanuel Vadot brcm,cal-blob: 1007ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8-array 1017ef62cebSEmmanuel Vadot description: A per-device calibration blob for the Wi-Fi radio. This 1027ef62cebSEmmanuel Vadot should be filled in by the bootloader from platform configuration 1037ef62cebSEmmanuel Vadot data, if necessary, and will be uploaded to the device if present. 1047ef62cebSEmmanuel Vadot 1057ef62cebSEmmanuel Vadot brcm,board-type: 1067ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 1077ef62cebSEmmanuel Vadot description: Overrides the board type, which is normally the compatible of 1087ef62cebSEmmanuel Vadot the root node. This can be used to decouple the overall system board or 1097ef62cebSEmmanuel Vadot device name from the board type for WiFi purposes, which is used to 1107ef62cebSEmmanuel Vadot construct firmware and NVRAM configuration filenames, allowing for 1117ef62cebSEmmanuel Vadot multiple devices that share the same module or characteristics for the 1127ef62cebSEmmanuel Vadot WiFi subsystem to share the same firmware/NVRAM files. On Apple platforms, 1137ef62cebSEmmanuel Vadot this should be the Apple module-instance codename prefixed by "apple,", 1147ef62cebSEmmanuel Vadot e.g. "apple,honshu". 1157ef62cebSEmmanuel Vadot 1167ef62cebSEmmanuel Vadot apple,antenna-sku: 1177ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 1187ef62cebSEmmanuel Vadot description: Antenna SKU used to identify a specific antenna configuration 1197ef62cebSEmmanuel Vadot on Apple platforms. This is use to build firmware filenames, to allow 1207ef62cebSEmmanuel Vadot platforms with different antenna configs to have different firmware and/or 1217ef62cebSEmmanuel Vadot NVRAM. This would normally be filled in by the bootloader from platform 1227ef62cebSEmmanuel Vadot configuration data. 1237ef62cebSEmmanuel Vadot 1242eb4d8dcSEmmanuel Vadotrequired: 1252eb4d8dcSEmmanuel Vadot - compatible 1262eb4d8dcSEmmanuel Vadot - reg 1272eb4d8dcSEmmanuel Vadot 128f126890aSEmmanuel VadotunevaluatedProperties: false 1292eb4d8dcSEmmanuel Vadot 1302eb4d8dcSEmmanuel Vadotexamples: 1312eb4d8dcSEmmanuel Vadot - | 1322eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1332eb4d8dcSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 1342eb4d8dcSEmmanuel Vadot mmc@80118000 { 1352eb4d8dcSEmmanuel Vadot compatible = "arm,pl18x", "arm,primecell"; 1362eb4d8dcSEmmanuel Vadot reg = <0x80118000 0x1000>; 1372eb4d8dcSEmmanuel Vadot clocks = <&clk 0>, <&clk 1>; 1382eb4d8dcSEmmanuel Vadot clock-names = "mclk", "apb_pclk"; 1392eb4d8dcSEmmanuel Vadot interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; 1402eb4d8dcSEmmanuel Vadot bus-width = <4>; 1412eb4d8dcSEmmanuel Vadot non-removable; 1422eb4d8dcSEmmanuel Vadot vmmc-supply = <&wl_bt_reg>; 1432eb4d8dcSEmmanuel Vadot #address-cells = <1>; 1442eb4d8dcSEmmanuel Vadot #size-cells = <0>; 1452eb4d8dcSEmmanuel Vadot 1462eb4d8dcSEmmanuel Vadot wifi@1 { 1472eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; 1482eb4d8dcSEmmanuel Vadot reg = <1>; 1492eb4d8dcSEmmanuel Vadot interrupt-parent = <&gpio>; 1502eb4d8dcSEmmanuel Vadot interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 1512eb4d8dcSEmmanuel Vadot interrupt-names = "host-wake"; 1522eb4d8dcSEmmanuel Vadot reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 1532eb4d8dcSEmmanuel Vadot brcm,ccode-map = "JP-JP-78", "US-Q2-86"; 1542eb4d8dcSEmmanuel Vadot }; 1552eb4d8dcSEmmanuel Vadot }; 156