Commit c9176e10 authored by Sven Peter's avatar Sven Peter Committed by Luiz Augusto von Dentz
Browse files

dt-bindings: net: Add Broadcom BCM4377 family PCIe Bluetooth



These chips are combined Wi-Fi/Bluetooth radios which expose a
PCI subfunction for the Bluetooth part.
They are found in Apple machines such as the x86 models with the T2
chip or the arm64 models with the M1 or M2 chips.

Signed-off-by: default avatarSven Peter <sven@svenpeter.dev>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent 45564c4e
Loading
Loading
Loading
Loading
+81 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/brcm,bcm4377-bluetooth.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM4377 family PCIe Bluetooth Chips

maintainers:
  - Sven Peter <sven@svenpeter.dev>

description:
  This binding describes Broadcom BCM4377 family PCIe-attached bluetooth chips
  usually found in Apple machines. The Wi-Fi part of the chip is described in
  bindings/net/wireless/brcm,bcm4329-fmac.yaml.

allOf:
  - $ref: bluetooth-controller.yaml#

properties:
  compatible:
    enum:
      - pci14e4,5fa0 # BCM4377
      - pci14e4,5f69 # BCM4378
      - pci14e4,5f71 # BCM4387

  reg:
    maxItems: 1

  brcm,board-type:
    $ref: /schemas/types.yaml#/definitions/string
    description: Board type of the Bluetooth chip. This is used to decouple
      the overall system board from the Bluetooth module and used to construct
      firmware and calibration data filenames.
      On Apple platforms, this should be the Apple module-instance codename
      prefixed by "apple,", e.g. "apple,atlantisb".
    pattern: '^apple,.*'

  brcm,taurus-cal-blob:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: A per-device calibration blob for the Bluetooth radio. This
      should be filled in by the bootloader from platform configuration
      data, if necessary, and will be uploaded to the device.
      This blob is used if the chip stepping of the Bluetooth module does not
      support beamforming.

  brcm,taurus-bf-cal-blob:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: A per-device calibration blob for the Bluetooth radio. This
      should be filled in by the bootloader from platform configuration
      data, if necessary, and will be uploaded to the device.
      This blob is used if the chip stepping of the Bluetooth module supports
      beamforming.

  local-bd-address: true

required:
  - compatible
  - reg
  - local-bd-address
  - brcm,board-type

additionalProperties: false

examples:
  - |
    pcie@a0000000 {
      #address-cells = <3>;
      #size-cells = <2>;
      reg = <0xa0000000 0x1000000>;
      device_type = "pci";
      ranges = <0x43000000 0x6 0xa0000000 0xa0000000 0x0 0x20000000>;

      bluetooth@0,1 {
        compatible = "pci14e4,5f69";
        reg = <0x100 0x0 0x0 0x0 0x0>;
        brcm,board-type = "apple,honshu";
        /* To be filled by the bootloader */
        local-bd-address = [00 00 00 00 00 00];
      };
    };
+1 −0
Original line number Diff line number Diff line
@@ -1903,6 +1903,7 @@ F: Documentation/devicetree/bindings/interrupt-controller/apple,*
F:	Documentation/devicetree/bindings/iommu/apple,dart.yaml
F:	Documentation/devicetree/bindings/iommu/apple,sart.yaml
F:	Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml
F:	Documentation/devicetree/bindings/net/bluetooth/brcm,bcm4377-bluetooth.yaml
F:	Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml
F:	Documentation/devicetree/bindings/nvmem/apple,efuses.yaml
F:	Documentation/devicetree/bindings/pci/apple,pcie.yaml