summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2022-02-10 16:32:10 +0100
committerFrancesco Dolcini <francesco.dolcini@toradex.com>2022-02-25 10:46:03 +0000
commitf864e93fd4f1ad9ab956cfd12da5834bce6e92b3 (patch)
tree6dd4c4b8ec4c9323beada7b699d859aef416ec9a /arch/arm64/boot/dts/freescale
parent6192ec5c77bfad55eda4fcbf2b6ea42d4781ff6a (diff)
arm64: dts: imx8mp-verdin: use uart4 as bt uart
The PCB of the hardware version V1.1 uses the UART4 (ECSPI2 pins) for the Bluetooth UART, therefore move it to the Wi-Fi module device tree. Move regular UART4 usage to non-WiFi only. While at it also split Bluetooth specific pin from pinctrl_wifi_ctrl into separate pinctrl_bluetooth_ctrl as that might be needed to run the proprietary driver stack. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Diffstat (limited to 'arch/arm64/boot/dts/freescale')
-rwxr-xr-xarch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi6
-rwxr-xr-xarch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi.dtsi6
-rwxr-xr-xarch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi10
-rwxr-xr-xarch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi28
4 files changed, 41 insertions, 9 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi
index 830ff9c8d66b..4f86b3bbbbf1 100755
--- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi
@@ -199,12 +199,6 @@
status = "okay";
};
-/* Verdin UART_4 */
-/* Often used by the M7 and then should not be enabled here. */
-&uart4 {
- status = "disabled";
-};
-
/* Verdin USB_1 */
&usb3_phy0 {
status = "okay";
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi.dtsi
index 21f91d7f6e9a..eedfc05f71e2 100755
--- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi.dtsi
@@ -19,3 +19,9 @@
<&pinctrl_gpio_hog1>, <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>,
<&pinctrl_hdmi_hog>;
};
+
+/* Verdin UART_4 */
+/* Often used by the M7 and then should not be enabled here. */
+&uart4 {
+ status = "disabled";
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi
index 19620f501892..b175f9b92082 100755
--- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi
@@ -30,10 +30,18 @@
pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio2>,
<&pinctrl_gpio3>, <&pinctrl_gpio4>,
<&pinctrl_gpio7>, <&pinctrl_gpio8>,
- <&pinctrl_gpio_hog1>, <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>,
+ <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>, <&pinctrl_gpio_hog4>,
<&pinctrl_hdmi_hog>;
};
+/* On-module Bluetooth */
+&uart4 {
+ fsl,uart-has-rtscts;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_bt_uart>;
+ status = "okay";
+};
+
/* On-module Wi-Fi */
&usdhc1 {
bus-width = <4>;
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi
index edf5b19a7257..238d8c9fe791 100755
--- a/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi
@@ -697,7 +697,7 @@
pinctrl-0 = <&pinctrl_uart3>;
};
-/* Verdin UART_4 */
+/* Verdin UART_4, used for Bluetooth on Wi-Fi/Bluetooth SKUs */
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
@@ -781,6 +781,15 @@
};
&iomuxc {
+ pinctrl_bt_uart: btuartgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ECSPI2_SCLK__UART4_DCE_RX 0x1c4
+ MX8MP_IOMUXC_ECSPI2_MOSI__UART4_DCE_TX 0x1c4
+ MX8MP_IOMUXC_ECSPI2_MISO__UART4_DCE_CTS 0x1c4
+ MX8MP_IOMUXC_ECSPI2_SS0__UART4_DCE_RTS 0x1c4
+ >;
+ };
+
pinctrl_ctrl_sleep_moci: ctrlsleepmocigrp {
fsl,pins = <
MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x1c4 /* SODIMM 256 */
@@ -953,6 +962,7 @@
>;
};
+ /* Non-wifi MSP usage only */
pinctrl_gpio_hog1: gpiohog1grp {
fsl,pins = <
MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12 0x1c4 /* SODIMM 116 */
@@ -977,6 +987,14 @@
>;
};
+ /* Wifi usage only */
+ pinctrl_gpio_hog4: gpiohog4grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_UART4_RXD__GPIO5_IO28 0x1c4 /* SODIMM 151 */
+ MX8MP_IOMUXC_UART4_TXD__GPIO5_IO29 0x1c4 /* SODIMM 153 */
+ >;
+ };
+
pinctrl_gpio_keys: gpiokeysgrp {
fsl,pins = <
MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x1c4 /* SODIMM 252 */
@@ -1155,6 +1173,7 @@
>;
};
+ /* Non-wifi usage only */
pinctrl_uart4: uart4grp {
fsl,pins = <
MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x1c4 /* SODIMM 151 */
@@ -1320,9 +1339,14 @@
>;
};
- pinctrl_wifi_ctrl: wifictrlgrp {
+ pinctrl_bluetooth_ctrl: bluetoothctrlgrp {
fsl,pins = <
MX8MP_IOMUXC_SD1_DATA6__GPIO2_IO08 0x1c4 /* WIFI_WKUP_BT */
+ >;
+ };
+
+ pinctrl_wifi_ctrl: wifictrlgrp {
+ fsl,pins = <
MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09 0x1c4 /* WIFI_WKUP_WLAN */
>;
};