[PATCH v2 3/4] scmi: pinctrl: add pinctrl driver for SCMI

Peng Fan peng.fan at oss.nxp.com
Thu Mar 12 10:23:23 CET 2026


On Wed, Mar 11, 2026 at 10:41:25PM +0300, Dan Carpenter wrote:
>This driver adds the base support of pinctrl over SCMI.  The driver
>does two main things.  First, it allows you to configure the initial
>pin states.  Secondly, it's used a base to build a GPIO driver on
>top of it.
>
>To configure the states then add a pinmux config to the scmi_pinctrl
>section:
>
>        scmi_pinctrl: protocol at 19 {
>                reg = <0x19>;
>                pinmux1: pinmux_test {
>                        pinmux = <0 1 0xFFFFFFFF 18 1
>                                  0 2 0xFFFFFFFF 18 1
>                                  0 3 0xFFFFFFFF 18 1>;
>                        function = "f_gpio1";
>                        groups = "grp_1", "grp_3";
>                };
>        };
>
>Under linux the pinctrl subsystem will parse the function and group
>properties and use that to handle muxing.  However, under u-boot the
>pin muxing is done using the "pinmux" property, which feeds raw SCMI
>pinctrl PINCTRL_SETTINGS_CONFIGURE commands to the server.  The
>numbers are: selector, identifier, function_id, config_type, and
>config_value.  In the example above, it sets pins 1, 2, and 3 to 1.
>The linux-kernel ignores this pinmux property.
>
>Signed-off-by: Dan Carpenter <dan.carpenter at linaro.org>

Reviewed-by: Peng Fan <peng.fan at nxp.com>


More information about the U-Boot mailing list