xref: /freebsd/sys/contrib/device-tree/Bindings/net/wireless/brcm,bcm4329-fmac.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
22eb4d8dcSEmmanuel Vadot%YAML 1.2
32eb4d8dcSEmmanuel Vadot---
42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml#
52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62eb4d8dcSEmmanuel Vadot
72eb4d8dcSEmmanuel Vadottitle: Broadcom BCM4329 family fullmac wireless SDIO devices
82eb4d8dcSEmmanuel Vadot
92eb4d8dcSEmmanuel Vadotmaintainers:
102eb4d8dcSEmmanuel Vadot  - Arend van Spriel <arend@broadcom.com>
112eb4d8dcSEmmanuel Vadot
122eb4d8dcSEmmanuel Vadotdescription:
132eb4d8dcSEmmanuel Vadot  The Broadcom Single chip MAC part for the BCM4329 family and
142eb4d8dcSEmmanuel Vadot  later Cypress chips in the same family named CYW4373 and similar.
152eb4d8dcSEmmanuel Vadot  These chips also have a Bluetooth portion described in a separate
162eb4d8dcSEmmanuel Vadot  binding.
172eb4d8dcSEmmanuel Vadot
182eb4d8dcSEmmanuel Vadotproperties:
192eb4d8dcSEmmanuel Vadot  compatible:
202eb4d8dcSEmmanuel Vadot    oneOf:
212eb4d8dcSEmmanuel Vadot      - items:
222eb4d8dcSEmmanuel Vadot          - enum:
232eb4d8dcSEmmanuel Vadot              - brcm,bcm43143-fmac
242eb4d8dcSEmmanuel Vadot              - brcm,bcm4341b0-fmac
252eb4d8dcSEmmanuel Vadot              - brcm,bcm4341b4-fmac
262eb4d8dcSEmmanuel Vadot              - brcm,bcm4341b5-fmac
272eb4d8dcSEmmanuel Vadot              - brcm,bcm4329-fmac
282eb4d8dcSEmmanuel Vadot              - brcm,bcm4330-fmac
292eb4d8dcSEmmanuel Vadot              - brcm,bcm4334-fmac
302eb4d8dcSEmmanuel Vadot              - brcm,bcm43340-fmac
312eb4d8dcSEmmanuel Vadot              - brcm,bcm4335-fmac
322eb4d8dcSEmmanuel Vadot              - brcm,bcm43362-fmac
332eb4d8dcSEmmanuel Vadot              - brcm,bcm4339-fmac
342eb4d8dcSEmmanuel Vadot              - brcm,bcm43430a0-fmac
352eb4d8dcSEmmanuel Vadot              - brcm,bcm43430a1-fmac
362eb4d8dcSEmmanuel Vadot              - brcm,bcm43455-fmac
372eb4d8dcSEmmanuel Vadot              - brcm,bcm43456-fmac
382eb4d8dcSEmmanuel Vadot              - brcm,bcm4354-fmac
392eb4d8dcSEmmanuel Vadot              - brcm,bcm4356-fmac
402eb4d8dcSEmmanuel Vadot              - brcm,bcm4359-fmac
412eb4d8dcSEmmanuel Vadot              - cypress,cyw4373-fmac
422eb4d8dcSEmmanuel Vadot              - cypress,cyw43012-fmac
432eb4d8dcSEmmanuel Vadot          - const: brcm,bcm4329-fmac
442eb4d8dcSEmmanuel Vadot      - const: brcm,bcm4329-fmac
452eb4d8dcSEmmanuel Vadot
462eb4d8dcSEmmanuel Vadot  reg:
472eb4d8dcSEmmanuel Vadot    description: SDIO function number for the device, for most cases
482eb4d8dcSEmmanuel Vadot      this will be 1.
492eb4d8dcSEmmanuel Vadot
502eb4d8dcSEmmanuel Vadot  interrupts:
512eb4d8dcSEmmanuel Vadot    maxItems: 1
522eb4d8dcSEmmanuel Vadot    description: Out-of-band (OOB) IRQ line for waking up the host
532eb4d8dcSEmmanuel Vadot      in response to WLAN activity. This corresponds to the HOST_WAKE
542eb4d8dcSEmmanuel Vadot      line into the chip.
552eb4d8dcSEmmanuel Vadot
562eb4d8dcSEmmanuel Vadot  interrupt-names:
572eb4d8dcSEmmanuel Vadot    description: Name for the OOB IRQ, this must be set to "host-wake".
582eb4d8dcSEmmanuel Vadot    const: host-wake
592eb4d8dcSEmmanuel Vadot
602eb4d8dcSEmmanuel Vadot  brcm,drive-strength:
612eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
622eb4d8dcSEmmanuel Vadot    description: Drive strength used for the SDIO pins on the device in mA.
632eb4d8dcSEmmanuel Vadot    minimum: 0
642eb4d8dcSEmmanuel Vadot    maximum: 32
652eb4d8dcSEmmanuel Vadot
662eb4d8dcSEmmanuel Vadot  reset-gpios:
672eb4d8dcSEmmanuel Vadot    maxItems: 1
682eb4d8dcSEmmanuel Vadot    description: A GPIO line connected to the WL_RST line, if present
692eb4d8dcSEmmanuel Vadot      this shall be flagged as active low.
702eb4d8dcSEmmanuel Vadot
712eb4d8dcSEmmanuel Vadot  brcm,ccode-map:
722eb4d8dcSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string-array
732eb4d8dcSEmmanuel Vadot    description: Multiple strings for translating ISO3166 country code to
742eb4d8dcSEmmanuel Vadot      brcmfmac firmware country code and revision.
752eb4d8dcSEmmanuel Vadot    items:
762eb4d8dcSEmmanuel Vadot      pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$'
772eb4d8dcSEmmanuel Vadot
78*b97ee269SEmmanuel Vadot  brcm,ccode-map-trivial:
79*b97ee269SEmmanuel Vadot    description: |
80*b97ee269SEmmanuel Vadot      Use a trivial mapping of ISO3166 country codes to brcmfmac firmware
81*b97ee269SEmmanuel Vadot      country code and revision: cc -> { cc, 0 }. In other words, assume that
82*b97ee269SEmmanuel Vadot      the CLM blob firmware uses ISO3166 country codes as well, and that all
83*b97ee269SEmmanuel Vadot      revisions are zero. This property is mutually exclusive with
84*b97ee269SEmmanuel Vadot      brcm,ccode-map. If both properties are specified, then brcm,ccode-map
85*b97ee269SEmmanuel Vadot      takes precedence.
86*b97ee269SEmmanuel Vadot    type: boolean
87*b97ee269SEmmanuel Vadot
882eb4d8dcSEmmanuel Vadotrequired:
892eb4d8dcSEmmanuel Vadot  - compatible
902eb4d8dcSEmmanuel Vadot  - reg
912eb4d8dcSEmmanuel Vadot
922eb4d8dcSEmmanuel VadotadditionalProperties: false
932eb4d8dcSEmmanuel Vadot
942eb4d8dcSEmmanuel Vadotexamples:
952eb4d8dcSEmmanuel Vadot  - |
962eb4d8dcSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
972eb4d8dcSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
982eb4d8dcSEmmanuel Vadot    mmc@80118000 {
992eb4d8dcSEmmanuel Vadot      compatible = "arm,pl18x", "arm,primecell";
1002eb4d8dcSEmmanuel Vadot      reg = <0x80118000 0x1000>;
1012eb4d8dcSEmmanuel Vadot      clocks = <&clk 0>, <&clk 1>;
1022eb4d8dcSEmmanuel Vadot      clock-names = "mclk", "apb_pclk";
1032eb4d8dcSEmmanuel Vadot      interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
1042eb4d8dcSEmmanuel Vadot      bus-width = <4>;
1052eb4d8dcSEmmanuel Vadot      non-removable;
1062eb4d8dcSEmmanuel Vadot      vmmc-supply = <&wl_bt_reg>;
1072eb4d8dcSEmmanuel Vadot      #address-cells = <1>;
1082eb4d8dcSEmmanuel Vadot      #size-cells = <0>;
1092eb4d8dcSEmmanuel Vadot
1102eb4d8dcSEmmanuel Vadot      wifi@1 {
1112eb4d8dcSEmmanuel Vadot        compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
1122eb4d8dcSEmmanuel Vadot        reg = <1>;
1132eb4d8dcSEmmanuel Vadot        interrupt-parent = <&gpio>;
1142eb4d8dcSEmmanuel Vadot        interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
1152eb4d8dcSEmmanuel Vadot        interrupt-names = "host-wake";
1162eb4d8dcSEmmanuel Vadot        reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
1172eb4d8dcSEmmanuel Vadot        brcm,ccode-map = "JP-JP-78", "US-Q2-86";
1182eb4d8dcSEmmanuel Vadot      };
1192eb4d8dcSEmmanuel Vadot    };
120