From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: "Peng Fan (OSS)" <peng.fan@oss.nxp.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
Cristian Marussi <cristian.marussi@arm.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
Linus Walleij <linus.walleij@linaro.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
NXP Linux Team <linux-imx@nxp.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-gpio@vger.kernel.org, Peng Fan <peng.fan@nxp.com>
Subject: Re: [PATCH v2 0/6] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support
Date: Fri, 5 Jan 2024 10:37:46 +0900 [thread overview]
Message-ID: <ZZddarpj14gPqg25@octopus> (raw)
In-Reply-To: <20240104-pinctrl-scmi-v2-0-a9bd86ab5a84@nxp.com>
On Thu, Jan 04, 2024 at 06:48:44PM +0800, Peng Fan (OSS) wrote:
> This patchset is a rework from Oleksii's RFC v5 patchset
> https://lore.kernel.org/all/cover.1698353854.git.oleksii_moisieiev@epam.com/
>
> This patchset introduces some changes based on RFC v5:
> - introduce helper get_max_msg_size
> - support compatible string
> - iterate the id_table
> - Support multiple configs in one command
> - Added i.MX support
> - Patch 5 firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support
> is almost same as RFCv5 expect multiple configs support.
> - Patch 4 the dt-bindings includes compatible string to support i.MX
> - Rebased on 2023-12-15 linux-next/master
For the record, the translation of pin config types,
pinctrl_scmi_map_pinconf_type(), is finally implemented in patch 4.
Thanks,
-Takahiro Akashi
> If any comments from RFC v5 are missed, I am sorry in advance.
>
> This PINCTRL Protocol is following Version 3.2 SCMI Spec Beta release.
>
> 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. So implement the driver to support such cases.
>
> The i.MX95 Example as below:
>
> Configuration:
> The scmi-pinctrl driver can be configured using DT bindings.
> For example:
> / {
> sram0: sram@445b1000 {
> compatible = "mmio-sram";
> reg = <0x0 0x445b1000 0x0 0x400>;
>
> #address-cells = <1>;
> #size-cells = <1>;
> ranges = <0x0 0x0 0x445b1000 0x400>;
>
> scmi_buf0: scmi-sram-section@0 {
> compatible = "arm,scmi-shmem";
> reg = <0x0 0x80>;
> };
>
> scmi_buf1: scmi-sram-section@80 {
> compatible = "arm,scmi-shmem";
> reg = <0x80 0x80>;
> };
> };
>
> firmware {
> scmi {
> compatible = "arm,scmi";
> mboxes = <&mu2 5 0>, <&mu2 3 0>, <&mu2 3 1>;
> shmem = <&scmi_buf0>, <&scmi_buf1>;
> #address-cells = <1>;
> #size-cells = <0>;
>
> scmi_iomuxc: protocol@19 {
> compatible = "fsl,imx95-scmi-pinctrl";
> reg = <0x19>;
> };
> };
> };
> };
>
> &scmi_iomuxc {
> pinctrl_tpm3: tpm3grp {
> fsl,pins = <
> IMX95_PAD_GPIO_IO12__TPM3_CH2 0x51e
> >;
> };
> };
>
> This patchset has been tested on i.MX95-19x19-EVK board.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> Changes in v2:
> Added comments, and added R-b for Patch 1
> Moved the compatile string and i.MX patch to the end, marked NOT APPLY
> Patchset based on lore.kernel.org/all/20231221151129.325749-1-cristian.marussi@arm.com/
> Addressed the binding doc issue, dropped i.MX content.
> For the firmware pinctrl scmi driver, addressed the comments from Cristian
> For the pinctrl scmi driver, addressed comments from Cristian
>
> For the i.MX95 OEM stuff, I not have good idea, expect using compatbile
> string. Maybe the firmware public an protocol attribute to indicate it is
> VENDOR stuff or NXP use a new protocol id, not 0x19. But I think
> current pinctrl-scmi.c not able to support OEM config, should we extend
> it with some method? Anyway if patch 1-4 is good enough, they could
> be picked up first.
>
> Since I am only able to test the patch on i.MX95 which not support
> geneirc pinconf, only OEM configs are tested in my side.
>
> ---
> Oleksii Moisieiev (1):
> firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support
>
> Peng Fan (5):
> firmware: arm_scmi: introduce helper get_max_msg_size
> dt-bindings: firmware: arm,scmi: support pinctrl protocol
> pinctrl: Implementation of the generic scmi-pinctrl driver
> [NOT APPLY]firmware: scmi: support compatible string
> [NOT APPLY] pinctrl: scmi: implement pinctrl_scmi_imx_dt_node_to_map
>
> .../devicetree/bindings/firmware/arm,scmi.yaml | 50 ++
> MAINTAINERS | 7 +
> drivers/firmware/arm_scmi/Makefile | 1 +
> drivers/firmware/arm_scmi/bus.c | 39 +-
> drivers/firmware/arm_scmi/common.h | 2 +-
> drivers/firmware/arm_scmi/driver.c | 32 +-
> drivers/firmware/arm_scmi/pinctrl.c | 930 +++++++++++++++++++++
> drivers/firmware/arm_scmi/protocols.h | 3 +
> drivers/pinctrl/Kconfig | 11 +
> drivers/pinctrl/Makefile | 1 +
> drivers/pinctrl/pinctrl-scmi-imx.c | 117 +++
> drivers/pinctrl/pinctrl-scmi.c | 540 ++++++++++++
> drivers/pinctrl/pinctrl-scmi.h | 12 +
> include/linux/scmi_protocol.h | 75 ++
> 14 files changed, 1806 insertions(+), 14 deletions(-)
> ---
> base-commit: 8f266a167d1f0ca34668f05cd8c01bd245c8698b
> change-id: 20231215-pinctrl-scmi-4c5b0374f4c6
>
> Best regards,
> --
> Peng Fan <peng.fan@nxp.com>
>
WARNING: multiple messages have this Message-ID (diff)
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: "Peng Fan (OSS)" <peng.fan@oss.nxp.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
Cristian Marussi <cristian.marussi@arm.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Oleksii Moisieiev <oleksii_moisieiev@epam.com>,
Linus Walleij <linus.walleij@linaro.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
NXP Linux Team <linux-imx@nxp.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-gpio@vger.kernel.org, Peng Fan <peng.fan@nxp.com>
Subject: Re: [PATCH v2 0/6] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support
Date: Fri, 5 Jan 2024 10:37:46 +0900 [thread overview]
Message-ID: <ZZddarpj14gPqg25@octopus> (raw)
In-Reply-To: <20240104-pinctrl-scmi-v2-0-a9bd86ab5a84@nxp.com>
On Thu, Jan 04, 2024 at 06:48:44PM +0800, Peng Fan (OSS) wrote:
> This patchset is a rework from Oleksii's RFC v5 patchset
> https://lore.kernel.org/all/cover.1698353854.git.oleksii_moisieiev@epam.com/
>
> This patchset introduces some changes based on RFC v5:
> - introduce helper get_max_msg_size
> - support compatible string
> - iterate the id_table
> - Support multiple configs in one command
> - Added i.MX support
> - Patch 5 firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support
> is almost same as RFCv5 expect multiple configs support.
> - Patch 4 the dt-bindings includes compatible string to support i.MX
> - Rebased on 2023-12-15 linux-next/master
For the record, the translation of pin config types,
pinctrl_scmi_map_pinconf_type(), is finally implemented in patch 4.
Thanks,
-Takahiro Akashi
> If any comments from RFC v5 are missed, I am sorry in advance.
>
> This PINCTRL Protocol is following Version 3.2 SCMI Spec Beta release.
>
> 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. So implement the driver to support such cases.
>
> The i.MX95 Example as below:
>
> Configuration:
> The scmi-pinctrl driver can be configured using DT bindings.
> For example:
> / {
> sram0: sram@445b1000 {
> compatible = "mmio-sram";
> reg = <0x0 0x445b1000 0x0 0x400>;
>
> #address-cells = <1>;
> #size-cells = <1>;
> ranges = <0x0 0x0 0x445b1000 0x400>;
>
> scmi_buf0: scmi-sram-section@0 {
> compatible = "arm,scmi-shmem";
> reg = <0x0 0x80>;
> };
>
> scmi_buf1: scmi-sram-section@80 {
> compatible = "arm,scmi-shmem";
> reg = <0x80 0x80>;
> };
> };
>
> firmware {
> scmi {
> compatible = "arm,scmi";
> mboxes = <&mu2 5 0>, <&mu2 3 0>, <&mu2 3 1>;
> shmem = <&scmi_buf0>, <&scmi_buf1>;
> #address-cells = <1>;
> #size-cells = <0>;
>
> scmi_iomuxc: protocol@19 {
> compatible = "fsl,imx95-scmi-pinctrl";
> reg = <0x19>;
> };
> };
> };
> };
>
> &scmi_iomuxc {
> pinctrl_tpm3: tpm3grp {
> fsl,pins = <
> IMX95_PAD_GPIO_IO12__TPM3_CH2 0x51e
> >;
> };
> };
>
> This patchset has been tested on i.MX95-19x19-EVK board.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> Changes in v2:
> Added comments, and added R-b for Patch 1
> Moved the compatile string and i.MX patch to the end, marked NOT APPLY
> Patchset based on lore.kernel.org/all/20231221151129.325749-1-cristian.marussi@arm.com/
> Addressed the binding doc issue, dropped i.MX content.
> For the firmware pinctrl scmi driver, addressed the comments from Cristian
> For the pinctrl scmi driver, addressed comments from Cristian
>
> For the i.MX95 OEM stuff, I not have good idea, expect using compatbile
> string. Maybe the firmware public an protocol attribute to indicate it is
> VENDOR stuff or NXP use a new protocol id, not 0x19. But I think
> current pinctrl-scmi.c not able to support OEM config, should we extend
> it with some method? Anyway if patch 1-4 is good enough, they could
> be picked up first.
>
> Since I am only able to test the patch on i.MX95 which not support
> geneirc pinconf, only OEM configs are tested in my side.
>
> ---
> Oleksii Moisieiev (1):
> firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support
>
> Peng Fan (5):
> firmware: arm_scmi: introduce helper get_max_msg_size
> dt-bindings: firmware: arm,scmi: support pinctrl protocol
> pinctrl: Implementation of the generic scmi-pinctrl driver
> [NOT APPLY]firmware: scmi: support compatible string
> [NOT APPLY] pinctrl: scmi: implement pinctrl_scmi_imx_dt_node_to_map
>
> .../devicetree/bindings/firmware/arm,scmi.yaml | 50 ++
> MAINTAINERS | 7 +
> drivers/firmware/arm_scmi/Makefile | 1 +
> drivers/firmware/arm_scmi/bus.c | 39 +-
> drivers/firmware/arm_scmi/common.h | 2 +-
> drivers/firmware/arm_scmi/driver.c | 32 +-
> drivers/firmware/arm_scmi/pinctrl.c | 930 +++++++++++++++++++++
> drivers/firmware/arm_scmi/protocols.h | 3 +
> drivers/pinctrl/Kconfig | 11 +
> drivers/pinctrl/Makefile | 1 +
> drivers/pinctrl/pinctrl-scmi-imx.c | 117 +++
> drivers/pinctrl/pinctrl-scmi.c | 540 ++++++++++++
> drivers/pinctrl/pinctrl-scmi.h | 12 +
> include/linux/scmi_protocol.h | 75 ++
> 14 files changed, 1806 insertions(+), 14 deletions(-)
> ---
> base-commit: 8f266a167d1f0ca34668f05cd8c01bd245c8698b
> change-id: 20231215-pinctrl-scmi-4c5b0374f4c6
>
> Best regards,
> --
> Peng Fan <peng.fan@nxp.com>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-01-05 1:37 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-04 10:48 [PATCH v2 0/6] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support Peng Fan (OSS)
2024-01-04 10:48 ` Peng Fan (OSS)
2024-01-04 10:48 ` [PATCH v2 1/6] firmware: arm_scmi: introduce helper get_max_msg_size Peng Fan (OSS)
2024-01-04 10:48 ` Peng Fan (OSS)
2024-01-04 10:48 ` [PATCH v2 2/6] dt-bindings: firmware: arm,scmi: support pinctrl protocol Peng Fan (OSS)
2024-01-04 10:48 ` Peng Fan (OSS)
2024-01-09 21:18 ` Rob Herring
2024-01-09 21:18 ` Rob Herring
2024-01-10 14:23 ` Linus Walleij
2024-01-10 14:23 ` Linus Walleij
2024-01-04 10:48 ` [PATCH v2 3/6] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support Peng Fan (OSS)
2024-01-04 10:48 ` Peng Fan (OSS)
2024-01-17 19:38 ` Cristian Marussi
2024-01-17 19:38 ` Cristian Marussi
2024-01-28 0:00 ` Linus Walleij
2024-01-28 0:00 ` Linus Walleij
2024-01-04 10:48 ` [PATCH v2 4/6] pinctrl: Implementation of the generic scmi-pinctrl driver Peng Fan (OSS)
2024-01-04 10:48 ` Peng Fan (OSS)
2024-01-17 20:43 ` Cristian Marussi
2024-01-17 20:43 ` Cristian Marussi
2024-01-28 0:06 ` Linus Walleij
2024-01-28 0:06 ` Linus Walleij
2024-01-28 0:28 ` Peng Fan
2024-01-28 0:28 ` Peng Fan
2024-01-28 0:39 ` Linus Walleij
2024-01-28 0:39 ` Linus Walleij
2024-01-04 10:48 ` [PATCH NOT APPLY v2 5/6] firmware: scmi: support compatible string Peng Fan (OSS)
2024-01-04 10:48 ` Peng Fan (OSS)
2024-01-04 10:48 ` [PATCH NOT APPLY v2 6/6] pinctrl: scmi: implement pinctrl_scmi_imx_dt_node_to_map Peng Fan (OSS)
2024-01-04 10:48 ` Peng Fan (OSS)
2024-01-05 1:37 ` AKASHI Takahiro [this message]
2024-01-05 1:37 ` [PATCH v2 0/6] firmware: arm_scmi: Add SCMI v3.2 pincontrol protocol basic support AKASHI Takahiro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZZddarpj14gPqg25@octopus \
--to=takahiro.akashi@linaro.org \
--cc=conor+dt@kernel.org \
--cc=cristian.marussi@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleksii_moisieiev@epam.com \
--cc=peng.fan@nxp.com \
--cc=peng.fan@oss.nxp.com \
--cc=robh+dt@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=sudeep.holla@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.