Re: [PATCH 4/7] dt-bindings: firmware: arm,scmi: support pinctrl protocol

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx>
> > > > >
> > > > > Add SCMI v3.2 pinctrl protocol bindings and example.
> > > > >
> > > > > Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> > > > > ---
> > > > >  .../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?

Regards,
  Marco

> 
> Thanks,
> Peng.
> 
> > 
> > Regards,
> >   Marco
> 
> 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux