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