mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 05:22:19 -04:00
arm64: dts: qcom: qcs6490-rb3gen2: add and enable BT node
Add the PMU node for WCN6750 present on the qcs6490-rb3gen2 board and assign its power outputs to the Bluetooth module. In WCN6750 module sw_ctrl and wifi-enable pins are handled in the wifi controller firmware. Therefore, it is not required to have those pins' entries in the PMU node. Signed-off-by: Janaki Ramaiah Thota <quic_janathot@quicinc.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250221171014.120946-2-quic_janathot@quicinc.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
c24db2c178
commit
914d16b4a9
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
@@ -36,6 +36,7 @@ / {
|
||||
|
||||
aliases {
|
||||
serial0 = &uart5;
|
||||
serial1 = &uart7;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -258,6 +259,63 @@ vph_pwr: vph-pwr-regulator {
|
||||
regulator-min-microvolt = <3700000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
};
|
||||
|
||||
wcn6750-pmu {
|
||||
compatible = "qcom,wcn6750-pmu";
|
||||
pinctrl-0 = <&bt_en>;
|
||||
pinctrl-names = "default";
|
||||
vddaon-supply = <&vreg_s7b_0p972>;
|
||||
vddasd-supply = <&vreg_l11c_2p8>;
|
||||
vddpmu-supply = <&vreg_s7b_0p972>;
|
||||
vddrfa0p8-supply = <&vreg_s7b_0p972>;
|
||||
vddrfa1p2-supply = <&vreg_s8b_1p272>;
|
||||
vddrfa1p7-supply = <&vreg_s1b_1p872>;
|
||||
vddrfa2p2-supply = <&vreg_s1c_2p19>;
|
||||
|
||||
bt-enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
regulators {
|
||||
vreg_pmu_rfa_cmn: ldo0 {
|
||||
regulator-name = "vreg_pmu_rfa_cmn";
|
||||
};
|
||||
|
||||
vreg_pmu_aon_0p59: ldo1 {
|
||||
regulator-name = "vreg_pmu_aon_0p59";
|
||||
};
|
||||
|
||||
vreg_pmu_wlcx_0p8: ldo2 {
|
||||
regulator-name = "vreg_pmu_wlcx_0p8";
|
||||
};
|
||||
|
||||
vreg_pmu_wlmx_0p85: ldo3 {
|
||||
regulator-name = "vreg_pmu_wlmx_0p85";
|
||||
};
|
||||
|
||||
vreg_pmu_btcmx_0p85: ldo4 {
|
||||
regulator-name = "vreg_pmu_btcmx_0p85";
|
||||
};
|
||||
|
||||
vreg_pmu_rfa_0p8: ldo5 {
|
||||
regulator-name = "vreg_pmu_rfa_0p8";
|
||||
};
|
||||
|
||||
vreg_pmu_rfa_1p2: ldo6 {
|
||||
regulator-name = "vreg_pmu_rfa_1p2";
|
||||
};
|
||||
|
||||
vreg_pmu_rfa_1p7: ldo7 {
|
||||
regulator-name = "vreg_pmu_rfa_1p7";
|
||||
};
|
||||
|
||||
vreg_pmu_pcie_0p9: ldo8 {
|
||||
regulator-name = "vreg_pmu_pcie_0p9";
|
||||
};
|
||||
|
||||
vreg_pmu_pcie_1p8: ldo9 {
|
||||
regulator-name = "vreg_pmu_pcie_1p8";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&apps_rsc {
|
||||
@@ -907,6 +965,39 @@ &pon_resin {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qup_uart7_cts {
|
||||
/*
|
||||
* Configure a bias-bus-hold on CTS to lower power
|
||||
* usage when Bluetooth is turned off. Bus hold will
|
||||
* maintain a low power state regardless of whether
|
||||
* the Bluetooth module drives the pin in either
|
||||
* direction or leaves the pin fully unpowered.
|
||||
*/
|
||||
bias-bus-hold;
|
||||
};
|
||||
|
||||
&qup_uart7_rts {
|
||||
/* We'll drive RTS, so no pull */
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
&qup_uart7_rx {
|
||||
/*
|
||||
* Configure a pull-up on RX. This is needed to avoid
|
||||
* garbage data when the TX pin of the Bluetooth module is
|
||||
* in tri-state (module powered off or not driving the
|
||||
* signal yet).
|
||||
*/
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
&qup_uart7_tx {
|
||||
/* We'll drive TX, so no pull */
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
&qupv3_id_0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -950,12 +1041,90 @@ &sdhc_2 {
|
||||
&tlmm {
|
||||
gpio-reserved-ranges = <32 2>, /* ADSP */
|
||||
<48 4>; /* NFC */
|
||||
|
||||
bt_en: bt-en-state {
|
||||
pins = "gpio85";
|
||||
function = "gpio";
|
||||
output-low;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
|
||||
pins = "gpio28";
|
||||
function = "gpio";
|
||||
/*
|
||||
* Configure a bias-bus-hold on CTS to lower power
|
||||
* usage when Bluetooth is turned off. Bus hold will
|
||||
* maintain a low power state regardless of whether
|
||||
* the Bluetooth module drives the pin in either
|
||||
* direction or leaves the pin fully unpowered.
|
||||
*/
|
||||
bias-bus-hold;
|
||||
};
|
||||
|
||||
qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
|
||||
pins = "gpio29";
|
||||
function = "gpio";
|
||||
/*
|
||||
* Configure pull-down on RTS. As RTS is active low
|
||||
* signal, pull it low to indicate the BT SoC that it
|
||||
* can wakeup the system anytime from suspend state by
|
||||
* pulling RX low (by sending wakeup bytes).
|
||||
*/
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
|
||||
pins = "gpio31";
|
||||
function = "gpio";
|
||||
/*
|
||||
* Configure a pull-up on RX. This is needed to avoid
|
||||
* garbage data when the TX pin of the Bluetooth module
|
||||
* is floating which may cause spurious wakeups.
|
||||
*/
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
|
||||
pins = "gpio30";
|
||||
function = "gpio";
|
||||
/*
|
||||
* Configure pull-up on TX when it isn't actively driven
|
||||
* to prevent BT SoC from receiving garbage during sleep.
|
||||
*/
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
&uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart7 {
|
||||
/delete-property/ interrupts;
|
||||
interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
|
||||
pinctrl-1 = <&qup_uart7_sleep_cts>,
|
||||
<&qup_uart7_sleep_rts>,
|
||||
<&qup_uart7_sleep_tx>,
|
||||
<&qup_uart7_sleep_rx>;
|
||||
pinctrl-names = "default",
|
||||
"sleep";
|
||||
|
||||
status = "okay";
|
||||
|
||||
bluetooth: bluetooth {
|
||||
compatible = "qcom,wcn6750-bt";
|
||||
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
|
||||
vddaon-supply = <&vreg_pmu_aon_0p59>;
|
||||
vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
|
||||
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
|
||||
vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
|
||||
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
|
||||
max-speed = <3200000>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user