> -----Original Message----- > From: Krzysztof Kozlowski <krzk@xxxxxxxxxx> > Sent: Sunday, July 7, 2024 6:05 PM > To: Pankaj Gupta <pankaj.gupta@xxxxxxx>; Jonathan Corbet > <corbet@xxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof Kozlowski > <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; Shawn Guo > <shawnguo@xxxxxxxxxx>; Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>; > Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>; Fabio Estevam > <festevam@xxxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof > Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx> > Cc: linux-doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx > Subject: [EXT] Re: [PATCH v4 2/5] dt-bindings: arm: fsl: add imx-se-fw 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 05/07/2024 15:52, Pankaj Gupta wrote: > > The NXP security hardware IP(s) like: i.MX EdgeLock Enclave, V2X etc., > > creates an embedded secure enclave within the SoC boundary to enable > > features like: > > - HSM > > - SHE > > - V2X > > > > Secure-Enclave(s) communication interface are typically via message > > unit, i.e., based on mailbox linux kernel driver. This driver enables > > communication ensuring well defined message sequence protocol between > > Application Core and enclave's firmware. > > > > Driver configures multiple misc-device on the MU, for multiple > > user-space applications, to be able to communicate over single MU. > > > > It exists on some i.MX processors. e.g. i.MX8ULP, i.MX93 etc. > > This binding is not improving, even though it is v5. I have disposed-off all the comments received by Conor and Rob. Expecting there Reviewed-By on the v4, if they had no more comments. I will ensure to address your comments on this mail chain, in the best way I could. > > > > > Signed-off-by: Pankaj Gupta <pankaj.gupta@xxxxxxx> > > --- > > .../devicetree/bindings/firmware/fsl,imx-se.yaml | 133 > +++++++++++++++++++++ > > 1 file changed, 133 insertions(+) > > > > diff --git > > a/Documentation/devicetree/bindings/firmware/fsl,imx-se.yaml > > b/Documentation/devicetree/bindings/firmware/fsl,imx-se.yaml > > new file mode 100644 > > index 000000000000..b9018645101d > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/firmware/fsl,imx-se.yaml > > @@ -0,0 +1,133 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 > > +--- > > +$id: > > > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi > > +cetree.org%2Fschemas%2Ffirmware%2Ffsl%2Cimx- > se.yaml%23&data=05%7C02%7 > > > +Cpankaj.gupta%40nxp.com%7Cb43d043a91934c0c094c08dc9e813c2f%7C > 686ea1d3 > > > +bc2b4c6fa92cd99c5c301635%7C0%7C0%7C638559525096552364%7CUn > known%7CTWF > > > +pbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJ > XVCI6 > > > +Mn0%3D%7C0%7C%7C%7C&sdata=zmZkwos2LRrAdtPBr0pCJxCrztncKCQS2 > 4ECYMIjSnw > > +%3D&reserved=0 > > +$schema: > > > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi > > +cetree.org%2Fmeta- > schemas%2Fcore.yaml%23&data=05%7C02%7Cpankaj.gupta% > > > +40nxp.com%7Cb43d043a91934c0c094c08dc9e813c2f%7C686ea1d3bc2b4 > c6fa92cd9 > > > +9c5c301635%7C0%7C0%7C638559525096560485%7CUnknown%7CTWF > pbGZsb3d8eyJWI > > > +joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7 > C0%7C% > > > +7C%7C&sdata=WNl9M3G%2BPIl4xPx4w74Tsv7OIBkTRiR0Er5uj7PAt5o%3D > &reserved > > +=0 > > + > > +title: NXP i.MX HW Secure Enclave(s) EdgeLock Enclave > > + > > +maintainers: > > + - Pankaj Gupta <pankaj.gupta@xxxxxxx> > > + > > +description: | > > + NXP's SoC may contain one or multiple embedded secure-enclave HW > > + IP(s) like i.MX EdgeLock Enclave, V2X etc. These NXP's HW IP(s) > > + enables features like > > + - Hardware Security Module (HSM), > > + - Security Hardware Extension (SHE), and > > + - Vehicular to Anything (V2X) > > + > > + Communication interface to the secure-enclaves is based on the > > + messaging unit(s). > > + > > +properties: > > + $nodename: > > + pattern: "firmware@[0-9a-f]+$" > > + > > + compatible: > > + enum: > > + - fsl,imx8ulp-se > > + - fsl,imx93-se > > + - fsl,imx95-se > > + > > + reg: > > + maxItems: 1 > > + description: Identifier of the communication interface to secure-enclave. > > + > > + mboxes: > > + description: contain a list of phandles to mailboxes. > > Drop, obvious. Will remove the line "- description: contain a list of phandles to mailboxes." > > > + items: > > + - description: Specify the mailbox used to send message to se firmware > > + - description: Specify the mailbox used to receive message from > > + se firmware > > Drop redundant/obvious parts. Will replace above two description line with the below two. - description: mailbox phandle to send message to se firmware - description: mailbox phandle to receive message from se firmware > > So two mailboxes? Two handles of the same mailbox. > > > + > > + mbox-names: > > + items: > > + - const: tx > > + - const: rx > > + - const: txdb > > + - const: rxdb > > 4 mailboxes? This cannot be different. mbox-names can have any of the above mentioned 4 values. And two values are minimum, required. > > > + minItems: 2 > > + > > + memory-region: > > + description: contains the phandle to reserved external memory. > > Drop Will remove the line " description: contains the phandle to reserved external memory." > > > + items: > > + - description: It is used by secure-enclave firmware. It is an optional > > + property based on compatible and identifier to communication > interface. > > + (see bindings/reserved-memory/reserved-memory.txt) > > + > > + sram: > > + description: contains the phandle to sram. > > Drop Will remove " description: contains the phandle to sram." > > > + items: > > + - description: Phandle to the device SRAM. It is an optional property > > + based on compatible and identifier to communication interface. > > + > > +required: > > + - compatible > > + - reg > > + - mboxes > > + - mbox-names > > + > > +additionalProperties: false > > Keep it after allOf block In V2, it is after allOf block. In previous comments, it was commented to place allOf block, after required. I am little confused. > > > > + > > +allOf: > > + # memory-region > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - fsl,imx8ulp-se > > + - fsl,imx93-se > > + then: > > + required: > > + - memory-region > > + else: > > + properties: > > + memory-region: false > > + > > + # sram > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - fsl,imx8ulp-se > > + then: > > + required: > > + - sram > > + > > + else: > > + properties: > > + sram: false > > + > > +examples: > > + - | > > + firmware { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + firmware@0 { > > + compatible = "fsl,imx95-se"; > > + reg = <0x0>; > > + mboxes = <&ele_mu0 0 0>, <&ele_mu0 1 0>; > > + mbox-names = "tx", "rx"; > > + }; > > One example is enough. Accepted. > > > Best regards, > Krzysztof