brcm,bcm4377-bluetooth.yaml 2.5 KB

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