Re: [PATCH 05/16] dt-bindings: bus: eip150: Describe the EIP-150 container node

Miquel Raynal <[email protected]>
Newsgroups org.kernel.vger.linux-renesas-soc,org.kernel.vger.linux-clk,org.kernel.vger.linux-crypto,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 07/04/2026 at 14:44:49 -05, Rob Herring <[email protected]> wrote:

> On Fri, Mar 27, 2026 at 09:09:27PM +0100, Miquel Raynal (Schneider Electric) wrote:
>> Part of Inside-Secure's SafeXcel family, the EIP-150 is some kind of
>> container node composed of:
>> - a public key accelerator,
>> - random number generator,
>> - an interrupt controller.
>> 
>> It also acts as proxy for the clocks.
>> 
>> Signed-off-by: Miquel Raynal (Schneider Electric) <[email protected]>
>> ---
>>  .../bus/inside-secure,safexcel-eip150.yaml         | 58 ++++++++++++++++++++++
>>  1 file changed, 58 insertions(+)
>> 
>> diff --git a/Documentation/devicetree/bindings/bus/inside-secure,safexcel-eip150.yaml b/Documentation/devicetree/bindings/bus/inside-secure,safexcel-eip150.yaml
>> new file mode 100644
>> index 000000000000..1b3d83a852f5
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/bus/inside-secure,safexcel-eip150.yaml
>> @@ -0,0 +1,58 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/bus/inside-secure,safexcel-eip150.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Inside-Secure SafeXcel EIP-150 container
>> +
>> +maintainers:
>> +  - Miquel Raynal <[email protected]>
>> +
>> +description:
>> +  The EIP-150 is a hardware container, it has its own interrupt
>> +  controller inside to which a random number generator and a public key
>> +  accelerator are wired.
>> +
>> +allOf:
>> +  - $ref: simple-pm-bus.yaml#
>> +  - $ref: /schemas/clock/clock-nexus-node.yaml#
>
> Generally, if a schema has 'select: true', you don't reference it as it 
> has already been applied. And you have to list the properties here 
> anyways because you need to define how many #clock-cells for example.

I see, I'll drop that line. Thanks for the explanation, very appreciated.

>> +properties:
>> +  compatible:
>> +    items:
>> +      - const: inside-secure,safexcel-eip150
>> +      - {} # simple-pm-bus, but not listed here to avoid false select
>> +
>> +  clocks:
>> +    minItems: 1

Should be:

       maxItems: 1

I did the error once, and copy-pasted it two more times in this series.

> Seems to me you are adding this to satisfy simple-pm-bus. Maybe this 
> should just be simple-bus?

I really need that clock, it feeds my container and is then populated
through the child nodes. I actually selected simple-pm-bus on purpose,
as my use case seems to really fit the description?

>> +  "#address-cells":
>> +    const: 1
>> +
>> +  "#size-cells":
>> +    const: 1
>> +
>> +  ranges: true
>> +
>> +patternProperties:
>> +  "^interrupt-controller@[0-9a-f]+$":
>> +    type: object
>> +    $ref: /schemas/interrupt-controller/inside-secure,safexcel-eip201.yaml#
>
> Better to just list a compatible you require. Like this, the schema is 
> applied twice.

Mmmh, ok!

>> +  "^rng@[0-9a-f]+$":
>> +    type: object
>> +    $ref: /schemas/rng/inside-secure,safexcel-eip76.yaml#
>> +
>> +  "^crypto@[0-9a-f]+$":
>> +    type: object
>> +    $ref: /schemas/crypto/inside-secure,safexcel-eip28.yaml#
>> +
>> +required:
>> +  - compatible
>> +  - clocks
>
>> +  - "#address-cells"
>> +  - "#size-cells"
>> +  - ranges
>
> The bus schema requires all these already.

I'll drop them.

Thanks!
Miquèl
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.