| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Broadcom BCM4329 family fullmac wireless SDIO/PCIE devices |
| |
| maintainers: |
| - Arend van Spriel <arend@broadcom.com> |
| |
| description: |
| The Broadcom Single chip MAC part for the BCM4329 family and |
| later Cypress chips in the same family named CYW4373 and similar. |
| These chips also have a Bluetooth portion described in a separate |
| binding. |
| |
| allOf: |
| - $ref: ieee80211.yaml# |
| |
| properties: |
| compatible: |
| oneOf: |
| - items: |
| - enum: |
| - brcm,bcm43143-fmac |
| - brcm,bcm4341b0-fmac |
| - brcm,bcm4341b4-fmac |
| - brcm,bcm4341b5-fmac |
| - brcm,bcm4329-fmac |
| - brcm,bcm4330-fmac |
| - brcm,bcm4334-fmac |
| - brcm,bcm43340-fmac |
| - brcm,bcm4335-fmac |
| - brcm,bcm43362-fmac |
| - brcm,bcm4339-fmac |
| - brcm,bcm43430a0-fmac |
| - brcm,bcm43430a1-fmac |
| - brcm,bcm43455-fmac |
| - brcm,bcm43456-fmac |
| - brcm,bcm4354-fmac |
| - brcm,bcm4356-fmac |
| - brcm,bcm4359-fmac |
| - brcm,bcm4366-fmac |
| - cypress,cyw4373-fmac |
| - cypress,cyw43012-fmac |
| - infineon,cyw43439-fmac |
| - const: brcm,bcm4329-fmac |
| - enum: |
| - brcm,bcm4329-fmac |
| - pci14e4,43dc # BCM4355 |
| - pci14e4,4464 # BCM4364 |
| - pci14e4,4488 # BCM4377 |
| - pci14e4,4425 # BCM4378 |
| - pci14e4,4433 # BCM4387 |
| |
| reg: |
| description: SDIO function number for the device (for most cases |
| this will be 1) or PCI device identifier. |
| |
| interrupts: |
| maxItems: 1 |
| description: Out-of-band (OOB) IRQ line for waking up the host |
| in response to WLAN activity. This corresponds to the HOST_WAKE |
| line into the chip. |
| |
| interrupt-names: |
| description: Name for the OOB IRQ, this must be set to "host-wake". |
| const: host-wake |
| |
| brcm,drive-strength: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: Drive strength used for the SDIO pins on the device in mA. |
| minimum: 0 |
| maximum: 32 |
| |
| reset-gpios: |
| maxItems: 1 |
| description: A GPIO line connected to the WL_RST line, if present |
| this shall be flagged as active low. |
| |
| brcm,ccode-map: |
| $ref: /schemas/types.yaml#/definitions/string-array |
| description: Multiple strings for translating ISO3166 country code to |
| brcmfmac firmware country code and revision. |
| items: |
| pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$' |
| |
| brcm,ccode-map-trivial: |
| description: | |
| Use a trivial mapping of ISO3166 country codes to brcmfmac firmware |
| country code and revision: cc -> { cc, 0 }. In other words, assume that |
| the CLM blob firmware uses ISO3166 country codes as well, and that all |
| revisions are zero. This property is mutually exclusive with |
| brcm,ccode-map. If both properties are specified, then brcm,ccode-map |
| takes precedence. |
| type: boolean |
| |
| brcm,cal-blob: |
| $ref: /schemas/types.yaml#/definitions/uint8-array |
| description: A per-device calibration blob for the Wi-Fi radio. This |
| should be filled in by the bootloader from platform configuration |
| data, if necessary, and will be uploaded to the device if present. |
| |
| brcm,board-type: |
| $ref: /schemas/types.yaml#/definitions/string |
| description: Overrides the board type, which is normally the compatible of |
| the root node. This can be used to decouple the overall system board or |
| device name from the board type for WiFi purposes, which is used to |
| construct firmware and NVRAM configuration filenames, allowing for |
| multiple devices that share the same module or characteristics for the |
| WiFi subsystem to share the same firmware/NVRAM files. On Apple platforms, |
| this should be the Apple module-instance codename prefixed by "apple,", |
| e.g. "apple,honshu". |
| |
| apple,antenna-sku: |
| $ref: /schemas/types.yaml#/definitions/string |
| description: Antenna SKU used to identify a specific antenna configuration |
| on Apple platforms. This is use to build firmware filenames, to allow |
| platforms with different antenna configs to have different firmware and/or |
| NVRAM. This would normally be filled in by the bootloader from platform |
| configuration data. |
| |
| required: |
| - compatible |
| - reg |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/gpio/gpio.h> |
| mmc@80118000 { |
| compatible = "arm,pl18x", "arm,primecell"; |
| reg = <0x80118000 0x1000>; |
| clocks = <&clk 0>, <&clk 1>; |
| clock-names = "mclk", "apb_pclk"; |
| interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; |
| bus-width = <4>; |
| non-removable; |
| vmmc-supply = <&wl_bt_reg>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| wifi@1 { |
| compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; |
| reg = <1>; |
| interrupt-parent = <&gpio>; |
| interrupts = <24 IRQ_TYPE_EDGE_FALLING>; |
| interrupt-names = "host-wake"; |
| reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>; |
| brcm,ccode-map = "JP-JP-78", "US-Q2-86"; |
| }; |
| }; |