Re: [PATCH 05/16] dt-bindings: bus: eip150: Describe the EIP-150 container node
From: Miquel Raynal
Date: Fri Jul 10 2026 - 09:06:20 EST
On 07/04/2026 at 14:44:49 -05, Rob Herring <robh@xxxxxxxxxx> 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) <miquel.raynal@xxxxxxxxxxx>
>> ---
>> .../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 <miquel.raynal@xxxxxxxxxxx>
>> +
>> +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