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