mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 08:58:07 +00:00
e2e37224e8
This binding is currently used for SDIO devices, but these chips are also used as PCIe devices on DT platforms and may be represented in the DT. Re-use the existing binding and add chip compatibles used by Apple T2 and M1 platforms (the T2 ones are not known to be used in DT platforms, but we might as well document them). Then, add properties required for firmware selection and calibration on M1 machines. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Hector Martin <marcan@marcan.st> Reviewed-by: Mark Kettenis <kettenis@openbsd.org> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/E1oZDnO-0077Zy-18@rmk-PC.armlinux.org.uk
150 lines
5.1 KiB
YAML
150 lines
5.1 KiB
YAML
# 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";
|
|
};
|
|
};
|