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 18156d2a64SRafał MiłeckiallOf: 19156d2a64SRafał Miłecki - $ref: ieee80211.yaml# 20156d2a64SRafał 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 47086ba26dSMarek Vasut - infineon,cyw43439-fmac 482601ab54SLinus Walleij - const: brcm,bcm4329-fmac 49e2e37224SHector Martin - enum: 50e2e37224SHector Martin - brcm,bcm4329-fmac 51e2e37224SHector Martin - pci14e4,43dc # BCM4355 52e2e37224SHector Martin - pci14e4,4464 # BCM4364 53e2e37224SHector Martin - pci14e4,4488 # BCM4377 54e2e37224SHector Martin - pci14e4,4425 # BCM4378 55e2e37224SHector Martin - pci14e4,4433 # BCM4387 5697cb465eSJacobe Zang - pci14e4,449d # BCM43752 572601ab54SLinus Walleij 582601ab54SLinus Walleij reg: 59e2e37224SHector Martin description: SDIO function number for the device (for most cases 60e2e37224SHector Martin this will be 1) or PCI device identifier. 612601ab54SLinus Walleij 622601ab54SLinus Walleij interrupts: 632601ab54SLinus Walleij maxItems: 1 642601ab54SLinus Walleij description: Out-of-band (OOB) IRQ line for waking up the host 652601ab54SLinus Walleij in response to WLAN activity. This corresponds to the HOST_WAKE 662601ab54SLinus Walleij line into the chip. 672601ab54SLinus Walleij 682601ab54SLinus Walleij interrupt-names: 692601ab54SLinus Walleij description: Name for the OOB IRQ, this must be set to "host-wake". 702601ab54SLinus Walleij const: host-wake 712601ab54SLinus Walleij 722601ab54SLinus Walleij brcm,drive-strength: 732601ab54SLinus Walleij $ref: /schemas/types.yaml#/definitions/uint32 742601ab54SLinus Walleij description: Drive strength used for the SDIO pins on the device in mA. 752601ab54SLinus Walleij minimum: 0 762601ab54SLinus Walleij maximum: 32 772601ab54SLinus Walleij 782601ab54SLinus Walleij reset-gpios: 792601ab54SLinus Walleij maxItems: 1 802601ab54SLinus Walleij description: A GPIO line connected to the WL_RST line, if present 812601ab54SLinus Walleij this shall be flagged as active low. 822601ab54SLinus Walleij 83b4193622SShawn Guo brcm,ccode-map: 84b4193622SShawn Guo $ref: /schemas/types.yaml#/definitions/string-array 85b4193622SShawn Guo description: Multiple strings for translating ISO3166 country code to 86b4193622SShawn Guo brcmfmac firmware country code and revision. 87b4193622SShawn Guo items: 88b4193622SShawn Guo pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$' 89b4193622SShawn Guo 908406993aSAlvin Šipraga brcm,ccode-map-trivial: 918406993aSAlvin Šipraga description: | 928406993aSAlvin Šipraga Use a trivial mapping of ISO3166 country codes to brcmfmac firmware 938406993aSAlvin Šipraga country code and revision: cc -> { cc, 0 }. In other words, assume that 948406993aSAlvin Šipraga the CLM blob firmware uses ISO3166 country codes as well, and that all 958406993aSAlvin Šipraga revisions are zero. This property is mutually exclusive with 968406993aSAlvin Šipraga brcm,ccode-map. If both properties are specified, then brcm,ccode-map 978406993aSAlvin Šipraga takes precedence. 988406993aSAlvin Šipraga type: boolean 998406993aSAlvin Šipraga 100e2e37224SHector Martin brcm,cal-blob: 101e2e37224SHector Martin $ref: /schemas/types.yaml#/definitions/uint8-array 102e2e37224SHector Martin description: A per-device calibration blob for the Wi-Fi radio. This 103e2e37224SHector Martin should be filled in by the bootloader from platform configuration 104e2e37224SHector Martin data, if necessary, and will be uploaded to the device if present. 105e2e37224SHector Martin 106e2e37224SHector Martin brcm,board-type: 107e2e37224SHector Martin $ref: /schemas/types.yaml#/definitions/string 108e2e37224SHector Martin description: Overrides the board type, which is normally the compatible of 109e2e37224SHector Martin the root node. This can be used to decouple the overall system board or 110e2e37224SHector Martin device name from the board type for WiFi purposes, which is used to 111e2e37224SHector Martin construct firmware and NVRAM configuration filenames, allowing for 112e2e37224SHector Martin multiple devices that share the same module or characteristics for the 113e2e37224SHector Martin WiFi subsystem to share the same firmware/NVRAM files. On Apple platforms, 114e2e37224SHector Martin this should be the Apple module-instance codename prefixed by "apple,", 115e2e37224SHector Martin e.g. "apple,honshu". 116e2e37224SHector Martin 117e2e37224SHector Martin apple,antenna-sku: 118e2e37224SHector Martin $ref: /schemas/types.yaml#/definitions/string 119e2e37224SHector Martin description: Antenna SKU used to identify a specific antenna configuration 120e2e37224SHector Martin on Apple platforms. This is use to build firmware filenames, to allow 121e2e37224SHector Martin platforms with different antenna configs to have different firmware and/or 122e2e37224SHector Martin NVRAM. This would normally be filled in by the bootloader from platform 123e2e37224SHector Martin configuration data. 124e2e37224SHector Martin 125*7ca3fac1SJacobe Zang clocks: 126*7ca3fac1SJacobe Zang items: 127*7ca3fac1SJacobe Zang - description: External Low Power Clock input (32.768KHz) 128*7ca3fac1SJacobe Zang 129*7ca3fac1SJacobe Zang clock-names: 130*7ca3fac1SJacobe Zang items: 131*7ca3fac1SJacobe Zang - const: lpo 132*7ca3fac1SJacobe Zang 1332601ab54SLinus Walleijrequired: 1342601ab54SLinus Walleij - compatible 1352601ab54SLinus Walleij - reg 1362601ab54SLinus Walleij 137156d2a64SRafał MiłeckiunevaluatedProperties: false 1382601ab54SLinus Walleij 1392601ab54SLinus Walleijexamples: 1402601ab54SLinus Walleij - | 1412601ab54SLinus Walleij #include <dt-bindings/interrupt-controller/irq.h> 1422601ab54SLinus Walleij #include <dt-bindings/gpio/gpio.h> 1432601ab54SLinus Walleij mmc@80118000 { 1442601ab54SLinus Walleij compatible = "arm,pl18x", "arm,primecell"; 1452601ab54SLinus Walleij reg = <0x80118000 0x1000>; 1462601ab54SLinus Walleij clocks = <&clk 0>, <&clk 1>; 1472601ab54SLinus Walleij clock-names = "mclk", "apb_pclk"; 1482601ab54SLinus Walleij interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; 1492601ab54SLinus Walleij bus-width = <4>; 1502601ab54SLinus Walleij non-removable; 1512601ab54SLinus Walleij vmmc-supply = <&wl_bt_reg>; 1522601ab54SLinus Walleij #address-cells = <1>; 1532601ab54SLinus Walleij #size-cells = <0>; 1542601ab54SLinus Walleij 1552601ab54SLinus Walleij wifi@1 { 1562601ab54SLinus Walleij compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; 1572601ab54SLinus Walleij reg = <1>; 1582601ab54SLinus Walleij interrupt-parent = <&gpio>; 1592601ab54SLinus Walleij interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 1602601ab54SLinus Walleij interrupt-names = "host-wake"; 1612601ab54SLinus Walleij reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 162b4193622SShawn Guo brcm,ccode-map = "JP-JP-78", "US-Q2-86"; 1632601ab54SLinus Walleij }; 1642601ab54SLinus Walleij }; 165