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 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      - const: brcm,bcm4329-fmac
45
46  reg:
47    description: SDIO function number for the device, for most cases
48      this will be 1.
49
50  interrupts:
51    maxItems: 1
52    description: Out-of-band (OOB) IRQ line for waking up the host
53      in response to WLAN activity. This corresponds to the HOST_WAKE
54      line into the chip.
55
56  interrupt-names:
57    description: Name for the OOB IRQ, this must be set to "host-wake".
58    const: host-wake
59
60  brcm,drive-strength:
61    $ref: /schemas/types.yaml#/definitions/uint32
62    description: Drive strength used for the SDIO pins on the device in mA.
63    minimum: 0
64    maximum: 32
65
66  reset-gpios:
67    maxItems: 1
68    description: A GPIO line connected to the WL_RST line, if present
69      this shall be flagged as active low.
70
71  brcm,ccode-map:
72    $ref: /schemas/types.yaml#/definitions/string-array
73    description: Multiple strings for translating ISO3166 country code to
74      brcmfmac firmware country code and revision.
75    items:
76      pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$'
77
78  brcm,ccode-map-trivial:
79    description: |
80      Use a trivial mapping of ISO3166 country codes to brcmfmac firmware
81      country code and revision: cc -> { cc, 0 }. In other words, assume that
82      the CLM blob firmware uses ISO3166 country codes as well, and that all
83      revisions are zero. This property is mutually exclusive with
84      brcm,ccode-map. If both properties are specified, then brcm,ccode-map
85      takes precedence.
86    type: boolean
87
88required:
89  - compatible
90  - reg
91
92additionalProperties: false
93
94examples:
95  - |
96    #include <dt-bindings/interrupt-controller/irq.h>
97    #include <dt-bindings/gpio/gpio.h>
98    mmc@80118000 {
99      compatible = "arm,pl18x", "arm,primecell";
100      reg = <0x80118000 0x1000>;
101      clocks = <&clk 0>, <&clk 1>;
102      clock-names = "mclk", "apb_pclk";
103      interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
104      bus-width = <4>;
105      non-removable;
106      vmmc-supply = <&wl_bt_reg>;
107      #address-cells = <1>;
108      #size-cells = <0>;
109
110      wifi@1 {
111        compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
112        reg = <1>;
113        interrupt-parent = <&gpio>;
114        interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
115        interrupt-names = "host-wake";
116        reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
117        brcm,ccode-map = "JP-JP-78", "US-Q2-86";
118      };
119    };
120