[RFC 0/7] pinctrl-scmi: Add GPIO support

Khaled Ali Ahmed Khaled.AliAhmed at arm.com
Wed May 7 01:54:28 PDT 2025


Good morning Dan,
Regarding the scmi_pinctrl stack design, what we have made in the SW is that the stack can communicate with multiple drivers with only two constraints:
1- Implement the interfacing APIs. which is declared by the object "struct mod_pinctrl_drv_api".
2- Integrate itself with the scmi_pinctrl HAL or backend as you prefer.
Also, we have an example I can discuss if you like.

thanks in advance

________________________________________
From: Dan Carpenter <dan.carpenter at linaro.org>
Sent: Monday, May 5, 2025 12:36 PM
To: Linus Walleij <linus.walleij at linaro.org>
Cc: arm-scmi at vger.kernel.org <arm-scmi at vger.kernel.org>; Bartosz Golaszewski <brgl at bgdev.pl>; Cristian Marussi <Cristian.Marussi at arm.com>; linux-arm-kernel at lists.infradead.org <linux-arm-kernel at lists.infradead.org>; linux-gpio at vger.kernel.org <linux-gpio at vger.kernel.org>; linux-kernel at vger.kernel.org <linux-kernel at vger.kernel.org>; Sudeep Holla <Sudeep.Holla at arm.com>; Vincent Guittot <vincent.guittot at linaro.org>; Khaled Ali Ahmed <Khaled.AliAhmed at arm.com>; Girish Pathak <Girish.Pathak at arm.com>; Peng Fan <peng.fan at nxp.com>; Takahiro AKASHI <akashi.tkhro at gmail.com>
Subject: [RFC 0/7] pinctrl-scmi: Add GPIO support
 
This patchset adds GPIO support to the SCMI pin control driver.
AKASHI Takahiro did some of that work earlier, but we decided to make
this a part of the pinctrl driver instead of a separate GPIO driver.

I'm not really sure how the device tree stuff wires it all in.  I've
been using a mock driver on SCP with virtio to test it.

Dan Carpenter (7):
  firmware: arm_scmi: move boiler plate code into the get info functions
  firmware: arm_scmi: add is_gpio() function
  pinctrl: introduce pinctrl_gpio_get_config()
  pinctrl-scmi: implement PIN_CONFIG_INPUT_VALUE
  pinctrl: Delete PIN_CONFIG_OUTPUT_IMPEDANCE_OHMS support
  pinctrl-scmi: Add GPIO support
  pinctrl-scmi: remove unused struct member

 drivers/firmware/arm_scmi/pinctrl.c     | 146 +++++++++-------
 drivers/pinctrl/core.c                  |  35 ++++
 drivers/pinctrl/pinctrl-scmi.c          | 213 +++++++++++++++++++++++-
 include/linux/pinctrl/consumer.h        |   9 +
 include/linux/pinctrl/pinconf-generic.h |   3 +
 include/linux/scmi_protocol.h           |   2 +
 6 files changed, 339 insertions(+), 69 deletions(-)

--
2.47.2



More information about the linux-arm-kernel mailing list