]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: qrb2210-rb1: add Bluetooth support
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 7 Feb 2025 20:41:20 +0000 (22:41 +0200)
committerBjorn Andersson <andersson@kernel.org>
Mon, 19 May 2025 20:33:48 +0000 (15:33 -0500)
Add support for the onboard WCN3950 BT/WiFi chip. Corresponding firmware
has been merged to linux-firmware and should be available in the next
release.

Bluetooth: hci0: setting up wcn399x
Bluetooth: hci0: QCA Product ID   :0x0000000f
Bluetooth: hci0: QCA SOC Version  :0x40070120
Bluetooth: hci0: QCA ROM Version  :0x00000102
Bluetooth: hci0: QCA Patch Version:0x00000001
Bluetooth: hci0: QCA controller version 0x01200102
Bluetooth: hci0: QCA Downloading qca/cmbtfw12.tlv
Bluetooth: hci0: QCA Downloading qca/cmnv12.bin
Bluetooth: hci0: QCA setup on UART is completed

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250207-rb1-bt-v4-6-d810fc8c94a9@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qrb2210-rb1.dts

index bef1fa782f1260e95e347abd52989d2da490af98..b2e0fc5501c1eefc7e037b2efd939126b483b226 100644 (file)
@@ -15,6 +15,7 @@
 
        aliases {
                serial0 = &uart4;
+               serial1 = &uart3;
                sdhc1 = &sdhc_1;
                sdhc2 = &sdhc_2;
        };
 };
 
 &tlmm {
+       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 {
+       /delete-property/ interrupts;
+       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,wcn3950-bt";
+
+               vddio-supply = <&pm4125_l15>;
+               vddxo-supply = <&pm4125_l13>;
+               vddrf-supply = <&pm4125_l10>;
+               vddch0-supply = <&pm4125_l22>;
+               enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
+               max-speed = <3200000>;
+       };
+};
+
 /* UART connected to the Micro-USB port via a FTDI chip */
 &uart4 {
        compatible = "qcom,geni-debug-uart";