[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<DU0PR04MB941736A1EEE3A98F188A59488895A@DU0PR04MB9417.eurprd04.prod.outlook.com>
Date: Thu, 21 Dec 2023 01:31:27 +0000
From: Peng Fan <peng.fan@....com>
To: Marco Felsch <m.felsch@...gutronix.de>
CC: "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>, Conor Dooley
<conor+dt@...nel.org>, Cristian Marussi <cristian.marussi@....com>, "Peng Fan
(OSS)" <peng.fan@....nxp.com>, Krzysztof Kozlowski
<krzysztof.kozlowski+dt@...aro.org>, Shawn Guo <shawnguo@...nel.org>, Linus
Walleij <linus.walleij@...aro.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-gpio@...r.kernel.org"
<linux-gpio@...r.kernel.org>, Rob Herring <robh+dt@...nel.org>, Oleksii
Moisieiev <oleksii_moisieiev@...m.com>, Pengutronix Kernel Team
<kernel@...gutronix.de>, Sudeep Holla <sudeep.holla@....com>, Fabio Estevam
<festevam@...il.com>, Sascha Hauer <s.hauer@...gutronix.de>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, dl-linux-imx <linux-imx@....com>
Subject: RE: [PATCH 4/7] dt-bindings: firmware: arm,scmi: support pinctrl
protocol
> Subject: Re: [PATCH 4/7] dt-bindings: firmware: arm,scmi: support pinctrl
> protocol
>
> On 23-12-20, Peng Fan wrote:
> > > Subject: Re: [PATCH 4/7] dt-bindings: firmware: arm,scmi: support
> > > pinctrl protocol
> > >
> > > On 23-12-20, Peng Fan wrote:
> > > > > Subject: Re: [PATCH 4/7] dt-bindings: firmware: arm,scmi:
> > > > > support pinctrl protocol
> > > > >
> > > > > Hi Peng,
> > > > >
> > > > > On 23-12-15, Peng Fan (OSS) wrote:
> > > > > > From: Peng Fan <peng.fan@....com>
> > > > > >
> > > > > > Add SCMI v3.2 pinctrl protocol bindings and example.
> > > > > >
> > > > > > Signed-off-by: Peng Fan <peng.fan@....com>
> > > > > > ---
> > > > > > .../devicetree/bindings/firmware/arm,scmi.yaml | 99
> > > > > ++++++++++++++++++++++
> > > > > > 1 file changed, 99 insertions(+)
> > > > > >
> > > > > > diff --git
> > > > > > a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > index 4591523b51a0..bfd2b6a89979 100644
> > > > > > --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
> > > > > > @@ -247,6 +247,85 @@ properties:
> > > > > > reg:
> > > > > > const: 0x18
> > > > > >
> > > > > > + protocol@19:
> > > > >
> > > > > ...
> > > > >
> > > > > > @@ -401,6 +480,26 @@ examples:
> > > > > > scmi_powercap: protocol@18 {
> > > > > > reg = <0x18>;
> > > > > > };
> > > > > > +
> > > > > > + scmi_pinctrl: protocol@19 {
> > > > > > + reg = <0x19>;
> > > > > > + #pinctrl-cells = <0>;
> > > > > > +
> > > > > > + i2c2-pins {
> > > > > > + groups = "i2c2_a", "i2c2_b";
> > > > > > + function = "i2c2";
> > > > > > + };
> > > > > > +
> > > > > > + mdio-pins {
> > > > > > + groups = "avb_mdio";
> > > > > > + drive-strength = <24>;
> > > > > > + };
> > > > > > +
> > > > > > + keys_pins: keys-pins {
> > > > > > + pins = "GP_5_17", "GP_5_20", "GP_5_22", "GP_2_1";
> > > > > > + bias-pull-up;
> > > > > > + };
> > > > > > + };
> > > > >
> > > > > This example is different to the one you mentioned within the
> > > > > cover-letter. I didn't checked all patches just want to ask
> > > > > which API will be implemented by this patchset?
> > > >
> > > > I kept this change since it was tested by Oleksii, but anyway i.MX
> > > > not use
> > > these.
> > > >
> > > > The API, I suppose you are asking about this?
> > > > static const struct pinctrl_ops pinctrl_scmi_pinctrl_ops = {
> > > > .get_groups_count = pinctrl_scmi_get_groups_count,
> > > > .get_group_name = pinctrl_scmi_get_group_name,
> > > > .get_group_pins = pinctrl_scmi_get_group_pins, #ifdef
> > > > CONFIG_OF
> > > > .dt_node_to_map = pinconf_generic_dt_node_to_map_all,
> > > > .dt_free_map = pinconf_generic_dt_free_map, #endif };
> > > >
> > > > static const struct pinctrl_ops pinctrl_scmi_imx_pinctrl_ops = {
> > > > .get_groups_count = pinctrl_scmi_get_groups_count,
> > > > .get_group_name = pinctrl_scmi_get_group_name,
> > > > .get_group_pins = pinctrl_scmi_get_group_pins, #ifdef
> > > > CONFIG_OF
> > > > .dt_node_to_map = pinctrl_scmi_imx_dt_node_to_map,
> > > > .dt_free_map = pinconf_generic_dt_free_map, #endif };
> > >
> > > I see, thanks for the clarification. In short: the i.MX SMCI pinctrl
> > > DT-API is the same as the non-SCMI pinctrl API since the dt_node_to_map
> will convert it.
> >
> > Yes, the fsl,pins format is same whether SCMI or non-SCMI. But we need
> > to pack the data to a format that matches the i.MX OEM SCMI PINCTRL
> > protocol, so we need to dedicated dt_node_to_map here.
>
> Yes, I saw that you're using the enum values 192-255 for the OEM specific
> part and the packing. Does you have public access to the FW implementing
> the SCMI?
>
The system manager firmware:
https://github.com/nxp-imx/imx-sm
Regards,
Peng.
> Regards,
> Marco
>
> >
> > Thanks,
> > Peng.
> >
> > >
> > > Regards,
> > > Marco
> >
> >
Powered by blists - more mailing lists