mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
arm64: dts: qcom: sc7180-trogdor: Add wakeup support for BT UART
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. Tested-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: satya priya <skakit@codeaurora.org> Link: https://lore.kernel.org/r/1600091917-7464-4-git-send-email-skakit@codeaurora.org Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
9a36c6fd09
commit
4e0a3e04e4
@@ -794,6 +794,13 @@ ap_spi_fp: &spi10 {
|
||||
&uart3 {
|
||||
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: bluetooth {
|
||||
compatible = "qcom,wcn3991-bt";
|
||||
vddio-supply = <&pp1800_l10a>;
|
||||
@@ -1307,6 +1314,53 @@ ap_spi_fp: &spi10 {
|
||||
};
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
trackpad_int_1v8_odl: trackpad-int-1v8-odl {
|
||||
pinmux {
|
||||
pins = "gpio58";
|
||||
|
||||
Reference in New Issue
Block a user