156 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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 devices8 9maintainers:10 - Arend van Spriel <arend@broadcom.com>11 12description:13 The Broadcom Single chip MAC part for the BCM4329 family and14 later Cypress chips in the same family named CYW4373 and similar.15 These chips also have a Bluetooth portion described in a separate16 binding.17 18allOf:19 - $ref: ieee80211.yaml#20 21properties:22 compatible:23 oneOf:24 - items:25 - enum:26 - brcm,bcm43143-fmac27 - brcm,bcm4341b0-fmac28 - brcm,bcm4341b4-fmac29 - brcm,bcm4341b5-fmac30 - brcm,bcm4329-fmac31 - brcm,bcm4330-fmac32 - brcm,bcm4334-fmac33 - brcm,bcm43340-fmac34 - brcm,bcm4335-fmac35 - brcm,bcm43362-fmac36 - brcm,bcm4339-fmac37 - brcm,bcm43430a0-fmac38 - brcm,bcm43430a1-fmac39 - brcm,bcm43455-fmac40 - brcm,bcm43456-fmac41 - brcm,bcm4354-fmac42 - brcm,bcm4356-fmac43 - brcm,bcm4359-fmac44 - brcm,bcm4366-fmac45 - cypress,cyw4373-fmac46 - cypress,cyw43012-fmac47 - infineon,cyw43439-fmac48 - const: brcm,bcm4329-fmac49 - enum:50 - brcm,bcm4329-fmac51 - pci14e4,43dc # BCM435552 - pci14e4,4464 # BCM436453 - pci14e4,4488 # BCM437754 - pci14e4,4425 # BCM437855 - pci14e4,4433 # BCM438756 57 reg:58 description: SDIO function number for the device (for most cases59 this will be 1) or PCI device identifier.60 61 interrupts:62 maxItems: 163 description: Out-of-band (OOB) IRQ line for waking up the host64 in response to WLAN activity. This corresponds to the HOST_WAKE65 line into the chip.66 67 interrupt-names:68 description: Name for the OOB IRQ, this must be set to "host-wake".69 const: host-wake70 71 brcm,drive-strength:72 $ref: /schemas/types.yaml#/definitions/uint3273 description: Drive strength used for the SDIO pins on the device in mA.74 minimum: 075 maximum: 3276 77 reset-gpios:78 maxItems: 179 description: A GPIO line connected to the WL_RST line, if present80 this shall be flagged as active low.81 82 brcm,ccode-map:83 $ref: /schemas/types.yaml#/definitions/string-array84 description: Multiple strings for translating ISO3166 country code to85 brcmfmac firmware country code and revision.86 items:87 pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$'88 89 brcm,ccode-map-trivial:90 description: |91 Use a trivial mapping of ISO3166 country codes to brcmfmac firmware92 country code and revision: cc -> { cc, 0 }. In other words, assume that93 the CLM blob firmware uses ISO3166 country codes as well, and that all94 revisions are zero. This property is mutually exclusive with95 brcm,ccode-map. If both properties are specified, then brcm,ccode-map96 takes precedence.97 type: boolean98 99 brcm,cal-blob:100 $ref: /schemas/types.yaml#/definitions/uint8-array101 description: A per-device calibration blob for the Wi-Fi radio. This102 should be filled in by the bootloader from platform configuration103 data, if necessary, and will be uploaded to the device if present.104 105 brcm,board-type:106 $ref: /schemas/types.yaml#/definitions/string107 description: Overrides the board type, which is normally the compatible of108 the root node. This can be used to decouple the overall system board or109 device name from the board type for WiFi purposes, which is used to110 construct firmware and NVRAM configuration filenames, allowing for111 multiple devices that share the same module or characteristics for the112 WiFi subsystem to share the same firmware/NVRAM files. On Apple platforms,113 this should be the Apple module-instance codename prefixed by "apple,",114 e.g. "apple,honshu".115 116 apple,antenna-sku:117 $ref: /schemas/types.yaml#/definitions/string118 description: Antenna SKU used to identify a specific antenna configuration119 on Apple platforms. This is use to build firmware filenames, to allow120 platforms with different antenna configs to have different firmware and/or121 NVRAM. This would normally be filled in by the bootloader from platform122 configuration data.123 124required:125 - compatible126 - reg127 128unevaluatedProperties: false129 130examples:131 - |132 #include <dt-bindings/interrupt-controller/irq.h>133 #include <dt-bindings/gpio/gpio.h>134 mmc@80118000 {135 compatible = "arm,pl18x", "arm,primecell";136 reg = <0x80118000 0x1000>;137 clocks = <&clk 0>, <&clk 1>;138 clock-names = "mclk", "apb_pclk";139 interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;140 bus-width = <4>;141 non-removable;142 vmmc-supply = <&wl_bt_reg>;143 #address-cells = <1>;144 #size-cells = <0>;145 146 wifi@1 {147 compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";148 reg = <1>;149 interrupt-parent = <&gpio>;150 interrupts = <24 IRQ_TYPE_EDGE_FALLING>;151 interrupt-names = "host-wake";152 reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>;153 brcm,ccode-map = "JP-JP-78", "US-Q2-86";154 };155 };156