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