On Fri, Feb 21, 2025 at 06:55:41PM +0100, Marek Vasut wrote: >On 2/21/25 2:47 AM, Alice Guo (OSS) wrote: >> > -----邮件原件----- >> > 发件人: Marek Vasut <ma...@denx.de> >> > 发送时间: 2025年2月21日 6:35 >> > 收件人: Alice Guo (OSS) <alice....@oss.nxp.com>; Tom Rini >> > <tr...@konsulko.com>; Stefano Babic <sba...@denx.de>; Fabio Estevam >> > <feste...@gmail.com>; dl-uboot-imx <uboot-...@nxp.com>; Lukasz >> > Majewski <lu...@denx.de>; Sean Anderson <sean...@gmail.com>; Simon >> > Glass <s...@chromium.org>; Alper Nebi Yasak <alpernebiya...@gmail.com> >> > 抄送: u-boot@lists.denx.de; thar...@gateworks.com; Alice Guo >> > <alice....@nxp.com> >> > 主题: Re: 回复: [PATCH v4 04/20] firmware: scmi: add pin control protocol >> > support to SCMI agent >> > >> > On 2/18/25 12:53 PM, Alice Guo (OSS) wrote: >> > >> > [...] >> > >> > > > > @@ -436,6 +442,11 @@ static int scmi_bind_protocols(struct udevice >> > *dev) >> > > > > drv = >> > > > > DM_DRIVER_GET(scmi_voltage_domain); >> > > > > } >> > > > > break; >> > > > > + case SCMI_PROTOCOL_ID_PINCTRL: >> > > > > + if (IS_ENABLED(CONFIG_PINCTRL_IMX_SCMI) && >> > > > >> > > > Is this pinctrl protocol really imx specific ? >> > > > >> > > > If not, this needs to use some other config option to gate access to >> > > > it. >> > > >> > > Currently, it is used for some product families of the i.MX9 series >> > > products. >> > Is the protocol iMX specific or is it generic protocol ? >> >> SCMI_PROTOCOL_ID_PINCTRL is not unique to iMX, but >> drivers/pinctrl/nxp/pinctrl-scmi.c (drv = DM_DRIVER_GET(scmi_pinctrl_imx)) >> is only for iMX. >This patch is changing common code, it shouldn't be littered with >vendor-specific ifdeffery or if(IS_ENABLED(...))ery . Can this be made fully >generic, similar to e.g. regulator protocol ?
In Linux Kernel, there are two drivers, pinctrl-scmi.c and pinctrl-imx-scmi.c. Both follows ARM SCMI 3.2, but pinctrl-imx-scmi has some special settings to align with i.mx iomuxc array based settings, mux,input,pad and etc. In gerneral, imx part could be merged with pinctrl-scmi.c but that will make code not clean. Regards, Peng