arm64: dts: qcom: qrb4210-rb2: Enable bluetooth
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Mon, 27 Nov 2023 11:23:28 +0000 (12:23 +0100)
committerBjorn Andersson <andersson@kernel.org>
Sun, 3 Dec 2023 04:09:57 +0000 (20:09 -0800)
Enable the QCA bluetooth on RB2. It identifies like the following:

Bluetooth: hci0: QCA Product ID   :0x0000000a
Bluetooth: hci0: QCA SOC Version  :0x40020150
Bluetooth: hci0: QCA ROM Version  :0x00000201
Bluetooth: hci0: QCA Patch Version:0x00000001
Bluetooth: hci0: QCA controller version 0x01500201

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231120-topic-rb2_bt-v2-2-4bbf266258ef@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts

index 9738c0d..33c312a 100644 (file)
@@ -15,6 +15,7 @@
 
        aliases {
                serial0 = &uart4;
+               serial1 = &uart3;
        };
 
        chosen {
 
                vreg_l9a_1p8: l9 {
                        regulator-min-microvolt = <1800000>;
-                       regulator-max-microvolt = <2000000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-allow-set-load;
                };
 
                vreg_l10a_1p8: l10 {
                vreg_l16a_1p3: l16 {
                        regulator-min-microvolt = <1704000>;
                        regulator-max-microvolt = <1904000>;
+                       regulator-allow-set-load;
                };
 
                vreg_l17a_1p3: l17 {
                        regulator-min-microvolt = <1152000>;
                        regulator-max-microvolt = <1384000>;
+                       regulator-allow-set-load;
                };
 
                vreg_l18a_1p232: l18 {
                vreg_l23a_3p3: l23 {
                        regulator-min-microvolt = <3200000>;
                        regulator-max-microvolt = <3400000>;
+                       regulator-allow-set-load;
                };
 
                vreg_l24a_2p96: l24 {
                               <56 3>, <61 2>, <64 1>,
                               <68 1>, <72 8>, <96 1>;
 
+       uart3_default: uart3-default-state {
+               cts-pins {
+                       pins = "gpio8";
+                       function = "qup3";
+                       drive-strength = <2>;
+                       bias-bus-hold;
+               };
+
+               rts-pins {
+                       pins = "gpio9";
+                       function = "qup3";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+
+               tx-pins {
+                       pins = "gpio10";
+                       function = "qup3";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+
+               rx-pins {
+                       pins = "gpio11";
+                       function = "qup3";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       uart3_sleep: uart3-sleep-state {
+               cts-pins {
+                       pins = "gpio8";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-bus-hold;
+               };
+
+               rts-pins {
+                       pins = "gpio9";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               tx-pins {
+                       pins = "gpio10";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+
+               rx-pins {
+                       pins = "gpio11";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
        lt9611_rst_pin: lt9611-rst-state {
                pins = "gpio41";
                function = "gpio";
        };
 };
 
+&uart3 {
+       interrupts-extended = <&intc GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
+                             <&tlmm 11 IRQ_TYPE_LEVEL_HIGH>;
+       pinctrl-0 = <&uart3_default>;
+       pinctrl-1 = <&uart3_sleep>;
+       pinctrl-names = "default", "sleep";
+       status = "okay";
+
+       bluetooth {
+               compatible = "qcom,wcn3988-bt";
+
+               vddio-supply = <&vreg_l9a_1p8>;
+               vddxo-supply = <&vreg_l16a_1p3>;
+               vddrf-supply = <&vreg_l17a_1p3>;
+               vddch0-supply = <&vreg_l23a_3p3>;
+               enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
+               max-speed = <3200000>;
+       };
+};
+
 &uart4 {
        status = "okay";
 };