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

Rob Herring
2026-04-07T19:44:51Z

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@bootlin.com>
> ---
> .../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@bootlin.com>
> +
> +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.

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

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

> +
> + "#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.

> +
> + "^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.

Rob