]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
pinctrl: freescale: Add support for imx943 pinctrl
authorJacky Bai <ping.bai@nxp.com>
Fri, 16 May 2025 10:04:23 +0000 (18:04 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 21 May 2025 08:12:14 +0000 (10:12 +0200)
The i.MX943 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.MX943 IOMUXC Daisy input register differs from
that of the i.MX95. Update the pinctrl-imx-scmi driver to add support for
i.MX943.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/20250516100423.1685732-1-ping.bai@nxp.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/freescale/pinctrl-imx-scmi.c
drivers/pinctrl/pinctrl-scmi.c

index 8f15c4c4dc4412dddb40505699fc3f459fdc0adc..4e8ab919b334a11e3e716c4580e18bb0e65a6c02 100644 (file)
@@ -51,6 +51,7 @@ struct scmi_pinctrl_imx {
 #define IMX_SCMI_PIN_SIZE      24
 
 #define IMX95_DAISY_OFF                0x408
+#define IMX94_DAISY_OFF                0x608
 
 static int pinctrl_scmi_imx_dt_node_to_map(struct pinctrl_dev *pctldev,
                                           struct device_node *np,
@@ -70,6 +71,8 @@ static int pinctrl_scmi_imx_dt_node_to_map(struct pinctrl_dev *pctldev,
        if (!daisy_off) {
                if (of_machine_is_compatible("fsl,imx95")) {
                        daisy_off = IMX95_DAISY_OFF;
+               } else if (of_machine_is_compatible("fsl,imx94")) {
+                       daisy_off = IMX94_DAISY_OFF;
                } else {
                        dev_err(pctldev->dev, "platform not support scmi pinctrl\n");
                        return -EINVAL;
@@ -289,6 +292,7 @@ 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",
        NULL
 };
 
index df4bbcd7d1d59ac2c8ddc320dc10d702ad1ed5b2..383681041e4c05fe3c7d15dc58a7dbf783dae3c3 100644 (file)
@@ -507,6 +507,7 @@ static int pinctrl_scmi_get_pins(struct scmi_pinctrl *pmx,
 
 static const char * const scmi_pinctrl_blocklist[] = {
        "fsl,imx95",
+       "fsl,imx94",
        NULL
 };