xref: /linux/Documentation/devicetree/bindings/net/bluetooth/brcm,bcm4377-bluetooth.yaml (revision d8d2b1f81530988abe2e2bfaceec1c5d30b9a0b4)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/bluetooth/brcm,bcm4377-bluetooth.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom BCM4377 family PCIe Bluetooth Chips
8
9maintainers:
10  - Sven Peter <sven@svenpeter.dev>
11
12description:
13  This binding describes Broadcom BCM4377 family PCIe-attached bluetooth chips
14  usually found in Apple machines. The Wi-Fi part of the chip is described in
15  bindings/net/wireless/brcm,bcm4329-fmac.yaml.
16
17allOf:
18  - $ref: bluetooth-controller.yaml#
19
20properties:
21  compatible:
22    enum:
23      - pci14e4,5fa0 # BCM4377
24      - pci14e4,5f69 # BCM4378
25      - pci14e4,5f71 # BCM4387
26      - pci14e4,5f72 # BCM4388
27
28  reg:
29    maxItems: 1
30
31  brcm,board-type:
32    $ref: /schemas/types.yaml#/definitions/string
33    description: Board type of the Bluetooth chip. This is used to decouple
34      the overall system board from the Bluetooth module and used to construct
35      firmware and calibration data filenames.
36      On Apple platforms, this should be the Apple module-instance codename
37      prefixed by "apple,", e.g. "apple,atlantisb".
38    pattern: '^apple,.*'
39
40  brcm,taurus-cal-blob:
41    $ref: /schemas/types.yaml#/definitions/uint8-array
42    description: A per-device calibration blob for the Bluetooth radio. This
43      should be filled in by the bootloader from platform configuration
44      data, if necessary, and will be uploaded to the device.
45      This blob is used if the chip stepping of the Bluetooth module does not
46      support beamforming.
47
48  brcm,taurus-bf-cal-blob:
49    $ref: /schemas/types.yaml#/definitions/uint8-array
50    description: A per-device calibration blob for the Bluetooth radio. This
51      should be filled in by the bootloader from platform configuration
52      data, if necessary, and will be uploaded to the device.
53      This blob is used if the chip stepping of the Bluetooth module supports
54      beamforming.
55
56  local-bd-address: true
57
58required:
59  - compatible
60  - reg
61  - local-bd-address
62  - brcm,board-type
63
64additionalProperties: false
65
66examples:
67  - |
68    pcie@a0000000 {
69      #address-cells = <3>;
70      #size-cells = <2>;
71      reg = <0xa0000000 0x1000000>;
72      device_type = "pci";
73      ranges = <0x43000000 0x6 0xa0000000 0xa0000000 0x0 0x20000000>;
74
75      bluetooth@0,1 {
76        compatible = "pci14e4,5f69";
77        reg = <0x100 0x0 0x0 0x0 0x0>;
78        brcm,board-type = "apple,honshu";
79        /* To be filled by the bootloader */
80        local-bd-address = [00 00 00 00 00 00];
81      };
82    };
83