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