Message ID | 20250401072725.1141083-1-ping.bai@nxp.com |
---|---|
State | New |
Headers | show |
Series | [RFC] pinctrl: freescale: Add support for imx943 pinctrl | expand |
On Tue, Apr 01, 2025 at 03:27:25PM +0800, Jacky Bai wrote:
>Add support for i.MX943 pinctrl.
Let's expand the commit log a bit:
"
i.MX943 System Manager(SM) firmware supports System Control Management
Interface(SCMI) pinctrl protocol as i.MX95 SM. But i.MX943 IOMUXC
Daisy input register base is at a different address compared with i.MX95. So,
update pinctrl-imx-scmi to allow i.MX943 and add daisy off register, and
update pinctrl-scmi to block i.MX943
"
Then, Reviewed-by: Peng Fan <peng.fan@nxp.com>
In future, we may no need to expand the array list in both drivers,
as of now, we are still exploring how. So the patch is ok for now.
Thanks,
Peng.
diff --git a/drivers/pinctrl/freescale/pinctrl-imx-scmi.c b/drivers/pinctrl/freescale/pinctrl-imx-scmi.c index 8f15c4c4dc44..4e8ab919b334 100644 --- a/drivers/pinctrl/freescale/pinctrl-imx-scmi.c +++ b/drivers/pinctrl/freescale/pinctrl-imx-scmi.c @@ -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 }; diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c index df4bbcd7d1d5..383681041e4c 100644 --- a/drivers/pinctrl/pinctrl-scmi.c +++ b/drivers/pinctrl/pinctrl-scmi.c @@ -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 };
Add support for i.MX943 pinctrl. Signed-off-by: Jacky Bai <ping.bai@nxp.com> --- drivers/pinctrl/freescale/pinctrl-imx-scmi.c | 4 ++++ drivers/pinctrl/pinctrl-scmi.c | 1 + 2 files changed, 5 insertions(+)