Message ID | 20250228045356.3527662-2-quic_srichara@quicinc.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | mailbox: tmel-qmp: Introduce QCOM TMEL QMP mailbox driver | expand |
On Fri, Feb 28, 2025 at 10:23:55AM +0530, Sricharan R wrote: > From: Sricharan Ramabadhran <quic_srichara@quicinc.com> > > TMEL SS provides different kinds of services like secureboot, remote image What is TMEL SS? What is Q6, etc? Please provide a definition on the first usagem both in the commit message and in the bindings text. And in the cover letter. Also, in some places you use TME-L instead of TMEL. Please settle on one of those, unless there is a difference between them, > authentication, key management, crypto, OEM provisioning etc. This patch > adds support for remote image authentication. Support for rest of the > services can be added. > > The QMP mailbox is the primary means of communication between TMEL SS and > other subsystem on the SoC. A dedicated pair of inbound and outbound > mailboxes is implemented for each subsystem/external execution environment > which needs to communicate with TMEL for security services. The inbound > mailboxes are used to send IPC requests to TMEL, which are then processed > by TMEL firmware and accordingly the responses are sent back via outbound > mailboxes. > > It is an IPC transport protocol which is light weight and supports a subset > of API's. It handles link initialization, negotiation, establishment and > communication across client(CPU/BTSS/AUDIOSS) and server(TMEL SS). > > ----------------------------------------------- --------------------------------------------------- > | | | | > | SOC CLIENT | SOC | TMEL SS | > | | AHB | | > | ---------- --------- --------- | | ------ ------- -------- ------------ | > | | | | | | | | WO | | | R | | | | |SERVICES | | > | | CPU |<-->| TMEL |<->| |------------->| | IN |-->| | | TMEL | |-------- | | > | | | | COM | | QMP | | RO | | | W | QMP |<--->| COM |<-->| a) ATTEST | | > | | | | | | |<-------------| | OUT |<--| | | | | b) CRYPTO | | > | | | | | | | | | | | | | | | | .. more | | > | --------- --------- --------- | | ------ ------- ------- ------------ | > | | | | > ----------------------------------------------- -------------------------------------------------- > > This binding describes the component responsible for communication between > the TMEL server based subsystems (Q6) and the TMEL client > (CPU/BTSS/AUDIOSS), used for security services like secure image > authentication, enable/disable efuses, crypto services. Each client in the > SoC has its own block of message RAM and IRQ for communication with the > TMEL SS. > > Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com> > --- > #V3: Creative. Where are the previous changelogs? > --- > Fixed wrappings. > Made mailbox-cells as a required property and changed value to '1'. > Fixed to use compatible as filename. > Renamed compatible as per Krzystof's comments. > Dropped unused label. > > Following tests were done and no issues. > > *) Checkpatch > *) Codespell > *) Sparse > *) kerneldoc check > *) Kernel lock debugging > *) dt_binding_check and dtbs_check > > .../bindings/mailbox/qcom,ipq5424-tmel.yaml | 62 +++++++++++++++++++ > 1 file changed, 62 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml > > diff --git a/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml > new file mode 100644 > index 000000000000..2e3c79add405 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml > @@ -0,0 +1,62 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mailbox/qcom,ipq5424-tmel.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm TMEL IPCC channel > + > +maintainers: > + - Sricharan Ramabadhran <quic_srichara@quicinc.com> > + > +description: > + TMEL SS provides different kinds of services like secureboot, remote image authentication, > + key management, crypto, OEM provisioning etc. This patch adds support for remote image > + authentication. Support for rest of the services can be added. > + > + The QMP mailbox is the primary means of communication between TMEL SS and other subsystem on > + the SoC. A dedicated pair of inbound and outbound mailboxes is implemented for each > + subsystem/external execution environment which needs to communicate with TMEL for security > + services. The inbound mailboxes are used to send IPC requests to TMEL, which are then processed This string is 100 chars long. What is the recommended wrapping boundary? > + by TMEL firmware and accordingly the responses are sent back via outbound mailboxes. > + > +properties: > + compatible: > + items: > + - enum: > + - qcom,ipq5424-tmel > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + mboxes: > + maxItems: 1 > + > + "#mbox-cells": > + const: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - mboxes > + - "#mbox-cells" > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + mailbox@32090000 { > + compatible = "qcom,ipq5424-tmel"; > + reg = <0x32090000 0x2000>; > + interrupts = <GIC_SPI 126 IRQ_TYPE_EDGE_RISING>; > + mboxes = <&apcs_glb 20>; > + #mbox-cells = <1>; > + }; > + > +... > -- > 2.34.1 >
On 2/28/2025 11:36 AM, Dmitry Baryshkov wrote: > On Fri, Feb 28, 2025 at 10:23:55AM +0530, Sricharan R wrote: >> From: Sricharan Ramabadhran <quic_srichara@quicinc.com> >> >> TMEL SS provides different kinds of services like secureboot, remote image > > What is TMEL SS? What is Q6, etc? Please provide a definition on the > first usagem both in the commit message and in the bindings text. And in > the cover letter. Also, in some places you use TME-L instead of TMEL. > Please settle on one of those, unless there is a difference between > them, > ok, both are same, will expand and fix same in all places >> authentication, key management, crypto, OEM provisioning etc. This patch >> adds support for remote image authentication. Support for rest of the >> services can be added. >> >> The QMP mailbox is the primary means of communication between TMEL SS and >> other subsystem on the SoC. A dedicated pair of inbound and outbound >> mailboxes is implemented for each subsystem/external execution environment >> which needs to communicate with TMEL for security services. The inbound >> mailboxes are used to send IPC requests to TMEL, which are then processed >> by TMEL firmware and accordingly the responses are sent back via outbound >> mailboxes. >> >> It is an IPC transport protocol which is light weight and supports a subset >> of API's. It handles link initialization, negotiation, establishment and >> communication across client(CPU/BTSS/AUDIOSS) and server(TMEL SS). >> >> ----------------------------------------------- --------------------------------------------------- >> | | | | >> | SOC CLIENT | SOC | TMEL SS | >> | | AHB | | >> | ---------- --------- --------- | | ------ ------- -------- ------------ | >> | | | | | | | | WO | | | R | | | | |SERVICES | | >> | | CPU |<-->| TMEL |<->| |------------->| | IN |-->| | | TMEL | |-------- | | >> | | | | COM | | QMP | | RO | | | W | QMP |<--->| COM |<-->| a) ATTEST | | >> | | | | | | |<-------------| | OUT |<--| | | | | b) CRYPTO | | >> | | | | | | | | | | | | | | | | .. more | | >> | --------- --------- --------- | | ------ ------- ------- ------------ | >> | | | | >> ----------------------------------------------- -------------------------------------------------- >> >> This binding describes the component responsible for communication between >> the TMEL server based subsystems (Q6) and the TMEL client >> (CPU/BTSS/AUDIOSS), used for security services like secure image >> authentication, enable/disable efuses, crypto services. Each client in the >> SoC has its own block of message RAM and IRQ for communication with the >> TMEL SS. >> >> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com> >> --- >> #V3: > > Creative. Where are the previous changelogs? > ok, will add >> --- >> Fixed wrappings. >> Made mailbox-cells as a required property and changed value to '1'. >> Fixed to use compatible as filename. >> Renamed compatible as per Krzystof's comments. >> Dropped unused label. >> >> Following tests were done and no issues. >> >> *) Checkpatch >> *) Codespell >> *) Sparse >> *) kerneldoc check >> *) Kernel lock debugging >> *) dt_binding_check and dtbs_check >> >> .../bindings/mailbox/qcom,ipq5424-tmel.yaml | 62 +++++++++++++++++++ >> 1 file changed, 62 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml >> >> diff --git a/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml >> new file mode 100644 >> index 000000000000..2e3c79add405 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml >> @@ -0,0 +1,62 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/mailbox/qcom,ipq5424-tmel.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm TMEL IPCC channel >> + >> +maintainers: >> + - Sricharan Ramabadhran <quic_srichara@quicinc.com> >> + >> +description: >> + TMEL SS provides different kinds of services like secureboot, remote image authentication, >> + key management, crypto, OEM provisioning etc. This patch adds support for remote image >> + authentication. Support for rest of the services can be added. >> + >> + The QMP mailbox is the primary means of communication between TMEL SS and other subsystem on >> + the SoC. A dedicated pair of inbound and outbound mailboxes is implemented for each >> + subsystem/external execution environment which needs to communicate with TMEL for security >> + services. The inbound mailboxes are used to send IPC requests to TMEL, which are then processed > > This string is 100 chars long. What is the recommended wrapping > boundary? > I kept it as 100 and checkpatch did not throw any warnings. Regards, Sricharan
On Mon, Mar 03, 2025 at 12:51:44PM +0530, Sricharan Ramabadhran wrote: > > > On 2/28/2025 11:36 AM, Dmitry Baryshkov wrote: > > On Fri, Feb 28, 2025 at 10:23:55AM +0530, Sricharan R wrote: > > > From: Sricharan Ramabadhran <quic_srichara@quicinc.com> > > > > > > TMEL SS provides different kinds of services like secureboot, remote image > > > > What is TMEL SS? What is Q6, etc? Please provide a definition on the > > first usagem both in the commit message and in the bindings text. And in > > the cover letter. Also, in some places you use TME-L instead of TMEL. > > Please settle on one of those, unless there is a difference between > > them, > > > ok, both are same, will expand and fix same in all places > > > > authentication, key management, crypto, OEM provisioning etc. This patch > > > adds support for remote image authentication. Support for rest of the > > > services can be added. > > > > > > The QMP mailbox is the primary means of communication between TMEL SS and > > > other subsystem on the SoC. A dedicated pair of inbound and outbound > > > mailboxes is implemented for each subsystem/external execution environment > > > which needs to communicate with TMEL for security services. The inbound > > > mailboxes are used to send IPC requests to TMEL, which are then processed > > > by TMEL firmware and accordingly the responses are sent back via outbound > > > mailboxes. > > > > > > It is an IPC transport protocol which is light weight and supports a subset > > > of API's. It handles link initialization, negotiation, establishment and > > > communication across client(CPU/BTSS/AUDIOSS) and server(TMEL SS). > > > > > > ----------------------------------------------- --------------------------------------------------- > > > | | | | > > > | SOC CLIENT | SOC | TMEL SS | > > > | | AHB | | > > > | ---------- --------- --------- | | ------ ------- -------- ------------ | > > > | | | | | | | | WO | | | R | | | | |SERVICES | | > > > | | CPU |<-->| TMEL |<->| |------------->| | IN |-->| | | TMEL | |-------- | | > > > | | | | COM | | QMP | | RO | | | W | QMP |<--->| COM |<-->| a) ATTEST | | > > > | | | | | | |<-------------| | OUT |<--| | | | | b) CRYPTO | | > > > | | | | | | | | | | | | | | | | .. more | | > > > | --------- --------- --------- | | ------ ------- ------- ------------ | > > > | | | | > > > ----------------------------------------------- -------------------------------------------------- > > > > > > This binding describes the component responsible for communication between > > > the TMEL server based subsystems (Q6) and the TMEL client > > > (CPU/BTSS/AUDIOSS), used for security services like secure image > > > authentication, enable/disable efuses, crypto services. Each client in the > > > SoC has its own block of message RAM and IRQ for communication with the > > > TMEL SS. > > > > > > Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com> > > > --- > > > #V3: > > > > Creative. Where are the previous changelogs? > > > ok, will add > > > > --- > > > Fixed wrappings. > > > Made mailbox-cells as a required property and changed value to '1'. > > > Fixed to use compatible as filename. > > > Renamed compatible as per Krzystof's comments. > > > Dropped unused label. > > > > > > Following tests were done and no issues. > > > > > > *) Checkpatch > > > *) Codespell > > > *) Sparse > > > *) kerneldoc check > > > *) Kernel lock debugging > > > *) dt_binding_check and dtbs_check > > > > > > .../bindings/mailbox/qcom,ipq5424-tmel.yaml | 62 +++++++++++++++++++ > > > 1 file changed, 62 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml > > > new file mode 100644 > > > index 000000000000..2e3c79add405 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml > > > @@ -0,0 +1,62 @@ > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/mailbox/qcom,ipq5424-tmel.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Qualcomm TMEL IPCC channel > > > + > > > +maintainers: > > > + - Sricharan Ramabadhran <quic_srichara@quicinc.com> > > > + > > > +description: > > > + TMEL SS provides different kinds of services like secureboot, remote image authentication, > > > + key management, crypto, OEM provisioning etc. This patch adds support for remote image > > > + authentication. Support for rest of the services can be added. > > > + > > > + The QMP mailbox is the primary means of communication between TMEL SS and other subsystem on > > > + the SoC. A dedicated pair of inbound and outbound mailboxes is implemented for each > > > + subsystem/external execution environment which needs to communicate with TMEL for security > > > + services. The inbound mailboxes are used to send IPC requests to TMEL, which are then processed > > > > This string is 100 chars long. What is the recommended wrapping > > boundary? > > > I kept it as 100 and checkpatch did not throw any warnings. "The preferred limit on the length of a single line is 80 columns." Documentation/process/coding-style.rst > > Regards, > Sricharan >
<..> >>>> diff --git a/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml >>>> new file mode 100644 >>>> index 000000000000..2e3c79add405 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml >>>> @@ -0,0 +1,62 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/mailbox/qcom,ipq5424-tmel.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: Qualcomm TMEL IPCC channel >>>> + >>>> +maintainers: >>>> + - Sricharan Ramabadhran <quic_srichara@quicinc.com> >>>> + >>>> +description: >>>> + TMEL SS provides different kinds of services like secureboot, remote image authentication, >>>> + key management, crypto, OEM provisioning etc. This patch adds support for remote image >>>> + authentication. Support for rest of the services can be added. >>>> + >>>> + The QMP mailbox is the primary means of communication between TMEL SS and other subsystem on >>>> + the SoC. A dedicated pair of inbound and outbound mailboxes is implemented for each >>>> + subsystem/external execution environment which needs to communicate with TMEL for security >>>> + services. The inbound mailboxes are used to send IPC requests to TMEL, which are then processed >>> >>> This string is 100 chars long. What is the recommended wrapping >>> boundary? >>> >> I kept it as 100 and checkpatch did not throw any warnings. > > "The preferred limit on the length of a single line is 80 columns." > > Documentation/process/coding-style.rst ok, will fix. Regards, Sricharan
diff --git a/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml new file mode 100644 index 000000000000..2e3c79add405 --- /dev/null +++ b/Documentation/devicetree/bindings/mailbox/qcom,ipq5424-tmel.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mailbox/qcom,ipq5424-tmel.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm TMEL IPCC channel + +maintainers: + - Sricharan Ramabadhran <quic_srichara@quicinc.com> + +description: + TMEL SS provides different kinds of services like secureboot, remote image authentication, + key management, crypto, OEM provisioning etc. This patch adds support for remote image + authentication. Support for rest of the services can be added. + + The QMP mailbox is the primary means of communication between TMEL SS and other subsystem on + the SoC. A dedicated pair of inbound and outbound mailboxes is implemented for each + subsystem/external execution environment which needs to communicate with TMEL for security + services. The inbound mailboxes are used to send IPC requests to TMEL, which are then processed + by TMEL firmware and accordingly the responses are sent back via outbound mailboxes. + +properties: + compatible: + items: + - enum: + - qcom,ipq5424-tmel + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + mboxes: + maxItems: 1 + + "#mbox-cells": + const: 1 + +required: + - compatible + - reg + - interrupts + - mboxes + - "#mbox-cells" + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + + mailbox@32090000 { + compatible = "qcom,ipq5424-tmel"; + reg = <0x32090000 0x2000>; + interrupts = <GIC_SPI 126 IRQ_TYPE_EDGE_RISING>; + mboxes = <&apcs_glb 20>; + #mbox-cells = <1>; + }; + +...