diff options
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 */ >; }; |