> -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > Sent: Friday, June 16, 2023 6:51 PM > To: Pankaj Gupta <pankaj.gupta@xxxxxxx>; robh+dt@xxxxxxxxxx; > krzysztof.kozlowski+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx; > shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx; > festevam@xxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; > devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; Gaurav > Jain <gaurav.jain@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; Daniel Baluta > <daniel.baluta@xxxxxxx> > Subject: [EXT] Re: [PATCH v3 1/7] dt-bindings: arm: fsl: add mu binding doc > > 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 16/06/2023 20:11, Pankaj Gupta wrote: > > The NXP i.MX Message Unit enables two processing elements to > > communicate & co-ordinate with each other. This driver is used to > > communicate between Application Core and NXP HSM IPs like NXP > EdgeLock > > Enclave etc. > > It exists on some i.MX processors. e.g. i.MX8ULP, i.MX93 etc. > > > > Signed-off-by: Pankaj Gupta <pankaj.gupta@xxxxxxx> > > I don't see reply to Daniel's concerns. > > I don't see improvements here based on the previous review you received. > It seems you just ignored everything, right? Replied to Daniel's concern. > > Limited review follows up because binding is not in the shape for upstream. > Do some internal reviews prior sending it. Done the internal review. > > > --- > > .../bindings/arm/freescale/fsl,ele_mu.yaml | 144 ++++++++++++++++++ > > 1 file changed, 144 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/arm/freescale/fsl,ele_mu.yaml > > > > diff --git > > a/Documentation/devicetree/bindings/arm/freescale/fsl,ele_mu.yaml > > b/Documentation/devicetree/bindings/arm/freescale/fsl,ele_mu.yaml > > new file mode 100644 > > index 000000000000..29e309a88899 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/arm/freescale/fsl,ele_mu.yaml > > No underscores, filename based on compatibles. Accepted. Will correct in V4. > > > @@ -0,0 +1,144 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 > > +--- > > +$id: > > > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi > > > +cetree.org%2Fschemas%2Farm%2Ffreescale%2Ffsl%2Cele_mu.yaml%23&d > ata=05 > > > +%7C01%7Cpankaj.gupta%40nxp.com%7C72b9e18a32a342bcf68c08db6e6c > 8d5a%7C6 > > > +86ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C638225184750511073 > %7CUnknow > > > +n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1h > aWwiL > > > +CJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=5quVB0LAMCdjYghThl6PSI3 > CJPfuGtVoW > > +AtN1gr4xm0%3D&reserved=0 > > +$schema: > > > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi > > +cetree.org%2Fmeta- > schemas%2Fcore.yaml%23&data=05%7C01%7Cpankaj.gupta% > > > +40nxp.com%7C72b9e18a32a342bcf68c08db6e6c8d5a%7C686ea1d3bc2b4c > 6fa92cd9 > > > +9c5c301635%7C0%7C0%7C638225184750511073%7CUnknown%7CTWFpb > GZsb3d8eyJWI > > > +joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7 > C3000% > > > +7C%7C%7C&sdata=GyUGJThMnxLNEQX1guW9Q%2BdoVjMrvn%2FSupgJ7tu > fkXk%3D&res > > +erved=0 > > + > > +title: NXP i.MX EdgeLock Enclave MUAP driver > > Drop driver. Accepted. Will correct in V4. > > > + > > +maintainers: > > + - Pankaj Gupta <pankaj.gupta@xxxxxxx> > > + > > +description: | > > + > > + NXP i.MX EdgeLock Enclave Message Unit Driver. > > + The Messaging Unit module enables two processing elements within > > + the SoC to communicate and coordinate by passing messages (e.g., > > + data, status and control) through its interfaces. > > + > > + The NXP i.MX EdgeLock Enclave Message Unit (ELE-MUAP) is > > + specifically targeted for use between application core and > > + Edgelocke Enclave. It allows to send messages to the EL Enclave using a > shared mailbox. > > + > > + The messages must follow the protocol defined. > > + > > + Non-Secure + Secure > > + | > > + | > > + +---------+ +-------------+ | > > + | ele_mu.c+<---->+imx-mailbox.c| | > > + | | | mailbox.c +<-->+------+ +------+ > > + +---+-----+ +-------------+ | MU X +<-->+ ELE | > > + | +------+ +------+ > > + +----------------+ | > > + | | | > > + v v | > > + logical logical | > > + receiver waiter | > > + + + | > > + | | | > > + | | | > > + | +----+------+ | > > + | | | | > > + | | | | > > + device_ctx device_ctx device_ctx | > > + | > > + User 0 User 1 User Y | > > + +------+ +------+ +------+ | > > + |misc.c| |misc.c| |misc.c| | > > + kernel space +------+ +------+ +------+ | > > + | > > + +------------------------------------------------------ | > > + | | | | > > + userspace /dev/ele_muXch0 | | | > > + /dev/ele_muXch1 | | > > + /dev/ele_muXchY | > > + | > > + > > + When a user sends a command to the ELE, it registers its device_ctx > > + as waiter of a response from ELE. > > + > > + A user can be registered as receiver of command from the ELE. > > + Create char devices in /dev as channels of the form /dev/ele_muXchY > > + with X the id of the driver and Y for each users. It allows to send > > + and receive messages to the NXP EdgeLock Enclave IP on NXP SoC, > > + where current possible value, i.e., supported SoC(s) are imx8ulp, imx93. > > + > > +properties: > > + compatible: > > + enum: > > + - fsl,imx-ele > > + - fsl,imx93-ele > > + > > + mboxes: > > + description: > > + A list of phandles of TX MU channels followed by a list of phandles of > > + RX MU channels. The number of expected tx and rx channels is 1 TX, > and > > + 1 RX channels. All MU channels must be within the same MU instance. > > + Cross instances are not allowed. The MU instance to be used is > S4MUAP > > + for imx8ulp & imx93. Users need to ensure that used MU instance does > not > > + conflict with other execution environments. > > + items: > > + - description: TX0 MU channel > > + - description: RX0 MU channel > > + > > + mbox-names: > > + items: > > + - const: tx > > + - const: rx > > + > > + fsl,ele_mu_did: > > No underscores. Drop all properties not related to hardware. Accepted. Will correct in V4. > > > > + description: > > + Owner of message-unit, is identified via Domain ID or did. > > + allOf: > > + - $ref: /schemas/types.yaml#/definitions/uint32 > > + - enum: [0, 1, 2, 3, 4, 5, 6, 7] > > That's not the syntax you can find. Open example-schema and rewrite your > bindings. Accepted. Will correct in V4. Change it to: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Owner of message-unit, is identified via Domain ID or did. > > > > + > > +examples: > > + - | > > + ele_mu: ele_mu { > > Node names should be generic. See also explanation and list of examples in > DT specification: > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdevic > etree-specification.readthedocs.io%2Fen%2Flatest%2Fchapter2-devicetree- > basics.html%23generic-names- > recommendation&data=05%7C01%7Cpankaj.gupta%40nxp.com%7C72b9e1 > 8a32a342bcf68c08db6e6c8d5a%7C686ea1d3bc2b4c6fa92cd99c5c301635%7 > C0%7C0%7C638225184750511073%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C30 > 00%7C%7C%7C&sdata=wvrm2b84xq6KYEIEEGm9%2BCAHaDsXOfKlLvamsjh3 > jTg%3D&reserved=0 > Accepted. Will correct in V4. Will use the generic name "se-fw" for "secure-enclave firmware", instead of "ele-mu" > > + compatible = "fsl,imx93-ele"; > > + mbox-names = "tx", "rx"; > > + mboxes = <&s4muap 2 0 > > + &s4muap 3 0>; > > + fsl,ele_mu_id = <1>; Used generic name and changed from "ele_mu_id" to "mu-id" > > + fsl,ele_max_users = <4>; > > + fsl,cmd_tag = /bits/ 8 <0x17>; > > + fsl,rsp_tag = /bits/ 8 <0xe1>; Removed the above 3 non-hw defined bindings. > > + }; > > Best regards, > Krzysztof