Commit 9a36c6fd authored by satya priya's avatar satya priya Committed by Bjorn Andersson

arm64: dts: qcom: sc7180: Add wakeup support for BT UART on sc7180-idp

Add the necessary pinctrl, interrupt property and a suitable sleep config
to support Bluetooth wakeup feature.

GPIO mode is configured in sleep state to drive the RTS/RFR line low.
If QUP function is selected in sleep state, UART RTS/RFR is pulled high
during suspend and BT SoC not able to send wakeup bytes.
Reviewed-by: default avatarMatthias Kaehlcke <mka@chromium.org>
Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
Signed-off-by: default avatarsatya priya <skakit@codeaurora.org>
Link: https://lore.kernel.org/r/1600091917-7464-3-git-send-email-skakit@codeaurora.orgSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent ff11a798
...@@ -346,6 +346,13 @@ &sdhc_2 { ...@@ -346,6 +346,13 @@ &sdhc_2 {
&uart3 { &uart3 {
status = "okay"; status = "okay";
/delete-property/interrupts;
interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
<&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default", "sleep";
pinctrl-1 = <&qup_uart3_sleep>;
bluetooth: wcn3990-bt { bluetooth: wcn3990-bt {
compatible = "qcom,wcn3990-bt"; compatible = "qcom,wcn3990-bt";
vddio-supply = <&vreg_l10a_1p8>; vddio-supply = <&vreg_l10a_1p8>;
...@@ -544,3 +551,51 @@ pinconf { ...@@ -544,3 +551,51 @@ pinconf {
}; };
}; };
&tlmm {
qup_uart3_sleep: qup-uart3-sleep {
pinmux {
pins = "gpio38", "gpio39",
"gpio40", "gpio41";
function = "gpio";
};
pinconf-cts {
/*
* Configure a pull-down on CTS to match the pull of
* the Bluetooth module.
*/
pins = "gpio38";
bias-pull-down;
};
pinconf-rts {
/*
* 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).
*/
pins = "gpio39";
bias-pull-down;
};
pinconf-tx {
/*
* Configure pull-up on TX when it isn't actively driven
* to prevent BT SoC from receiving garbage during sleep.
*/
pins = "gpio40";
bias-pull-up;
};
pinconf-rx {
/*
* 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.
*/
pins = "gpio41";
bias-pull-up;
};
};
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment