From nobody Sun Dec 14 19:35:43 2025 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 554312F49F1 for ; Sat, 13 Dec 2025 23:09:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765667377; cv=none; b=KtcHzd1jMR1ah3XouzDYkr7hldfQMjTzv/m89FhlQQAVuKMaZwd5Xa8qs5hcDudBhwftKHaBng9GikcSQCrJxVdKsle9OXV5yRiPLlTKmmrRPnxf9+UqLsJJhyRr0Dwh4g+/MEvzvV0KLOJA8lU7LtdRO9moIdVS9fm47oVi3z4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765667377; c=relaxed/simple; bh=U2v18UmYXyxRxgSLu2UXhhvB7Fp9+l3tnd1CGMr8Mmc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DB3PFQSUnUlgF9khGy5TvISKsehRC3l2xIX7rEOrNL6bPhHtA04ySoWxNSkiJvAMFgUsBuSxomCE9gl32cPx0UQhfVecelN1cFkwKBFL5QqFx0/57vG1PLgq04A3Kvrz4skTqYdfX15U01a18HWkA8fxocCLohd40zgpDb4+YMg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Jb9c+eNp; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Jb9c+eNp" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4779aa4f928so29336395e9.1 for ; Sat, 13 Dec 2025 15:09:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765667373; x=1766272173; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iLiAHdwLrrTtAb7WXEO2B+WkLRD0WKuXCR00+TEvVdI=; b=Jb9c+eNpFmropeHN0wpBSaZHipd8CJ8aUpuqHxvkbGmqHf1rDeF7ds8z+JwHRelcmO zibRCO+WJjL37rJof9eDf84COZjELiCWC8qJc0OwqyZn/U33Ro7r7fk2snFRO1FbQoV8 xPJRlCJPQTpF0d131xyFn6Nik7O2DrRzdYl9iT8unxwClpkcEtU+2CdbTem0a8NTLKvf Q/93+ar/LBJP1Eb5FcLV2c7d26y66jtM3tashzSDprCNuxvagQGMfEh/UG5QH5O3Vh42 YWQyDiawleKLEwWlaYf7S+dYfIHSDoIKyIZUPiQR1xkjRfybbKmoA36VEQ3UrO4FqhYM Y0mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765667373; x=1766272173; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=iLiAHdwLrrTtAb7WXEO2B+WkLRD0WKuXCR00+TEvVdI=; b=n8fNEg7ewyvRPfxBlLUQJZ6neEF6lwCo8Nl9mkkdDAvbicP9Kt5Bjmwj59bZSy/AU6 50ZNg15D4BmdSJKZBpIl4E/LT5lc4zXn2UDJ3CeryuxmYFyA31qRIvnJXIewK83ayTet kbtxutQE6N1uuiuQkaVFB13lNzlfTDVo9Nlp/V2uZHmntmMNk5Qh2qAffk7O6BWSWP4M yveB8xf9+8ncTsOCnxJd1taw4+Xl7cBrHFR6WGh5BMXQVB9hJgasibT+ELolyZ2JQY18 aWfOdLaomKvmd90Vp4xM4wdgKwQ9521YnQvfQ2FiTHhHZlPnppLJDXrFdsoWG9yViZPo xaJA== X-Forwarded-Encrypted: i=1; AJvYcCU4dkUuCy4/kHpsL4a0S7+PYrAmeIXISuXev0fVlBEsJ8W2zKPL7XIQm9CEjMZ4t7WK08oMn62O+yNN/dw=@vger.kernel.org X-Gm-Message-State: AOJu0YxLoUpnHIkuHiz3XCk5k6R0P4pwSPozdaHfxGfKIZnoRMzsbGlZ uzaABUW9mOXL2JeeJCRDvEoI4xE6G9mcmOGApNHHBupRTJSzqT2Myhvy X-Gm-Gg: AY/fxX5mylbk1iyC8StdnQQ0H9QDxSr8UgAFct6y0O7ZBOtNf1WjCHpmGLVMkfzZfeM cNWcNZJknQajiILWycTfdaQ/6M0sIrKIXNvfNEQ5IOiF0SRMgjcrb/foWSKuHPrjfArh/g9da4f sJLSgZss2rJMS58dvJLBbNVI3mAvWtqjsGWsY77X6tFAHUSDyxwHyFyYMjvJaHCN06J8f2kfHHm r618w7E5yaippMNRDeiNw7DgZafwtHLJFBkiOfqtBYQXTMFyfr8fJPD6xPHiwVVM/eYNFrxV3o9 Mzm5uPUoYjmdjeYB5M7vBifFlnH544T7m7MqgkZwrASn20UDVkCozKRWiJJNmLmWSVMXgoiZ0xX 6iRtuJPv0UFeQpyoXQ8xaSGNxmVAt3K/cbsFhHuqpOGhrJcKSU1Aglcks4Oz+RTxl2chPUDhYlz CM/Osgwn4L1H/kOugTKBdhliEYH3A+fVqH01qKeHERkk5KO6ibdJX9clejkvBEQG5Cd92uEL3xZ S3dyLhqIungRR4= X-Google-Smtp-Source: AGHT+IH6niwXjGSgeBp3K1O2l+qN5cvu2ukCARvoS/8//WHx6xKUmx0WGHddFj4pGChWigbfy7f/Wg== X-Received: by 2002:a05:600d:7:b0:475:dd7f:f6cd with SMTP id 5b1f17b1804b1-47a932e5731mr43201845e9.35.1765667373091; Sat, 13 Dec 2025 15:09:33 -0800 (PST) Received: from Lord-Beerus.station (net-5-94-28-5.cust.vodafonedsl.it. [5.94.28.5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47a8f4f4150sm106040995e9.11.2025.12.13.15.09.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 13 Dec 2025 15:09:32 -0800 (PST) From: Stefano Radaelli X-Google-Original-From: Stefano Radaelli To: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stefano Radaelli , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 4/6] arm64: dts: imx8mp-var-som: Add WiFi and Bluetooth support Date: Sun, 14 Dec 2025 00:09:04 +0100 Message-ID: <20251213230909.16810-5-stefano.r@variscite.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251213230909.16810-1-stefano.r@variscite.com> References: <20251213230909.16810-1-stefano.r@variscite.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add device tree nodes for the WiFi and Bluetooth module mounted on the VAR-SOM-MX8MP. The module can be based on either the NXP IW612 or IW611 chipset, depending on the configuration chosen by the customer. Regardless of the chipset used, WiFi communicates over SDIO and Bluetooth over UART. Signed-off-by: Stefano Radaelli --- .../boot/dts/freescale/imx8mp-var-som.dtsi | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi b/arch/arm64= /boot/dts/freescale/imx8mp-var-som.dtsi index 5bba91dcef17..e7f5ec10cbac 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi @@ -21,6 +21,15 @@ memory@40000000 { <0x1 0x00000000 0 0xc0000000>; }; =20 + iw61x_pwrseq: wifi-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + post-power-on-delay-ms =3D <100>; + power-off-delay-us =3D <10000>; + reset-gpios =3D <&gpio2 8 GPIO_ACTIVE_LOW>, /* WIFI_RESET */ + <&gpio2 19 GPIO_ACTIVE_LOW>; /* WIFI_PWR_EN */ + status =3D "okay"; + }; + reg_phy_supply: regulator-phy-supply { compatible =3D "regulator-fixed"; regulator-name =3D "phy-supply"; @@ -202,6 +211,33 @@ ldo5: LDO5 { }; }; =20 +/* BT */ +&uart3 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_uart3>, <&pinctrl_bluetooth>; + assigned-clocks =3D <&clk IMX8MP_CLK_UART3>; + assigned-clock-parents =3D <&clk IMX8MP_SYS_PLL1_80M>; + uart-has-rtscts; + status =3D "okay"; + + bluetooth { + compatible =3D "nxp,88w8987-bt"; + }; +}; + +/* WIFI */ +&usdhc1 { + pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; + pinctrl-0 =3D <&pinctrl_usdhc1>, <&pinctrl_wifi>; + pinctrl-1 =3D <&pinctrl_usdhc1_100mhz>, <&pinctrl_wifi>; + pinctrl-2 =3D <&pinctrl_usdhc1_200mhz>, <&pinctrl_wifi>; + bus-width =3D <4>; + non-removable; + keep-power-in-suspend; + mmc-pwrseq =3D <&iw61x_pwrseq>; + status =3D "okay"; +}; + /* eMMC */ &usdhc3 { pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; @@ -222,6 +258,14 @@ &wdog1 { =20 &iomuxc { =20 + pinctrl_bluetooth: bluetoothgrp { + fsl,pins =3D < + MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09 0xc0 + MX8MP_IOMUXC_GPIO1_IO04__GPIO1_IO04 0xc0 + MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0xc0 + >; + }; + pinctrl_eqos: eqosgrp { fsl,pins =3D < MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x2 @@ -256,6 +300,48 @@ MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04 0x1c0 >; }; =20 + pinctrl_uart3: uart3grp { + fsl,pins =3D < + MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140 + MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140 + MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS 0x140 + MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS 0x140 + >; + }; + + pinctrl_usdhc1: usdhc1grp { + fsl,pins =3D < + MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190 + MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0 + MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0 + MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0 + MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0 + MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0 + >; + }; + + pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { + fsl,pins =3D < + MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x194 + MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d4 + MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d4 + MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d4 + MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d4 + MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d4 + >; + }; + + pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { + fsl,pins =3D < + MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x196 + MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d6 + MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d6 + MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d6 + MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d6 + MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d6 + >; + }; + pinctrl_usdhc3: usdhc3grp { fsl,pins =3D < MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190 @@ -309,4 +395,11 @@ pinctrl_wdog: wdoggrp { MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0xc6 >; }; + + pinctrl_wifi: wifigrp { + fsl,pins =3D < + MX8MP_IOMUXC_SD1_DATA6__GPIO2_IO08 0xc0 + MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0xc0 + >; + }; }; --=20 2.47.3