[RFC v1 0/2] Introducing generic SCMI pinctrl driver implementation
Michal Simek
michal.simek at amd.com
Wed Apr 26 05:06:05 PDT 2023
Hi,
On 4/7/23 12:18, Oleksii Moisieiev wrote:
> This RFC patch series is intended to introduce the potential generic driver for
> pin controls over SCMI protocol, provided in the latest beta version of DEN0056 [0].
>
> On ARM-based systems, a separate Cortex-M based System Control Processor (SCP)
> provides control on pins, as well as with power, clocks, reset controllers. In this case,
> kernel should use one of the possible transports, described in [0] to access SCP and
> control clocks/power-domains etc. This driver is using SMC transport to communicate with SCP via
> SCMI protocol and access to the Pin Control Subsystem.
>
> The provided driver consists of 2 parts:
> - firmware/arm_scmi/pinctrl.c - the SCMI pinctrl protocol inmplementation
> responsible for the communication with SCP firmware.
>
> - drivers/pinctrl/pinctrl-scmi.c - pinctrl driver, which is using pinctrl
> protocol implementation to access all necessary data.
>
> Configuration:
> The scmi-pinctrl driver can be configured using DT bindings.
> For example:
> / {
> cpu_scp_shm: scp-shmem at 0x53FF0000 {
> compatible = "arm,scmi-shmem";
> reg = <0x0 0x53FF0000 0x0 0x1000>;
> };
>
> firmware {
> scmi {
> compatible = "arm,scmi-smc";
> arm,smc-id = <0x82000002>;
> shmem = <&cpu_scp_shm>;
> #address-cells = <1>;
> #size-cells = <0>;
>
> scmi_pinctrl: protocol at 19 {
> reg = <0x18>;
> #pinctrl-cells = <0>;
>
> i2c2_pins: i2c2 {
> groups = "i2c2_a";
> function = "i2c2";
> };
> };
> };
> };
> };
Spec itself has as the part of pinctrl also gpio support.
Here the example there is no gpio-cells property that's why I am curious if you
plan to also add it here.
Thanks,
Michal
More information about the linux-arm-kernel
mailing list