Commit e3bc6fec authored by Rajesh Patil's avatar Rajesh Patil Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sc7280: Configure uart7 to support bluetooth on sc7280-idp

parent 38cd93f4
Loading
Loading
Loading
Loading
+85 −0
Original line number Diff line number Diff line
@@ -322,6 +322,16 @@ &usb_2_hsphy {
	vdda18-supply = <&vreg_l1c_1p8>;
};

&uart7 {
	status = "okay";

	/delete-property/interrupts;
	interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
				<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
	pinctrl-names = "default", "sleep";
	pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
};

/* PINCTRL - additions to nodes defined in sc7280.dtsi */

&pm7325_gpios {
@@ -358,6 +368,81 @@ &qup_uart5_rx {
	bias-pull-up;
};

&qup_uart7_cts {
	/*
	 * Configure a pull-down on CTS to match the pull of
	 * the Bluetooth module.
	 */
	bias-pull-down;
};

&qup_uart7_rts {
	/* We'll drive RTS, so no pull */
	drive-strength = <2>;
	bias-disable;
};

&qup_uart7_tx {
	/* We'll drive TX, 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;
};

&tlmm {
	qup_uart7_sleep_cts: qup-uart7-sleep-cts {
		pins = "gpio28";
		function = "gpio";
		/*
		 * Configure a pull-down on CTS to match the pull of
		 * the Bluetooth module.
		 */
		bias-pull-down;
	};

	qup_uart7_sleep_rts: qup-uart7-sleep-rts {
		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_tx: qup-uart7-sleep-tx {
		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;
	};

	qup_uart7_sleep_rx: qup-uart7-sleep-rx {
		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;
	};
};

&sdc1_on {
	clk {
		bias-disable;