[EXT] Re: [PATCH v4 4/7] arm64: dts: imx93-11x11-evk: added nxp secure enclave fw

Pankaj Gupta pankaj.gupta at nxp.com
Tue Aug 15 06:19:14 PDT 2023



> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
> Sent: Tuesday, August 8, 2023 8:22 PM
> To: Pankaj Gupta <pankaj.gupta at nxp.com>; shawnguo at kernel.org;
> s.hauer at pengutronix.de; kernel at pengutronix.de; clin at suse.com;
> conor+dt at kernel.org; pierre.gondois at arm.com; Jacky Bai
> <ping.bai at nxp.com>; Clark Wang <xiaoning.wang at nxp.com>; Wei Fang
> <wei.fang at nxp.com>; Peng Fan <peng.fan at nxp.com>; Bough Chen
> <haibo.chen at nxp.com>; festevam at gmail.com; dl-linux-imx <linux-
> imx at nxp.com>; davem at davemloft.net; robh+dt at kernel.org;
> krzysztof.kozlowski+dt at linaro.org; linux-arm-kernel at lists.infradead.org;
> devicetree at vger.kernel.org; linux-kernel at vger.kernel.org; Gaurav Jain
> <gaurav.jain at nxp.com>; alexander.stein at ew.tq-group.com; Sahil Malhotra
> <sahil.malhotra at nxp.com>; Aisheng Dong <aisheng.dong at nxp.com>;
> Varun Sethi <V.Sethi at nxp.com>
> Subject: Re: [EXT] Re: [PATCH v4 4/7] arm64: dts: imx93-11x11-evk: added
> nxp secure enclave fw
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> On 08/08/2023 13:49, Pankaj Gupta wrote:
> >
> >
> >> -----Original Message-----
> >> From: Pankaj Gupta
> >> Sent: Tuesday, August 8, 2023 5:04 PM
> >> To: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>;
> >> shawnguo at kernel.org; s.hauer at pengutronix.de;
> kernel at pengutronix.de;
> >> clin at suse.com; conor+dt at kernel.org; pierre.gondois at arm.com; Jacky
> Bai
> >> <ping.bai at nxp.com>; Clark Wang <xiaoning.wang at nxp.com>; Wei Fang
> >> <wei.fang at nxp.com>; Peng Fan <peng.fan at nxp.com>; Bough Chen
> >> <haibo.chen at nxp.com>; festevam at gmail.com; dl-linux-imx <linux-
> >> imx at nxp.com>; davem at davemloft.net; robh+dt at kernel.org;
> >> krzysztof.kozlowski+dt at linaro.org;
> >> linux-arm-kernel at lists.infradead.org;
> >> devicetree at vger.kernel.org; linux-kernel at vger.kernel.org; Gaurav Jain
> >> <gaurav.jain at nxp.com>; alexander.stein at ew.tq-group.com; Sahil
> >> Malhotra <sahil.malhotra at nxp.com>; Aisheng Dong
> >> <aisheng.dong at nxp.com>; Varun Sethi <V.Sethi at nxp.com>
> >> Subject: RE: [EXT] Re: [PATCH v4 4/7] arm64: dts: imx93-11x11-evk:
> >> added nxp secure enclave fw
> >>
> >>
> >>
> >>> -----Original Message-----
> >>> From: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
> >>> Sent: Thursday, July 13, 2023 12:38 AM
> >>> To: Pankaj Gupta <pankaj.gupta at nxp.com>; shawnguo at kernel.org;
> >>> s.hauer at pengutronix.de; kernel at pengutronix.de; clin at suse.com;
> >>> conor+dt at kernel.org; pierre.gondois at arm.com; Jacky Bai
> >>> <ping.bai at nxp.com>; Clark Wang <xiaoning.wang at nxp.com>; Wei
> Fang
> >>> <wei.fang at nxp.com>; Peng Fan <peng.fan at nxp.com>; Bough Chen
> >>> <haibo.chen at nxp.com>; festevam at gmail.com; dl-linux-imx <linux-
> >>> imx at nxp.com>; davem at davemloft.net; robh+dt at kernel.org;
> >>> krzysztof.kozlowski+dt at linaro.org;
> >>> linux-arm-kernel at lists.infradead.org;
> >>> devicetree at vger.kernel.org; linux-kernel at vger.kernel.org; Gaurav
> >>> Jain <gaurav.jain at nxp.com>; alexander.stein at ew.tq-group.com; Sahil
> >>> Malhotra <sahil.malhotra at nxp.com>; Aisheng Dong
> >>> <aisheng.dong at nxp.com>;
> >> Varun
> >>> Sethi <V.Sethi at nxp.com>
> >>> Subject: [EXT] Re: [PATCH v4 4/7] arm64: dts: imx93-11x11-evk: added
> >>> nxp secure enclave fw
> >>>
> >>> Caution: This is an external email. Please take care when clicking
> >>> links or opening attachments. When in doubt, report the message
> >>> using the 'Report this email' button
> >>>
> >>>
> >>> On 12/07/2023 14:12, Pankaj Gupta wrote:
> >>>> Added support for NXP secure enclave called EdgeLock Enclave
> >>>> firmware
> >>>> (se-fw) for imx93-11x11-evk.
> >>>>
> >>>> Signed-off-by: Pankaj Gupta <pankaj.gupta at nxp.com>
> >>>> ---
> >>>>  arch/arm64/boot/dts/freescale/imx93.dtsi | 11 ++++++++++-
> >>>>  1 file changed, 10 insertions(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi
> >>>> b/arch/arm64/boot/dts/freescale/imx93.dtsi
> >>>> index 8643612ace8c..2b0f901d2709 100644
> >>>> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> >>>> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> >>>> @@ -1,6 +1,6 @@
> >>>>  // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> >>>>  /*
> >>>> - * Copyright 2022 NXP
> >>>> + * Copyright 2022-2023 NXP
> >>>>   */
> >>>>
> >>>>  #include <dt-bindings/clock/imx93-clock.h> @@ -863,5 +863,14 @@
> >>>> ddr-pmu at 4e300dc0 {
> >>>>                       reg = <0x4e300dc0 0x200>;
> >>>>                       interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> >>>>               };
> >>>> +
> >>>> +             ele_fw: se-fw {
> >>>> +                     compatible = "fsl,imx93-ele";
> >>>> +                     mboxes = <&s4muap 0 0 &s4muap 1 0>;
> >>>
> >>> This should be two entries.
> >>>
> >>>> +                     mbox-names = "tx", "rx";
> >>>> +                     fsl,mu-did = <3>;
> >>>> +                     fsl,mu-id = <2>;
> >>>
> >>> Drop both. Since you put it into the DTSI, it means it is compatible
> specific.
> >> [Pankaj] Removed the above three entries.
> >
> >
> > [Pankaj] Correction:
> > I missed to note that in our up-coming SoC(s), there will be multiple
> MU(s):
> > Those can only be identified using mu_id. Hence, following two only, will
> be removed:
> > +                     mbox-names = "tx", "rx";
> > +                     fsl,mu-did = <3>;
> 
> Which SoC? 
Existing NXP SoC iMX8DXL. Its driver will be using this as a base driver, which has multiple MU(s).

> How the bindings are going to look like for that SoC?
There are 8 MU(s): 3 for secure-enclave called SECO, and 5 for V2X based MU(s).

Bindings for that SoC will be like:

A.	For SECO based HSM:
For mu_id =1:
                seco_fw1: se-fw1 {
                        compatible = "fsl,imx8dxl-se-fw";
                        mbox-names = "tx", "rx";
                        mboxes = <&seco_mu1 0 0>,
                                <& seco_mu1 1 0>;
                        fsl,mu-id = <1>;
                        sram-pool = <&sram0>;
                };

For mu_id = 2
                seco_fw2: se-fw2 {
                        compatible = "fsl,imx8dxl-se-fw";
                        mbox-names = "tx", "rx";
                        mboxes = <&seco_mu2 0 0>,
                                <&seco_mu2 1 0>;
                        fsl,mu-id = <2>;
                        sram-pool = <&sram0>;
                };

For mu_id = 3
                seco_fw3: se-fw3 {
                        compatible = "fsl,imx8dxl-se-fw";
                        mbox-names = "tx", "rx";
                        mboxes = <&seco_mu3 0 0>,
                                <&seco_mu3 1 0>;
                        fsl,mu-id = <3>;
                };

B.	For V2X based HSM:
For mu_id =4:
                v2x_fw4: se-fw4 {
                        compatible = "fsl,imx8dxl-se-fw";
                        mbox-names = "tx", "rx";
                        mboxes = <&v2x_mu4 0 0>,
                                <&v2x_mu4 1 0>;
                        fsl,mu-id = <4>;
                        sram-pool = <&sram0>;
                };

For mu_id = 5
                v2x_fw5: se-fw5 {
                        compatible = "fsl,imx8dxl-se-fw";
                        mbox-names = "tx", "rx";
                        mboxes = <&v2x_mu5 0 0>,
                                <&v2x_mu5 1 0>;
                        fsl,mu-id = <5>;
                        sram-pool = <&sram0>;
                };

For mu_id = 6
                v2x_fw6: se-fw6 {
                        compatible = "fsl,imx8dxl-se-fw";
                        mbox-names = "tx", "rx";
                        mboxes = <&v2x_mu6 0 0>,
                                <&v2x_mu6 1 0>;
                        fsl,mu-id = <6>;
                };
For mu_id = 7:
                ele_fw7: se-fw7 {
                        compatible = "fsl,imx8dxl-se-fw";
                        mbox-names = "tx", "rx";
                        mboxes = <&v2x_mu7 0 0>,
                                <& v2x_mu7 1 0>;
                        fsl,mu-id = <7>;
                        sram-pool = <&sram0>;
                };

For mu_id = 8
                v2x_fw2: se-fw8 {
                        compatible = "fsl,imx8dxl-se-fw";
                        mbox-names = "tx", "rx";
                        mboxes = <&v2x_mu8 0 0>,
                                <&v2x_mu8 1 0>;
                        fsl,mu-id = <8>;
                        sram-pool = <&sram0>;
                };
> What is mu-did in such case and how does it relate to different mailboxes? Why it
> cannot be inferred from compatible?


"mu_did" will be removed. And it can be deduced from compatible.

If you mean “mu_id”, then it identifies communication interface for the IP block.
"mu_id" can be multiple for a SoC, with same compatible. As quoted for i.MX8DXL above.
"mu_id" will help us, identify the correct communication interface ele_fw<x>, to choose among multiple mu(s) .

> 
> BTW, responding three weeks after my review does not help your case. I
> totally loose the context. Of course you can reply even after 1 year, it's your
> right, but it does not help the discussion.

Point noted. I will be prompt now-onwards.

> 
> Best regards,
> Krzysztof



More information about the linux-arm-kernel mailing list