ARM: dts: imx6: enable Murata 1MW M.2 card for imx6 legacy platforms
authorFugang Duan <fugang.duan@nxp.com>
Tue, 5 Nov 2019 12:24:09 +0000 (20:24 +0800)
committerDong Aisheng <aisheng.dong@nxp.com>
Mon, 14 Dec 2020 03:20:34 +0000 (11:20 +0800)
Enable Murata 1MW M.2 card for i.MX6 legacy platforms. Plug in
Murata 1MW M.2 into SD slot by using Murata uSD-to-M.2 Adapter.

Below i.MX6 legacy platforms will be supported:
- i.MX6Q/QP/DL SDB, SD2 slot
- i.MX6SX SDB, SD2 slot
- i.MX6SLL EVK, SD3 slot
- i.MX6UL/ULL/ULZ EVK, SD1 slot

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
20 files changed:
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/imx6dl-sabresd-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-sabresd-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl-sabresd-btwifi.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6qp-sabresd-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6sl-evk-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6sll-evk-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6sll-evk.dts
arch/arm/boot/dts/imx6sx-sdb-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ul-14x14-evk-btwifi-oob.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ul-14x14-evk-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ul-9x9-evk-btwifi-oob.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ul-9x9-evk-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ul-evk-btwifi-oob.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6ul-evk-btwifi.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-14x14-evk-btwifi-oob.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-14x14-evk-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-9x9-evk-btwifi-oob.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ull-9x9-evk-btwifi.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6ulz-14x14-evk-btwifi.dts [new file with mode: 0644]

index 7b94d3c..d99e633 100644 (file)
@@ -468,6 +468,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6dl-sabreauto-flexcan1.dtb \
        imx6dl-sabrelite.dtb \
        imx6dl-sabresd.dtb \
+       imx6dl-sabresd-btwifi.dtb \
        imx6dl-sabresd-hdcp.dtb \
        imx6dl-savageboard.dtb \
        imx6dl-ts4900.dtb \
@@ -562,6 +563,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6q-sabreauto-flexcan1.dtb \
        imx6q-sabrelite.dtb \
        imx6q-sabresd.dtb \
+       imx6q-sabresd-btwifi.dtb \
        imx6q-sabresd-hdcp.dtb \
        imx6q-sabresd-uart.dtb \
        imx6q-savageboard.dtb \
@@ -591,6 +593,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6qp-sabreauto.dtb \
        imx6qp-sabreauto-flexcan1.dtb \
        imx6qp-sabresd.dtb \
+       imx6qp-sabresd-btwifi.dtb \
        imx6qp-sabresd-hdcp.dtb \
        imx6qp-tx6qp-8037.dtb \
        imx6qp-tx6qp-8037-mb7.dtb \
@@ -602,12 +605,14 @@ dtb-$(CONFIG_SOC_IMX6SL) += \
        imx6sl-evk.dtb \
        imx6sl-evk-csi.dtb \
        imx6sl-evk-uart.dtb \
+       imx6sl-evk-btwifi.dtb \
        imx6sl-tolino-shine2hd.dtb \
        imx6sl-tolino-shine3.dtb \
        imx6sl-warp.dtb
 dtb-$(CONFIG_SOC_IMX6SLL) += \
        imx6sll-evk.dtb \
        imx6sll-kobo-clarahd.dtb
+       imx6sll-evk-btwifi.dtb
 dtb-$(CONFIG_SOC_IMX6SX) += \
        imx6sx-nitrogen6sx.dtb \
        imx6sx-sabreauto.dtb \
@@ -618,6 +623,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
        imx6sx-sdb-lcdif1.dtb \
        imx6sx-sdb-m4.dtb \
        imx6sx-sdb-mqs.dtb \
+       imx6sx-sdb-btwifi.dtb \
        imx6sx-softing-vining-2000.dtb \
        imx6sx-udoo-neo-basic.dtb \
        imx6sx-udoo-neo-extended.dtb \
@@ -626,7 +632,11 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
        imx6ul-14x14-evk.dtb \
        imx6ul-14x14-evk-csi.dtb \
        imx6ul-14x14-evk-emmc.dtb \
+       imx6ul-14x14-evk-btwifi.dtb \
+       imx6ul-14x14-evk-btwifi-oob.dtb \
        imx6ul-9x9-evk.dtb \
+       imx6ul-9x9-evk-btwifi.dtb \
+       imx6ul-9x9-evk-btwifi-oob.dtb \
        imx6ul-ccimx6ulsbcexpress.dtb \
        imx6ul-ccimx6ulsbcpro.dtb \
        imx6ul-geam.dtb \
@@ -645,7 +655,11 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
        imx6ul-tx6ul-mainboard.dtb \
        imx6ull-14x14-evk.dtb \
        imx6ull-14x14-evk-emmc.dtb \
+       imx6ull-14x14-evk-btwifi.dtb \
+       imx6ull-14x14-evk-btwifi-oob.dtb \
        imx6ull-9x9-evk.dtb \
+       imx6ull-9x9-evk-btwifi.dtb \
+       imx6ull-9x9-evk-btwifi-oob.dtb \
        imx6ull-colibri-eval-v3.dtb \
        imx6ull-colibri-wifi-eval-v3.dtb \
        imx6ull-myir-mys-6ulx-eval.dtb \
@@ -654,6 +668,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
        imx6ull-phytec-segin-ff-rdk-emmc.dtb \
        imx6ull-phytec-segin-lc-rdk-nand.dtb \
        imx6ulz-14x14-evk.dtb \
+       imx6ulz-14x14-evk-btwifi.dtb \
        imx6ulz-14x14-evk-emmc.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
        imx7d-cl-som-imx7.dtb \
diff --git a/arch/arm/boot/dts/imx6dl-sabresd-btwifi.dts b/arch/arm/boot/dts/imx6dl-sabresd-btwifi.dts
new file mode 100644 (file)
index 0000000..ac57fff
--- /dev/null
@@ -0,0 +1,11 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6dl-sabresd.dts"
+#include "imx6qdl-sabresd-btwifi.dtsi"
diff --git a/arch/arm/boot/dts/imx6q-sabresd-btwifi.dts b/arch/arm/boot/dts/imx6q-sabresd-btwifi.dts
new file mode 100644 (file)
index 0000000..5f55b7d
--- /dev/null
@@ -0,0 +1,11 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6q-sabresd.dts"
+#include "imx6qdl-sabresd-btwifi.dtsi"
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd-btwifi.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd-btwifi.dtsi
new file mode 100644 (file)
index 0000000..87b4bdb
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/*
+ * NOTE: This DTS file is wrote for plugging in Murata 1MW M.2
+ * into SD2 slot by using Murata uSD-to-M.2 Adapter.
+ *
+ * By default, OOB IRQ is enabled with below HW rework.
+ * HW rework:
+ *     Install R209,R210,R211,R212,R213,R214,R215 on SDB board.
+ */
+
+/ {
+       leds {
+               compatible = "gpio-leds";
+               status = "disabled";
+       };
+
+       modem_reset: modem-reset {
+               compatible = "gpio-reset";
+               reset-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
+               reset-delay-us = <1000>;
+               #reset-cells = <0>;
+       };
+
+       usdhc1_pwrseq: usdhc1_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&ecspi1 {
+       status = "disabled";
+};
+
+&iomuxc {
+       imx6qdl-sabresd-murata-v2 {
+               pinctrl_btreg: btreggrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0
+                       >;
+               };
+
+               /* add MUXing entry for SD2 4-bit interface and configure control pins */
+               pinctrl_wifi: wifigrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD2_CMD__SD2_CMD             0x17059
+                               MX6QDL_PAD_SD2_CLK__SD2_CLK             0x10059
+                               MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x17059
+                               MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x17059
+                               MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x17059
+                               MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x17059
+                               MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x13069 /* WL_REG_ON */
+                               MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x0b001 /* WL_HOST_WAKE */
+                       >;
+               };
+       };
+};
+
+&pinctrl_gpio_leds {
+       fsl,pins = <
+       >;
+};
+
+&uart5 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart5_1
+                    &pinctrl_btreg>;
+       fsl,uart-has-rtscts;
+       resets = <&modem_reset>;
+       status = "okay";
+       /* for DTE mode, add below change */
+       /* fsl,dte-mode; */
+       /* pinctrl-0 = <&pinctrl_uart5dte_1>; */
+};
+
+&usdhc2 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_wifi>;
+       bus-width = <4>;
+       no-1-8-v;
+       non-removable;
+       keep-power-in-suspend;
+       mmc-pwrseq = <&usdhc1_pwrseq>;
+       pm-ignore-notify;
+       cap-power-off-card;
+       /delete-property/ enable-sdio-wakeup;
+
+       brcmf: bcrmf@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+               interrupt-parent = <&gpio4>;
+               interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+               interrupt-names = "host-wake";
+       };
+};
diff --git a/arch/arm/boot/dts/imx6qp-sabresd-btwifi.dts b/arch/arm/boot/dts/imx6qp-sabresd-btwifi.dts
new file mode 100644 (file)
index 0000000..e83d04f
--- /dev/null
@@ -0,0 +1,11 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6qp-sabresd.dts"
+#include "imx6qdl-sabresd-btwifi.dtsi"
diff --git a/arch/arm/boot/dts/imx6sl-evk-btwifi.dts b/arch/arm/boot/dts/imx6sl-evk-btwifi.dts
new file mode 100644 (file)
index 0000000..01867f5
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/* NOTE: This DTS file is written for plugging in Murata Wi-Fi/BT EVK into SD1
+ * slot using Murata i.MX InterConnect Ver 1.0 Adapter AND wiring in control
+ * signals with SD Card Extender on SD3 slot.
+ * Bluetooth UART connect via SD1 EMMC/MMC Plus pinout.
+ * WL_REG_ON/BT_REG_ON/WL_HOST_WAKE are connected from SD Card Extender on SD3
+ * slot.
+ */
+#include "imx6sl-evk.dts"
+
+/ {
+       modem_reset: modem-reset {
+               compatible = "gpio-reset";
+               reset-gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
+               reset-delay-us = <1000>;
+               #reset-cells = <0>;
+       };
+
+       usdhc1_pwrseq: usdhc1_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio5 16 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&iomuxc {
+       imx6sl-evk-murata-v1_sdext {
+               /* Only MUX SD1_DAT0..3 lines so UART4 can be MUXed on higher data lines. */
+               pinctrl_btreg: btreggrp {
+                       fsl,pins = <
+                               MX6SL_PAD_SD3_DAT3__GPIO5_IO17          0x13069 /* BT_REG_ON */
+                       >;
+               };
+
+               pinctrl_wifi: wifigrp {
+                       fsl,pins = <
+                               MX6SL_PAD_SD1_CMD__SD1_CMD              0x17059
+                               MX6SL_PAD_SD1_CLK__SD1_CLK              0x10059
+                               MX6SL_PAD_SD1_DAT0__SD1_DATA0           0x17059
+                               MX6SL_PAD_SD1_DAT1__SD1_DATA1           0x17059
+                               MX6SL_PAD_SD1_DAT2__SD1_DATA2           0x17059
+                               MX6SL_PAD_SD1_DAT3__SD1_DATA3           0x17059
+                               MX6SL_PAD_SD3_DAT1__GPIO5_IO20          0x13069 /* WL_HOST_WAKE */
+                               MX6SL_PAD_SD3_DAT2__GPIO5_IO16          0x13069 /* WL_REG_ON */
+                       >;
+               };
+
+               pinctrl_usdhc3_1: usdhc3grp-1 {
+                       fsl,pins = <
+                               MX6SL_PAD_SD3_CMD__SD3_CMD              0x17059
+                               MX6SL_PAD_SD3_CLK__SD3_CLK              0x10059
+                               MX6SL_PAD_SD3_DAT0__SD3_DATA0           0x17059
+                       >;
+               };
+       };
+};
+/* Murata: declare UART4 interface for Bluetooth. */
+&uart4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart4_1
+                    &pinctrl_btreg>;
+       fsl,uart-has-rtscts;
+       resets = <&modem_reset>;
+       status = "okay";
+       /* for DTE mode, add below change */
+       /* fsl,dte-mode; */
+       /* pinctrl-0 = <&pinctrl_uart4dte_1>; */
+};
+
+&usdhc1 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_wifi>;
+       bus-width = <4>;
+       no-1-8-v;
+       non-removable;
+       mmc-pwrseq = <&usdhc1_pwrseq>;
+       pm-ignore-notify;
+       cap-power-off-card;
+       /delete-property/ enable-sdio-wakeup;
+
+       brcmf: bcrmf@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+       };
+};
+
+&usdhc3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc3_1>;
+       bus-width = <1>;
+       no-1-8-v;
+};
diff --git a/arch/arm/boot/dts/imx6sll-evk-btwifi.dts b/arch/arm/boot/dts/imx6sll-evk-btwifi.dts
new file mode 100644 (file)
index 0000000..06421c0
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2016 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/*
+ * NOTE: This DTS file is wrote for plugging in Murata 1MW M.2
+ * into SD3 slot by using Murata uSD-to-M.2 Adapter.
+ *
+ * By default, OOB IRQ is not enabled since i.MX6SLL EVK board needs to rework.
+ * How to enable OOB IRQ ?
+ * HW rework:
+ *     Install R127 on i.MX6SLL EVK board.
+ * SW change: add below pin for WL_HOST_WAKE
+ *     pinctrl_wifi: wifigrp {
+ *             fsl,pins = <
+ *                     ...
+ *                     MX6SLL_PAD_KEY_COL1__GPIO3_IO26 0x0b001
+ *             >;
+ *     };
+ *     brcmf: bcrmf@1 {
+ *             reg = <1>;
+ *             compatible = "brcm,bcm4329-fmac";
+ *             interrupt-parent = <&gpio3>;
+ *             interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
+ *             interrupt-names = "host-wake";
+ *     };
+ */
+
+#include "imx6sll-evk.dts"
+
+/ {
+       modem_reset: modem-reset {
+               compatible = "gpio-reset";
+               reset-gpios = <&gpio3 27 GPIO_ACTIVE_LOW>;
+               reset-delay-us = <1000>;
+               #reset-cells = <0>;
+       };
+
+       usdhc1_pwrseq: usdhc1_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&iomuxc {
+       imx6sll-evk-murata-v2 {
+               pinctrl_wifi: wifigrp {
+                       fsl,pins = <
+                               MX6SLL_PAD_SD3_CMD__SD3_CMD     0x170b9
+                               MX6SLL_PAD_SD3_CLK__SD3_CLK     0x130b9
+                               MX6SLL_PAD_SD3_DATA0__SD3_DATA0 0x170b9
+                               MX6SLL_PAD_SD3_DATA1__SD3_DATA1 0x170b9
+                               MX6SLL_PAD_SD3_DATA2__SD3_DATA2 0x170b9
+                               MX6SLL_PAD_SD3_DATA3__SD3_DATA3 0x170b9
+
+                               MX6SLL_PAD_KEY_COL0__GPIO3_IO24 0x17059 /* WL_REG_ON */
+                       >;
+               };
+       };
+};
+
+&lcdif {
+       status = "disabled";
+};
+
+&reg_sd3_vmmc {
+       regulator-always-on;
+};
+
+&uart5 {
+       resets = <&modem_reset>;
+       status = "okay";
+};
+
+&usdhc3 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_wifi>;
+       bus-width = <4>;
+       no-1-8-v;
+       non-removable;
+       mmc-pwrseq = <&usdhc1_pwrseq>;
+       pm-ignore-notify;
+       cap-power-off-card;
+       /delete-property/ cd-gpios;
+       /delete-property/ vmmc-supply;
+       /delete-property/ enable-sdio-wakeup;
+
+       brcmf: bcrmf@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+       };
+};
index 01d9f3d..70f5719 100644 (file)
                regulator-min-microvolt = <3000000>;
                regulator-max-microvolt = <3000000>;
                gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>;
+               off-on-delay = <20000>;
                enable-active-high;
        };
 
diff --git a/arch/arm/boot/dts/imx6sx-sdb-btwifi.dts b/arch/arm/boot/dts/imx6sx-sdb-btwifi.dts
new file mode 100644 (file)
index 0000000..ab4cde5
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/*
+ * NOTE: This DTS file is wrote for plugging in Murata 1MW M.2
+ * into SD2 slot by using Murata uSD-to-M.2 Adapter.
+ *
+ * By default, OOB IRQ is not enabled since i.MX6SX SDB board needs to rework.
+ * How to enable OOB IRQ ?
+ * HW rework:
+ *     Install R328 on i.MX6SX SDB board.
+ * SW change:
+ *     pinctrl_wifi: wifigrp {
+ *             fsl,pins = <
+ *                     MX6SX_PAD_ENET1_RX_CLK__GPIO2_IO_4      0x0b001
+ *             >;
+ *     };
+ *     brcmf: bcrmf@1 {
+ *             reg = <1>;
+ *             compatible = "brcm,bcm4329-fmac";
+ *             interrupt-parent = <&gpio2>;
+ *             interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
+ *             interrupt-names = "host-wake";
+ *     };
+ */
+
+#include "imx6sx-sdb.dts"
+
+/ {
+       modem_reset: modem-reset {
+               compatible = "gpio-reset";
+               reset-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
+               reset-delay-us = <1000>;
+               #reset-cells = <0>;
+       };
+
+       usdhc2_pwrseq: usdhc2_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+       };
+};
+
+&iomuxc {
+       imx6sx-sdb-murata-wifibt {
+               pinctrl_bt: btgrp {
+                       fsl,pins = <
+                               MX6SX_PAD_NAND_DATA06__GPIO4_IO_10      0x13069 /* BT_REG_ON */
+                       >;
+               };
+
+               pinctrl_wifi: wifigrp {
+                       fsl,pins = <
+                       >;
+               };
+       };
+};
+
+&uart5 { /* for bluetooth */
+       pinctrl-0 = <&pinctrl_uart5 &pinctrl_bt>;
+       resets = <&modem_reset>;
+};
+
+
+&usdhc2 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_wifi>;
+       bus-width = <4>;
+       no-1-8-v;       /* force 3.3V VIO */
+       non-removable;
+       mmc-pwrseq = <&usdhc2_pwrseq>;
+       pm-ignore-notify;
+       cap-power-off-card;
+       /delete-property/ wakeup-source;
+       status = "okay";
+
+       brcmf: bcrmf@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+       };
+};
diff --git a/arch/arm/boot/dts/imx6ul-14x14-evk-btwifi-oob.dts b/arch/arm/boot/dts/imx6ul-14x14-evk-btwifi-oob.dts
new file mode 100644 (file)
index 0000000..90e0045
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6ul-14x14-evk-btwifi.dts"
+#include "imx6ul-evk-btwifi-oob.dtsi"
diff --git a/arch/arm/boot/dts/imx6ul-14x14-evk-btwifi.dts b/arch/arm/boot/dts/imx6ul-14x14-evk-btwifi.dts
new file mode 100644 (file)
index 0000000..4613799
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6ul-14x14-evk.dts"
+#include "imx6ul-evk-btwifi.dtsi"
diff --git a/arch/arm/boot/dts/imx6ul-9x9-evk-btwifi-oob.dts b/arch/arm/boot/dts/imx6ul-9x9-evk-btwifi-oob.dts
new file mode 100644 (file)
index 0000000..8a8ece3
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6ul-9x9-evk-btwifi.dts"
+#include "imx6ul-evk-btwifi-oob.dtsi"
diff --git a/arch/arm/boot/dts/imx6ul-9x9-evk-btwifi.dts b/arch/arm/boot/dts/imx6ul-9x9-evk-btwifi.dts
new file mode 100644 (file)
index 0000000..de89052
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6ul-9x9-evk.dts"
+#include "imx6ul-evk-btwifi.dtsi"
diff --git a/arch/arm/boot/dts/imx6ul-evk-btwifi-oob.dtsi b/arch/arm/boot/dts/imx6ul-evk-btwifi-oob.dtsi
new file mode 100644 (file)
index 0000000..e1f1657
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2017-2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+&pinctrl_wifi {
+       fsl,pins = <
+               /* MUXing for WL_HOST_WAKE */
+               MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15  0x0b001 /* input: 100K Pull-up */
+       >;
+};
+
+/*
+ * For WL_HOST_WAKE (OOB_IRQ) to function correctly, we must disable
+ * the secondary ethernet port (FEC2). Hardware re-work is to remove
+ * R1633 and populate R1704 with 0 Ohm resistor.
+ * Refer to Murata Hardware Reference Manual for more details.
+ */
+&fec2 {
+       status = "disabled";
+};
+
+&brcmf {
+       interrupt-parent = <&gpio2>;
+       interrupts = <15 IRQ_TYPE_LEVEL_LOW>;  /* M.2 WL_HOST_WAKE is active low */
+       interrupt-names = "host-wake";
+};
diff --git a/arch/arm/boot/dts/imx6ul-evk-btwifi.dtsi b/arch/arm/boot/dts/imx6ul-evk-btwifi.dtsi
new file mode 100644 (file)
index 0000000..b3dfefe
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ * Copyright 2019 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/*
+ * NOTE: This DTS file is written for plugging in Murata Wi-Fi/BT EVK into Slot
+ * SD1 and using Murata i.MX InterConnect Ver 2.0 Adapter. Bluetooth UART &
+ * control signals are connected via ribbon cable (J1701 connector).
+ */
+
+/ {
+       modem_reset: modem-reset {
+               compatible = "gpio-reset";
+               reset-gpios = <&gpio_spi 4 GPIO_ACTIVE_LOW>;
+               reset-delay-us = <1000>;
+               #reset-cells = <0>;
+       };
+
+       usdhc1_pwrseq: usdhc1_pwrseq {
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_wifi>;
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&iomuxc {
+       pinctrl_wifi: wifigrp {
+               fsl,pins = <
+                       MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x03029
+               >;
+       };
+};
+
+&reg_sd1_vmmc {
+       regulator-always-on;
+};
+
+&uart2 {
+       resets = <&modem_reset>;
+};
+
+&usdhc1 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc1>;
+       no-1-8-v;
+       non-removable;
+       pm-ignore-notify;
+       mmc-pwrseq = <&usdhc1_pwrseq>;
+       cap-power-off-card;
+       /delete-property/ wakeup-source;
+       /delete-property/ enable-sdio-wakeup;
+
+       brcmf: bcrmf@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+       };
+};
+
+&gpio_spi {
+       /* Murata: modify default setting so that BT_nPWD/BT_REG_ON
+        * is low (0V) during kernel boot.
+        */
+       registers-default = /bits/ 8 <0x47>;
+};
diff --git a/arch/arm/boot/dts/imx6ull-14x14-evk-btwifi-oob.dts b/arch/arm/boot/dts/imx6ull-14x14-evk-btwifi-oob.dts
new file mode 100644 (file)
index 0000000..85ea147
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6ull-14x14-evk-btwifi.dts"
+#include "imx6ul-evk-btwifi-oob.dtsi"
diff --git a/arch/arm/boot/dts/imx6ull-14x14-evk-btwifi.dts b/arch/arm/boot/dts/imx6ull-14x14-evk-btwifi.dts
new file mode 100644 (file)
index 0000000..8a0a85d
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2016 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6ull-14x14-evk.dts"
+#include "imx6ul-evk-btwifi.dtsi"
diff --git a/arch/arm/boot/dts/imx6ull-9x9-evk-btwifi-oob.dts b/arch/arm/boot/dts/imx6ull-9x9-evk-btwifi-oob.dts
new file mode 100644 (file)
index 0000000..8d00a90
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6ull-9x9-evk-btwifi.dts"
+#include "imx6ul-evk-btwifi-oob.dtsi"
diff --git a/arch/arm/boot/dts/imx6ull-9x9-evk-btwifi.dts b/arch/arm/boot/dts/imx6ull-9x9-evk-btwifi.dts
new file mode 100644 (file)
index 0000000..c8a5100
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6ull-9x9-evk.dts"
+#include "imx6ul-evk-btwifi.dtsi"
diff --git a/arch/arm/boot/dts/imx6ulz-14x14-evk-btwifi.dts b/arch/arm/boot/dts/imx6ulz-14x14-evk-btwifi.dts
new file mode 100644 (file)
index 0000000..bac48ee
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+ * Copyright 2018 NXP
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "imx6ulz-14x14-evk.dts"
+#include "imx6ul-evk-btwifi.dtsi"