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