162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/net/bluetooth/brcm,bcm4377-bluetooth.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Broadcom BCM4377 family PCIe Bluetooth Chips
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Sven Peter <sven@svenpeter.dev>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  This binding describes Broadcom BCM4377 family PCIe-attached bluetooth chips
1462306a36Sopenharmony_ci  usually found in Apple machines. The Wi-Fi part of the chip is described in
1562306a36Sopenharmony_ci  bindings/net/wireless/brcm,bcm4329-fmac.yaml.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciallOf:
1862306a36Sopenharmony_ci  - $ref: bluetooth-controller.yaml#
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    enum:
2362306a36Sopenharmony_ci      - pci14e4,5fa0 # BCM4377
2462306a36Sopenharmony_ci      - pci14e4,5f69 # BCM4378
2562306a36Sopenharmony_ci      - pci14e4,5f71 # BCM4387
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  reg:
2862306a36Sopenharmony_ci    maxItems: 1
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  brcm,board-type:
3162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
3262306a36Sopenharmony_ci    description: Board type of the Bluetooth chip. This is used to decouple
3362306a36Sopenharmony_ci      the overall system board from the Bluetooth module and used to construct
3462306a36Sopenharmony_ci      firmware and calibration data filenames.
3562306a36Sopenharmony_ci      On Apple platforms, this should be the Apple module-instance codename
3662306a36Sopenharmony_ci      prefixed by "apple,", e.g. "apple,atlantisb".
3762306a36Sopenharmony_ci    pattern: '^apple,.*'
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  brcm,taurus-cal-blob:
4062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint8-array
4162306a36Sopenharmony_ci    description: A per-device calibration blob for the Bluetooth radio. This
4262306a36Sopenharmony_ci      should be filled in by the bootloader from platform configuration
4362306a36Sopenharmony_ci      data, if necessary, and will be uploaded to the device.
4462306a36Sopenharmony_ci      This blob is used if the chip stepping of the Bluetooth module does not
4562306a36Sopenharmony_ci      support beamforming.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  brcm,taurus-bf-cal-blob:
4862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint8-array
4962306a36Sopenharmony_ci    description: A per-device calibration blob for the Bluetooth radio. This
5062306a36Sopenharmony_ci      should be filled in by the bootloader from platform configuration
5162306a36Sopenharmony_ci      data, if necessary, and will be uploaded to the device.
5262306a36Sopenharmony_ci      This blob is used if the chip stepping of the Bluetooth module supports
5362306a36Sopenharmony_ci      beamforming.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci  local-bd-address: true
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_cirequired:
5862306a36Sopenharmony_ci  - compatible
5962306a36Sopenharmony_ci  - reg
6062306a36Sopenharmony_ci  - local-bd-address
6162306a36Sopenharmony_ci  - brcm,board-type
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciadditionalProperties: false
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciexamples:
6662306a36Sopenharmony_ci  - |
6762306a36Sopenharmony_ci    pcie@a0000000 {
6862306a36Sopenharmony_ci      #address-cells = <3>;
6962306a36Sopenharmony_ci      #size-cells = <2>;
7062306a36Sopenharmony_ci      reg = <0xa0000000 0x1000000>;
7162306a36Sopenharmony_ci      device_type = "pci";
7262306a36Sopenharmony_ci      ranges = <0x43000000 0x6 0xa0000000 0xa0000000 0x0 0x20000000>;
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci      bluetooth@0,1 {
7562306a36Sopenharmony_ci        compatible = "pci14e4,5f69";
7662306a36Sopenharmony_ci        reg = <0x100 0x0 0x0 0x0 0x0>;
7762306a36Sopenharmony_ci        brcm,board-type = "apple,honshu";
7862306a36Sopenharmony_ci        /* To be filled by the bootloader */
7962306a36Sopenharmony_ci        local-bd-address = [00 00 00 00 00 00];
8062306a36Sopenharmony_ci      };
8162306a36Sopenharmony_ci    };
82