On Mon, Dec 27, 2021 at 12:35:51AM +0900, Hector Martin wrote: > 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. > > Signed-off-by: Hector Martin <marcan@xxxxxxxxx> > --- > .../net/wireless/brcm,bcm4329-fmac.yaml | 32 +++++++++++++++++-- > 1 file changed, 29 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml b/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml > index c11f23b20c4c..2530ff3e7b90 100644 > --- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml > +++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml > @@ -4,7 +4,7 @@ > $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 > +title: Broadcom BCM4329 family fullmac wireless SDIO/PCIE devices > > maintainers: > - Arend van Spriel <arend@xxxxxxxxxxxx> > @@ -36,16 +36,22 @@ properties: > - brcm,bcm43455-fmac > - brcm,bcm43456-fmac > - brcm,bcm4354-fmac > + - brcm,bcm4355c1-fmac > - brcm,bcm4356-fmac > - brcm,bcm4359-fmac > + - brcm,bcm4364b2-fmac > + - brcm,bcm4364b3-fmac > + - brcm,bcm4377b3-fmac > + - brcm,bcm4378b1-fmac > + - brcm,bcm4387c2-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. > + description: SDIO function number for the device (for most cases > + this will be 1) or PCI device identifier. > > interrupts: > maxItems: 1 > @@ -75,6 +81,26 @@ properties: > items: > pattern: '^[A-Z][A-Z]-[A-Z][0-9A-Z]-[0-9]+$' > > + 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. > + > + apple,module-instance: > + $ref: /schemas/types.yaml#/definitions/string > + description: Module codename used to identify a specific board on > + Apple platforms. This is used to build the firmware filenames, to allow > + different platforms to have different firmware and/or NVRAM config. > + > + apple,antenna-sku: > + $def: /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. Is there a known set of strings that can be defined? There's also the somewhat standard 'firmware-name' property that serves similar purpose, but if there's multiple files, then I guess this approach is fine. Rob