xref: /freebsd-src/sys/contrib/device-tree/Bindings/net/qualcomm-bluetooth.yaml (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1*5956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*5956d97fSEmmanuel Vadot%YAML 1.2
3*5956d97fSEmmanuel Vadot---
4*5956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/qualcomm-bluetooth.yaml#
5*5956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5956d97fSEmmanuel Vadot
7*5956d97fSEmmanuel Vadottitle: Qualcomm Bluetooth Chips
8*5956d97fSEmmanuel Vadot
9*5956d97fSEmmanuel Vadotmaintainers:
10*5956d97fSEmmanuel Vadot  - Balakrishna Godavarthi <bgodavar@codeaurora.org>
11*5956d97fSEmmanuel Vadot  - Rocky Liao <rjliao@codeaurora.org>
12*5956d97fSEmmanuel Vadot
13*5956d97fSEmmanuel Vadotdescription:
14*5956d97fSEmmanuel Vadot  This binding describes Qualcomm UART-attached bluetooth chips.
15*5956d97fSEmmanuel Vadot
16*5956d97fSEmmanuel Vadotproperties:
17*5956d97fSEmmanuel Vadot  compatible:
18*5956d97fSEmmanuel Vadot    enum:
19*5956d97fSEmmanuel Vadot      - qcom,qca6174-bt
20*5956d97fSEmmanuel Vadot      - qcom,qca9377-bt
21*5956d97fSEmmanuel Vadot      - qcom,wcn3990-bt
22*5956d97fSEmmanuel Vadot      - qcom,wcn3991-bt
23*5956d97fSEmmanuel Vadot      - qcom,wcn3998-bt
24*5956d97fSEmmanuel Vadot      - qcom,qca6390-bt
25*5956d97fSEmmanuel Vadot      - qcom,wcn6750-bt
26*5956d97fSEmmanuel Vadot
27*5956d97fSEmmanuel Vadot  enable-gpios:
28*5956d97fSEmmanuel Vadot    maxItems: 1
29*5956d97fSEmmanuel Vadot    description: gpio specifier used to enable chip
30*5956d97fSEmmanuel Vadot
31*5956d97fSEmmanuel Vadot  swctrl-gpios:
32*5956d97fSEmmanuel Vadot    maxItems: 1
33*5956d97fSEmmanuel Vadot    description: gpio specifier is used to find status
34*5956d97fSEmmanuel Vadot                 of clock supply to SoC
35*5956d97fSEmmanuel Vadot
36*5956d97fSEmmanuel Vadot  clocks:
37*5956d97fSEmmanuel Vadot    maxItems: 1
38*5956d97fSEmmanuel Vadot    description: clock provided to the controller (SUSCLK_32KHZ)
39*5956d97fSEmmanuel Vadot
40*5956d97fSEmmanuel Vadot  vddio-supply:
41*5956d97fSEmmanuel Vadot    description: VDD_IO supply regulator handle
42*5956d97fSEmmanuel Vadot
43*5956d97fSEmmanuel Vadot  vddxo-supply:
44*5956d97fSEmmanuel Vadot    description: VDD_XO supply regulator handle
45*5956d97fSEmmanuel Vadot
46*5956d97fSEmmanuel Vadot  vddrf-supply:
47*5956d97fSEmmanuel Vadot    description: VDD_RF supply regulator handle
48*5956d97fSEmmanuel Vadot
49*5956d97fSEmmanuel Vadot  vddch0-supply:
50*5956d97fSEmmanuel Vadot    description: VDD_CH0 supply regulator handle
51*5956d97fSEmmanuel Vadot
52*5956d97fSEmmanuel Vadot  vddaon-supply:
53*5956d97fSEmmanuel Vadot    description: VDD_AON supply regulator handle
54*5956d97fSEmmanuel Vadot
55*5956d97fSEmmanuel Vadot  vddbtcxmx-supply:
56*5956d97fSEmmanuel Vadot    description: VDD_BT_CXMX supply regulator handle
57*5956d97fSEmmanuel Vadot
58*5956d97fSEmmanuel Vadot  vddrfacmn-supply:
59*5956d97fSEmmanuel Vadot    description: VDD_RFA_CMN supply regulator handle
60*5956d97fSEmmanuel Vadot
61*5956d97fSEmmanuel Vadot  vddrfa0p8-supply:
62*5956d97fSEmmanuel Vadot    description: VDD_RFA_0P8 suppply regulator handle
63*5956d97fSEmmanuel Vadot
64*5956d97fSEmmanuel Vadot  vddrfa1p7-supply:
65*5956d97fSEmmanuel Vadot    description: VDD_RFA_1P7 supply regulator handle
66*5956d97fSEmmanuel Vadot
67*5956d97fSEmmanuel Vadot  vddrfa1p2-supply:
68*5956d97fSEmmanuel Vadot    description: VDD_RFA_1P2 supply regulator handle
69*5956d97fSEmmanuel Vadot
70*5956d97fSEmmanuel Vadot  vddrfa2p2-supply:
71*5956d97fSEmmanuel Vadot    description: VDD_RFA_2P2 supply regulator handle
72*5956d97fSEmmanuel Vadot
73*5956d97fSEmmanuel Vadot  vddasd-supply:
74*5956d97fSEmmanuel Vadot    description: VDD_ASD supply regulator handle
75*5956d97fSEmmanuel Vadot
76*5956d97fSEmmanuel Vadot  max-speed:
77*5956d97fSEmmanuel Vadot    description: see Documentation/devicetree/bindings/serial/serial.yaml
78*5956d97fSEmmanuel Vadot
79*5956d97fSEmmanuel Vadot  firmware-name:
80*5956d97fSEmmanuel Vadot    description: specify the name of nvm firmware to load
81*5956d97fSEmmanuel Vadot
82*5956d97fSEmmanuel Vadot  local-bd-address:
83*5956d97fSEmmanuel Vadot    description: see Documentation/devicetree/bindings/net/bluetooth.txt
84*5956d97fSEmmanuel Vadot
85*5956d97fSEmmanuel Vadot
86*5956d97fSEmmanuel Vadotrequired:
87*5956d97fSEmmanuel Vadot  - compatible
88*5956d97fSEmmanuel Vadot
89*5956d97fSEmmanuel VadotadditionalProperties: false
90*5956d97fSEmmanuel Vadot
91*5956d97fSEmmanuel VadotallOf:
92*5956d97fSEmmanuel Vadot  - if:
93*5956d97fSEmmanuel Vadot      properties:
94*5956d97fSEmmanuel Vadot        compatible:
95*5956d97fSEmmanuel Vadot          contains:
96*5956d97fSEmmanuel Vadot            enum:
97*5956d97fSEmmanuel Vadot              - qcom,qca6174-bt
98*5956d97fSEmmanuel Vadot    then:
99*5956d97fSEmmanuel Vadot      required:
100*5956d97fSEmmanuel Vadot        - enable-gpios
101*5956d97fSEmmanuel Vadot        - clocks
102*5956d97fSEmmanuel Vadot
103*5956d97fSEmmanuel Vadot  - if:
104*5956d97fSEmmanuel Vadot      properties:
105*5956d97fSEmmanuel Vadot        compatible:
106*5956d97fSEmmanuel Vadot          contains:
107*5956d97fSEmmanuel Vadot            enum:
108*5956d97fSEmmanuel Vadot              - qcom,wcn3990-bt
109*5956d97fSEmmanuel Vadot              - qcom,wcn3991-bt
110*5956d97fSEmmanuel Vadot              - qcom,wcn3998-bt
111*5956d97fSEmmanuel Vadot    then:
112*5956d97fSEmmanuel Vadot      required:
113*5956d97fSEmmanuel Vadot        - vddio-supply
114*5956d97fSEmmanuel Vadot        - vddxo-supply
115*5956d97fSEmmanuel Vadot        - vddrf-supply
116*5956d97fSEmmanuel Vadot        - vddch0-supply
117*5956d97fSEmmanuel Vadot
118*5956d97fSEmmanuel Vadot  - if:
119*5956d97fSEmmanuel Vadot      properties:
120*5956d97fSEmmanuel Vadot        compatible:
121*5956d97fSEmmanuel Vadot          contains:
122*5956d97fSEmmanuel Vadot            enum:
123*5956d97fSEmmanuel Vadot              - qcom,wcn6750-bt
124*5956d97fSEmmanuel Vadot    then:
125*5956d97fSEmmanuel Vadot      required:
126*5956d97fSEmmanuel Vadot        - enable-gpios
127*5956d97fSEmmanuel Vadot        - swctrl-gpios
128*5956d97fSEmmanuel Vadot        - vddio-supply
129*5956d97fSEmmanuel Vadot        - vddaon-supply
130*5956d97fSEmmanuel Vadot        - vddbtcxmx-supply
131*5956d97fSEmmanuel Vadot        - vddrfacmn-supply
132*5956d97fSEmmanuel Vadot        - vddrfa0p8-supply
133*5956d97fSEmmanuel Vadot        - vddrfa1p7-supply
134*5956d97fSEmmanuel Vadot        - vddrfa1p2-supply
135*5956d97fSEmmanuel Vadot        - vddasd-supply
136*5956d97fSEmmanuel Vadot
137*5956d97fSEmmanuel Vadotexamples:
138*5956d97fSEmmanuel Vadot  - |
139*5956d97fSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
140*5956d97fSEmmanuel Vadot    serial {
141*5956d97fSEmmanuel Vadot
142*5956d97fSEmmanuel Vadot        bluetooth {
143*5956d97fSEmmanuel Vadot            compatible = "qcom,qca6174-bt";
144*5956d97fSEmmanuel Vadot            enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
145*5956d97fSEmmanuel Vadot            clocks = <&divclk4>;
146*5956d97fSEmmanuel Vadot            firmware-name = "nvm_00440302.bin";
147*5956d97fSEmmanuel Vadot        };
148*5956d97fSEmmanuel Vadot    };
149*5956d97fSEmmanuel Vadot  - |
150*5956d97fSEmmanuel Vadot    serial {
151*5956d97fSEmmanuel Vadot
152*5956d97fSEmmanuel Vadot        bluetooth {
153*5956d97fSEmmanuel Vadot            compatible = "qcom,wcn3990-bt";
154*5956d97fSEmmanuel Vadot            vddio-supply = <&vreg_s4a_1p8>;
155*5956d97fSEmmanuel Vadot            vddxo-supply = <&vreg_l7a_1p8>;
156*5956d97fSEmmanuel Vadot            vddrf-supply = <&vreg_l17a_1p3>;
157*5956d97fSEmmanuel Vadot            vddch0-supply = <&vreg_l25a_3p3>;
158*5956d97fSEmmanuel Vadot            max-speed = <3200000>;
159*5956d97fSEmmanuel Vadot            firmware-name = "crnv21.bin";
160*5956d97fSEmmanuel Vadot        };
161*5956d97fSEmmanuel Vadot    };
162*5956d97fSEmmanuel Vadot  - |
163*5956d97fSEmmanuel Vadot    serial {
164*5956d97fSEmmanuel Vadot
165*5956d97fSEmmanuel Vadot        bluetooth {
166*5956d97fSEmmanuel Vadot            compatible = "qcom,wcn6750-bt";
167*5956d97fSEmmanuel Vadot            pinctrl-names = "default";
168*5956d97fSEmmanuel Vadot            pinctrl-0 = <&bt_en_default>;
169*5956d97fSEmmanuel Vadot            enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
170*5956d97fSEmmanuel Vadot            swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
171*5956d97fSEmmanuel Vadot            vddio-supply = <&vreg_l19b_1p8>;
172*5956d97fSEmmanuel Vadot            vddaon-supply = <&vreg_s7b_0p9>;
173*5956d97fSEmmanuel Vadot            vddbtcxmx-supply = <&vreg_s7b_0p9>;
174*5956d97fSEmmanuel Vadot            vddrfacmn-supply = <&vreg_s7b_0p9>;
175*5956d97fSEmmanuel Vadot            vddrfa0p8-supply = <&vreg_s7b_0p9>;
176*5956d97fSEmmanuel Vadot            vddrfa1p7-supply = <&vreg_s1b_1p8>;
177*5956d97fSEmmanuel Vadot            vddrfa1p2-supply = <&vreg_s8b_1p2>;
178*5956d97fSEmmanuel Vadot            vddrfa2p2-supply = <&vreg_s1c_2p2>;
179*5956d97fSEmmanuel Vadot            vddasd-supply = <&vreg_l11c_2p8>;
180*5956d97fSEmmanuel Vadot            max-speed = <3200000>;
181*5956d97fSEmmanuel Vadot            firmware-name = "msnv11.bin";
182*5956d97fSEmmanuel Vadot        };
183*5956d97fSEmmanuel Vadot    };
184