The bindings already offer a brcm,ccode-map property to describe the
mapping between the kernel's ISO3166 alpha 2 country code string and the
firmware's country code string and revision number. This is a
board-specific property and determined by the CLM blob firmware provided
by the hardware vendor.
However, in some cases the firmware will also use ISO3166 country codes
internally, and the revision will always be zero. This implies a trivial
mapping: cc -> { cc, 0 }.
For such cases, add an optional property brcm,ccode-map-trivial which
obviates the need to describe every trivial country code mapping in the
device tree with the existing brcm,ccode-map property. The new property
is subordinate to the more explicit brcm,ccode-map property.
Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220711123005.3055300-2-alvin@pqrs.dk
119 lines
3.6 KiB
YAML
119 lines
3.6 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 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
|
|
- const: brcm,bcm4329-fmac
|
|
|
|
reg:
|
|
description: SDIO function number for the device, for most cases
|
|
this will be 1.
|
|
|
|
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
|
|
|
|
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";
|
|
};
|
|
};
|