Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: Convert the BCM4329 bindings to YAML and extend

This converts the BCM4329 family bindings to YAML schema, and
extends and fixes the bindings like this:

- Name the bindings after the first chip (BCM4329) since
wildcards like 43xx are nowadays frowned upon by the DT
binding reviewers. We call this the "BCM4329 family"
- Add compatible strings for all the variants that seem to
exist in the wild. (Derived from firmware listings.)
- Support specific-to-generic compatible strings (as already
in use in DTS files).
- Add required reg property (SDIO function number)
- Add reset-gpios property (some systems wire this to a GPIO
line).
- I have only listed Arend as maintainer for now, volunteers
can be added.

Cc: Arend van Spriel <aspriel@gmail.com>
Cc: Franky Lin <franky.lin@broadcom.com>
Cc: Hante Meuleman <hante.meuleman@broadcom.com>
Cc: Chi-hsien Lin <chi-hsien.lin@infineon.com>
Cc: Wright Feng <wright.feng@infineon.com>
Cc: Chung-hsien Hsu <chung-hsien.hsu@infineon.com>
Cc: Julian Calaby <julian.calaby@gmail.com>
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: SHA-cyfmac-dev-list@infineon.com
Cc: linux-mmc@vger.kernel.org
Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20210315105911.138553-1-linus.walleij@linaro.org
Signed-off-by: Rob Herring <robh@kernel.org>

authored by

Linus Walleij and committed by
Rob Herring
2601ab54 ad1ce1ab

+101 -38
+101
Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml
··· 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 + 7 + title: Broadcom BCM4329 family fullmac wireless SDIO devices 8 + 9 + maintainers: 10 + - Arend van Spriel <arend@broadcom.com> 11 + 12 + description: 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 + 18 + properties: 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 + required: 72 + - compatible 73 + - reg 74 + 75 + additionalProperties: false 76 + 77 + examples: 78 + - | 79 + #include <dt-bindings/interrupt-controller/irq.h> 80 + #include <dt-bindings/gpio/gpio.h> 81 + mmc@80118000 { 82 + compatible = "arm,pl18x", "arm,primecell"; 83 + reg = <0x80118000 0x1000>; 84 + clocks = <&clk 0>, <&clk 1>; 85 + clock-names = "mclk", "apb_pclk"; 86 + interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; 87 + bus-width = <4>; 88 + non-removable; 89 + vmmc-supply = <&wl_bt_reg>; 90 + #address-cells = <1>; 91 + #size-cells = <0>; 92 + 93 + wifi@1 { 94 + compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac"; 95 + reg = <1>; 96 + interrupt-parent = <&gpio>; 97 + interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 98 + interrupt-names = "host-wake"; 99 + reset-gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 100 + }; 101 + };
-38
Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
··· 1 - Broadcom BCM43xx Fullmac wireless SDIO devices 2 - 3 - This node provides properties for controlling the Broadcom wireless device. The 4 - node is expected to be specified as a child node to the SDIO controller that 5 - connects the device to the system. 6 - 7 - Required properties: 8 - 9 - - compatible : Should be "brcm,bcm4329-fmac". 10 - 11 - Optional properties: 12 - - brcm,drive-strength : drive strength used for SDIO pins on device in mA 13 - (default = 6). 14 - - interrupts : specifies attributes for the out-of-band interrupt (host-wake). 15 - When not specified the device will use in-band SDIO interrupts. 16 - - interrupt-names : name of the out-of-band interrupt, which must be set 17 - to "host-wake". 18 - 19 - Example: 20 - 21 - mmc3: mmc@1c12000 { 22 - #address-cells = <1>; 23 - #size-cells = <0>; 24 - 25 - pinctrl-names = "default"; 26 - pinctrl-0 = <&mmc3_pins_a>; 27 - vmmc-supply = <&reg_vmmc3>; 28 - bus-width = <4>; 29 - non-removable; 30 - 31 - brcmf: wifi@1 { 32 - reg = <1>; 33 - compatible = "brcm,bcm4329-fmac"; 34 - interrupt-parent = <&pio>; 35 - interrupts = <10 8>; /* PH10 / EINT10 */ 36 - interrupt-names = "host-wake"; 37 - }; 38 - };