[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20251217-imx952-pin-v1-2-2747f09144dd@nxp.com>
Date: Wed, 17 Dec 2025 10:40:46 +0800
From: "Peng Fan (OSS)" <peng.fan@....nxp.com>
To: Dong Aisheng <aisheng.dong@....com>, Fabio Estevam <festevam@...il.com>,
Shawn Guo <shawnguo@...nel.org>, Jacky Bai <ping.bai@....com>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
NXP S32 Linux Team <s32@....com>, Linus Walleij <linusw@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>, Sudeep Holla <sudeep.holla@....com>,
Cristian Marussi <cristian.marussi@....com>
Cc: linux-gpio@...r.kernel.org, imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
arm-scmi@...r.kernel.org, Peng Fan <peng.fan@....com>
Subject: [PATCH 2/2] pinctrl: imx: Add support for NXP i.MX952
From: Peng Fan <peng.fan@....com>
The i.MX952 System Manager (SM) firmware supports the System Control
Management Interface (SCMI) pinctrl protocol, similar to the i.MX95 SM.
The base offset for the i.MX952 IOMUXC Daisy input register differs from
that of the i.MX95. Update the pinctrl-imx-scmi driver to add support for
i.MX952.
Signed-off-by: Peng Fan <peng.fan@....com>
---
drivers/pinctrl/freescale/pinctrl-imx-scmi.c | 8 ++++++--
drivers/pinctrl/pinctrl-scmi.c | 3 ++-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/freescale/pinctrl-imx-scmi.c b/drivers/pinctrl/freescale/pinctrl-imx-scmi.c
index 04728ad807d38367a19e6e774d4ccc985549ecfe..dab2fabdf4561c21f747773f2908f15b61eebb50 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx-scmi.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx-scmi.c
@@ -51,8 +51,9 @@ struct scmi_pinctrl_imx {
#define IMX_SCMI_PIN_SIZE 24
-#define IMX95_DAISY_OFF 0x408
#define IMX94_DAISY_OFF 0x608
+#define IMX95_DAISY_OFF 0x408
+#define IMX952_DAISY_OFF 0x460
static int pinctrl_scmi_imx_dt_node_to_map(struct pinctrl_dev *pctldev,
struct device_node *np,
@@ -74,6 +75,8 @@ static int pinctrl_scmi_imx_dt_node_to_map(struct pinctrl_dev *pctldev,
daisy_off = IMX95_DAISY_OFF;
} else if (of_machine_is_compatible("fsl,imx94")) {
daisy_off = IMX94_DAISY_OFF;
+ } else if (of_machine_is_compatible("fsl,imx952")) {
+ daisy_off = IMX952_DAISY_OFF;
} else {
dev_err(pctldev->dev, "platform not support scmi pinctrl\n");
return -EINVAL;
@@ -299,8 +302,9 @@ scmi_pinctrl_imx_get_pins(struct scmi_pinctrl_imx *pmx, struct pinctrl_desc *des
}
static const char * const scmi_pinctrl_imx_allowlist[] = {
- "fsl,imx95",
"fsl,imx94",
+ "fsl,imx95",
+ "fsl,imx952",
NULL
};
diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c
index af3ac031e3626818495a168a96c7930907d9524a..d5fb8649cd9aaddee679ebfd86d8f3d1127b8e01 100644
--- a/drivers/pinctrl/pinctrl-scmi.c
+++ b/drivers/pinctrl/pinctrl-scmi.c
@@ -504,8 +504,9 @@ static int pinctrl_scmi_get_pins(struct scmi_pinctrl *pmx,
}
static const char * const scmi_pinctrl_blocklist[] = {
- "fsl,imx95",
"fsl,imx94",
+ "fsl,imx95",
+ "fsl,imx952",
NULL
};
--
2.37.1
Powered by blists - more mailing lists