From nobody Thu Dec 18 05:03:04 2025 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 60885314D02 for ; Sun, 14 Dec 2025 21:53:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765749185; cv=none; b=LccA3f2md28A0KTqzYNvLagCgVen2I98aF0K/nAbCeqGze9/ey4QXXwfiqjFrnAvqWCppr8B6pY4oodqiQnXtKf6VT4RiBn8WZsChwSibI3rZ2RWCanHNR8KC5uNgIkmU9yqm/ghrrD4ZgC8nLpUiKaHC5nLViio9s5KeFA0pR0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765749185; c=relaxed/simple; bh=7ljJ05ztTohJDBRhGnpzl50vRdnwmAmrwNkbp/q570E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RfEs1jwO4UHl4v/WG5JGvFgw7puTs+7P8wBRBYSWjluYYDyZzpUJJTWXdNyyVLOiPFGUrNEySwZECUMKSWkFh/4DvOzcyLupYZvuvkAFEScoVn9edTwvEbSHjl/O7K379pCfQOTJcrpn9PFBl9eWXdFWn8mJxhLrWBjQi81Vp5Q= 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=e5ZUdZbd; arc=none smtp.client-ip=209.85.221.48 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="e5ZUdZbd" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-42fb3801f7eso1309782f8f.3 for ; Sun, 14 Dec 2025 13:53:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765749182; x=1766353982; 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=d98j53CwylYGkDXzrv9xLEHUO5ol14s3GpQ93nPd4ok=; b=e5ZUdZbdVMHiWbilGX0mi/pjjtnZJ3d1Qib7wY4ydqHjxfAtN6zQW+F38aHPbY9uyg 1zuftU27lZ6C5UQJR5yglcTdnCHtVibTqBU0N24ATE/KXyU5JanfSccPVY1jW3rtlVg4 fDmXZ211F95chyRlSGs32EX6D1DRFL6LgAfz5cIhXV6BRs4bmBms2Z2VG29VEa27YCAB VucXT8EFZ8Fbg52DwZRGECKoSeC7pv9YY4uiJXQ0Ux93dsoLaxSdcd3G/ExgYTsTZ6nZ FoyeNqYOHpUYUlJEyDeppziM1PbH0SFXq8BNM57avI64YciXWw/UBnx6hRBO60lnPDi2 Z8PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765749182; x=1766353982; 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=d98j53CwylYGkDXzrv9xLEHUO5ol14s3GpQ93nPd4ok=; b=jLVZjIFuB4Wm7vK3YiZSX12v0ABU1uQ8GvKeldwdnfmtaqNEiSKoD9ZvN2mnqCup13 wz4dB6WdSaoq503xNKBChVT1mWdy4QJga7m8D76UQl7brS9ot7rZ+G1mMJxe+oqwUb/t 8y7RusW7o3qYq81QCyHSumW+6tk7zF3tOtuCXBgK+3wGbaEAYPKQaGbCGhZEpyXADBhM kG1EObBxZtYgi2NkFReNEI8Sab/e/jJJsk/34Pp4RxrYyWvQqkWjhVle4Qe9OqRTxKpQ 5ZeXD5ldN3CEnkOmm2JJxrPvN/bt6uY8Ek9QIdKAcd0dQP0NWNuu3jhrqTBweyy9Ejqd 95hg== X-Forwarded-Encrypted: i=1; AJvYcCVKhTArzIW3FOQjoxFRLWIbchRnLN198xHbTVfeNgCEADdbJc97UC5W7g2QVhoR1d6EUJewNpIMuvWrcuY=@vger.kernel.org X-Gm-Message-State: AOJu0YyoYGxdzGE0dE7eGk1WC7OW9BIMk4aLuMW/RfP/9bbxWGZYOqTj qPQjPiRZpLJiauNoE2H2O3jpX/RhvgpaHH6qjd6uM2PIUB5m/7TChOxDF6O/e58c X-Gm-Gg: AY/fxX5qNwY8gC3/AKqpT6PIHvzRgBSvu1Yzr+vMrwrHM/ukwGMoqj5QH75h5KkrpnQ j66cVprDKDdvWukQSdFzi2xVCa0IecmagHKKh3fS6Yss42Njvgn4ImXhUrGIe9QFumhe6VmKpQr /6+5y9nkD0VckK5po5qS99ori52CLr7xHhxM4HEpgbcZ+FnRrpFuvKydflz4V1XQsPCRZ64fRoG cRQNrzr1kw9tbZk36Mq62V60+GCoh1+6MvKwt6N43n5h0X6UVGMTlap64yA2IbuqTx9l5bJIWVL pY5GSYgtoWZY3dpf4BHF9jkza0s6810vAvoUBGxlrABwx3z9GdlUA04bMyvOvz+JFfMn7B9HMT8 YfpRBrBLcTbIS5stRPD6XwD+g53tGWmqLjXb44VN/MKg1jenZOr7iYw3fT8xruLnn0u1f6S4fct iDjIn9O9ExvgagCMOjHk9dUeJhvqDHmnPKU43vamMZDSujOU7mZVhvgtnaSz8RqTfXrPvvaYLYc uI3KAmm1R+w4OQ= X-Google-Smtp-Source: AGHT+IF84y4pyjyyMtX/3o85XLxndY0sG21i7o5eJ/lJM3XFxdHdZGn96Mk3h3sCkTBWYc9DRKeJPw== X-Received: by 2002:a05:6000:402c:b0:42b:4803:75e8 with SMTP id ffacd0b85a97d-42fb490d6f1mr8699960f8f.43.1765749181465; Sun, 14 Dec 2025 13:53:01 -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 ffacd0b85a97d-430f6a42c8csm7625568f8f.16.2025.12.14.13.53.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Dec 2025 13:53:00 -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 v4 1/6] arm64: dts: imx8mp-var-som: Move USDHC2 support to Symphony carrier Date: Sun, 14 Dec 2025 22:52:48 +0100 Message-ID: <20251214215256.5812-2-stefano.r@variscite.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251214215256.5812-1-stefano.r@variscite.com> References: <20251214215256.5812-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" The VAR-SOM-MX8MP module does not include a microSD slot connected to USDHC2. The USDHC2 interface is routed only on the Symphony carrier board, and it may optionally be used or omitted depending on the customer's carrier design. Move the USDHC2 node, its regulators, pinctrl groups and related GPIOs from the SOM device tree to the Symphony carrier DTS, keeping the SOM description limited to hardware populated on the module. Signed-off-by: Stefano Radaelli --- .../dts/freescale/imx8mp-var-som-symphony.dts | 77 +++++++++++++++++++ .../boot/dts/freescale/imx8mp-var-som.dtsi | 75 ------------------ 2 files changed, 77 insertions(+), 75 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/ar= ch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts index 36d3eb865202..ea3c193bb684 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts @@ -8,4 +8,81 @@ / { model =3D "Variscite VAR-SOM-MX8M-PLUS on Symphony-Board"; compatible =3D "variscite,var-som-mx8mp-symphony", "variscite,var-som-mx8= mp", "fsl,imx8mp"; + + reg_usdhc2_vmmc: regulator-usdhc2-vmmc { + compatible =3D "regulator-fixed"; + regulator-name =3D "VSD_3V3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + gpios =3D <&gpio4 22 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us =3D <100>; + off-on-delay-us =3D <12000>; + }; + + reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc { + compatible =3D "regulator-gpio"; + regulator-name =3D "VSD_VSEL"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3300000>; + gpios =3D <&gpio2 12 GPIO_ACTIVE_HIGH>; + states =3D <3300000 0x0 1800000 0x1>; + vin-supply =3D <&ldo5>; + }; +}; + +/* SD-card */ +&usdhc2 { + pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; + pinctrl-0 =3D <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; + pinctrl-1 =3D <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; + pinctrl-2 =3D <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; + cd-gpios =3D <&gpio1 14 GPIO_ACTIVE_LOW>; + vmmc-supply =3D <®_usdhc2_vmmc>; + vqmmc-supply =3D <®_usdhc2_vqmmc>; + bus-width =3D <4>; + status =3D "okay"; +}; + +&iomuxc { + pinctrl_usdhc2_gpio: usdhc2-gpiogrp { + fsl,pins =3D < + MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0x1c4 + MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 0x10 + MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0xc0 + >; + }; + + pinctrl_usdhc2: usdhc2grp { + fsl,pins =3D < + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 + >; + }; + + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { + fsl,pins =3D < + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 + >; + }; + + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { + fsl,pins =3D < + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 + >; + }; }; diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi b/arch/arm64= /boot/dts/freescale/imx8mp-var-som.dtsi index 29f080904482..949d9878f395 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som.dtsi @@ -35,27 +35,6 @@ memory@40000000 { <0x1 0x00000000 0 0xc0000000>; }; =20 - reg_usdhc2_vmmc: regulator-usdhc2-vmmc { - compatible =3D "regulator-fixed"; - regulator-name =3D "VSD_3V3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - gpios =3D <&gpio4 22 GPIO_ACTIVE_HIGH>; - enable-active-high; - startup-delay-us =3D <100>; - off-on-delay-us =3D <12000>; - }; - - reg_usdhc2_vqmmc: regulator-usdhc2-vqmmc { - compatible =3D "regulator-gpio"; - regulator-name =3D "VSD_VSEL"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <3300000>; - gpios =3D <&gpio2 12 GPIO_ACTIVE_HIGH>; - states =3D <3300000 0x0 1800000 0x1>; - vin-supply =3D <&ldo5>; - }; - reg_phy_supply: regulator-phy-supply { compatible =3D "regulator-fixed"; regulator-name =3D "phy-supply"; @@ -271,19 +250,6 @@ &uart2 { status =3D "okay"; }; =20 -/* SD-card */ -&usdhc2 { - pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; - pinctrl-0 =3D <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; - pinctrl-1 =3D <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; - pinctrl-2 =3D <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; - cd-gpios =3D <&gpio1 14 GPIO_ACTIVE_LOW>; - vmmc-supply =3D <®_usdhc2_vmmc>; - vqmmc-supply =3D <®_usdhc2_vqmmc>; - bus-width =3D <4>; - status =3D "okay"; -}; - /* eMMC */ &usdhc3 { pinctrl-names =3D "default", "state_100mhz", "state_200mhz"; @@ -358,47 +324,6 @@ MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX = 0x40 >; }; =20 - pinctrl_usdhc2_gpio: usdhc2-gpiogrp { - fsl,pins =3D < - MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 = 0x1c4 - MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 = 0x10 - MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 = 0xc0 - >; - }; - - pinctrl_usdhc2: usdhc2grp { - fsl,pins =3D < - MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK = 0x190 - MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD = 0x1d0 - MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 = 0x1d0 - MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 = 0x1d0 - MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 = 0x1d0 - MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 = 0x1d0 - >; - }; - - pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { - fsl,pins =3D < - MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK = 0x194 - MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD = 0x1d4 - MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 = 0x1d4 - MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 = 0x1d4 - MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 = 0x1d4 - MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 = 0x1d4 - >; - }; - - pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { - fsl,pins =3D < - MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK = 0x196 - MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD = 0x1d6 - MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 = 0x1d6 - MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 = 0x1d6 - MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 = 0x1d6 - MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 = 0x1d6 - >; - }; - pinctrl_usdhc3: usdhc3grp { fsl,pins =3D < MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190 --=20 2.47.3