1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Broadcom BCM4329 family fullmac wireless SDIO/PCIE devices 8 9maintainers: 10 - Arend van Spriel <arend@broadcom.com> 11 12description: 13 The Broadcom Single chip MAC part for the BCM4329 family and 14 later Cypress chips in the same family named CYW4373 and similar. 15 These chips also have a Bluetooth portion described in a separate 16 binding. 17 18properties: 19 compatible: 20 oneOf: 21 - items: 22 - enum: 23 - brcm,bcm43143-fmac 24 - brcm,bcm4341b0-fmac 25 - brcm,bcm4341b4-fmac 26 - brcm,bcm4341b5-fmac 27 - brcm,bcm4329-fmac 28 - brcm,bcm4330-fmac 29 - brcm,bcm4334-fmac 30 - brcm,bcm43340-fmac 31 - brcm,bcm4335-fmac 32 - brcm,bcm43362-fmac 33 - brcm,bcm4339-fmac 34 - brcm,bcm43430a0-fmac 35 - brcm,bcm43430a1-fmac 36 - brcm,bcm43455-fmac 37 - brcm,bcm43456-fmac 38 - brcm,bcm4354-fmac 39 - brcm,bcm4356-fmac 40 - brcm,bcm4359-fmac 41 - cypress,cyw4373-fmac 42 - cypress,cyw43012-fmac 43 - const: brcm,bcm4329-fmac 44 - enum: 45 - brcm,bcm4329-fmac 46 - pci14e4,43dc # BCM4355 47 - pci14e4,4464 # BCM4364 48 - pci14e4,4488 # BCM4377 49 - pci14e4,4425 # BCM4378 50 - pci14e4,4433 # BCM4387 51 52 reg: 53 description: SDIO function number for the device (for most cases 54 this will be 1) or PCI device identifier. 55 56 interrupts: 57 maxItems: 1 58 description: Out-of-band (OOB) IRQ line for waking up the host 59 in response to WLAN activity. This corresponds to the HOST_WAKE 60 line into the chip. 61 62 interrupt-names: 63 description: Name for the OOB IRQ, this must be set to "host-wake". 64 const: host-wake 65 66 brcm,drive-strength: 67 $ref: /schemas/types.yaml#/definitions/uint32 68 description: Drive strength used for the SDIO pins on the device in mA. 69 minimum: 0 70 maximum: 32 71 72 reset-gpios: 73 maxItems: 1 74 description: A GPIO line connected to the WL_RST line, if present 75 this shall be flagged as active low. 76 77 brcm,ccode-map: 78 $ref: /schemas/types.yaml#/definitions/string-array 79 description: Multiple strings for translating ISO3166 country code to 80 brcmfmac firmware country code and revision. 81 items: 82 pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$' 83 84 brcm,ccode-map-trivial: 85 description: | 86 Use a trivial mapping of ISO3166 country codes to brcmfmac firmware 87 country code and revision: cc -> { cc, 0 }. In other words, assume that 88 the CLM blob firmware uses ISO3166 country codes as well, and that all 89 revisions are zero. This property is mutually exclusive with 90 brcm,ccode-map. If both properties are specified, then brcm,ccode-map 91 takes precedence. 92 type: boolean 93 94 brcm,cal-blob: 95 $ref: /schemas/types.yaml#/definitions/uint8-array 96 description: A per-device calibration blob for the Wi-Fi radio. This 97 should be filled in by the bootloader from platform configuration 98 data, if necessary, and will be uploaded to the device if present. 99 100 brcm,board-type: 101 $ref: /schemas/types.yaml#/definitions/string 102 description: Overrides the board type, which is normally the compatible of 103 the root node. This can be used to decouple the overall system board or 104 device name from the board type for WiFi purposes, which is used to 105 construct firmware and NVRAM configuration filenames, allowing for 106 multiple devices that share the same module or characteristics for the 107 WiFi subsystem to share the same firmware/NVRAM files. On Apple platforms, 108 this should be the Apple module-instance codename prefixed by "apple,", 109 e.g. "apple,honshu". 110 111 apple,antenna-sku: 112 $ref: /schemas/types.yaml#/definitions/string 113 description: Antenna SKU used to identify a specific antenna configuration 114 on Apple platforms. This is use to build firmware filenames, to allow 115 platforms with different antenna configs to have different firmware and/or 116 NVRAM. This would normally be filled in by the bootloader from platform 117 configuration data. 118 119required: 120 - compatible 121 - reg 122 123additionalProperties: false 124 125examples: 126 - | 127 #include <dt-bindings/interrupt-controller/irq.h> 128 #include <dt-bindings/gpio/gpio.h> 129 mmc@80118000 { 130 compatible = "arm,pl18x", "arm,primecell"; 131 reg = <0x80118000 0x1000>; 132 clocks = <&clk 0>, <&clk 1>; 133 clock-names = "mclk", "apb_pclk"; 134 interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; 135 bus-width = <4>; 136 non-removable; 137 vmmc-supply = <&wl_bt_reg>; 138 #address-cells = <1>; 139 #size-cells = <0>; 140 141 wifi@1 { 142 compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; 143 reg = <1>; 144 interrupt-parent = <&gpio>; 145 interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 146 interrupt-names = "host-wake"; 147 reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 148 brcm,ccode-map = "JP-JP-78", "US-Q2-86"; 149 }; 150 }; 151