1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# 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.
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
- cypress,cyw4373-fmac
- cypress,cyw43012-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
additionalProperties: 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";
};
};
|