Subject: Re: [PATCH 04/10] dt-bindings: treewide: add feature-domains description in binding files

From: Oleksii Moisieiev <[email-masked]>
Date: Fri, 7 Jul 2023 16:10:03 +0000

Hi Rob,

Rob Herring <[email-masked]> writes:

> On Fri, Jul 07, 2023 at 02:07:18PM +0000, Oleksii Moisieiev wrote:
>> 
>> Gatien Chevallier <[email-masked]> writes:
>> 
>> > feature-domains is an optional property that allows a peripheral to
>> > refer to one or more feature domain controller(s).
>> >
>> > Description of this property is added to all peripheral binding files of
>> > the peripheral under the STM32 firewall controllers. It allows an accurate
>> > representation of the hardware, where various peripherals are connected
>> > to this firewall bus. The firewall can then check the peripheral accesses
>> > before allowing it to probe.
>> >
>> > Signed-off-by: Gatien Chevallier <[email-masked]>
>> > ---
>> >
>> > Disclaimer: Some error with dtbs_check will be observed as I've
>> > considered the property to be generic, as Rob asked
>> >
>> >  Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml  | 4 ++++
>> >  Documentation/devicetree/bindings/dma/st,stm32-dma.yaml      | 4 ++++
>> >  Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml   | 4 ++++
>> >  Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml      | 4 ++++
>> >  Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml  | 4 ++++
>> >  .../devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml      | 4 ++++
>> >  Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml  | 4 ++++
>> >  .../devicetree/bindings/media/cec/st,stm32-cec.yaml          | 4 ++++
>> >  Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml   | 4 ++++
>> >  .../bindings/memory-controllers/st,stm32-fmc2-ebi.yaml       | 4 ++++
>> >  Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml  | 4 ++++
>> >  Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml   | 5 +++++
>> >  Documentation/devicetree/bindings/mmc/arm,pl18x.yaml         | 4 ++++
>> >  Documentation/devicetree/bindings/net/stm32-dwmac.yaml       | 4 ++++
>> >  Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml | 4 ++++
>> >  .../devicetree/bindings/regulator/st,stm32-vrefbuf.yaml      | 4 ++++
>> >  Documentation/devicetree/bindings/rng/st,stm32-rng.yaml      | 4 ++++
>> >  Documentation/devicetree/bindings/serial/st,stm32-uart.yaml  | 4 ++++
>> >  Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml    | 4 ++++
>> >  Documentation/devicetree/bindings/sound/st,stm32-sai.yaml    | 4 ++++
>> >  .../devicetree/bindings/sound/st,stm32-spdifrx.yaml          | 4 ++++
>> >  Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml     | 4 ++++
>> >  Documentation/devicetree/bindings/spi/st,stm32-spi.yaml      | 4 ++++
>> >  Documentation/devicetree/bindings/usb/dwc2.yaml              | 4 ++++
>> >  24 files changed, 97 insertions(+)
>> >
>> > diff --git a/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml b/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml
>> > index b767ec72a999..daf8dcaef627 100644
>> > --- a/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml
>> > +++ b/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml
>> > @@ -50,6 +50,10 @@ properties:
>> >    power-domains:
>> >      maxItems: 1
>> >  
>> > +  feature-domains:
>> > +    minItems: 1
>> > +    maxItems: 3
>> > +
>> 
>> I beliewe feature-domains is generic binding. This means that maxItems
>> can be implementation dependend. I would rather drop maxItems so the
>> following format will be possible:
>> 
>>           feature-domains = <&etzpc 1>, <&etzpc 2>, <&some_other_domain 1 2 3 4>
>>           feature-domain-names = "firewall 1", "firewall 2", "other_domain"
>
> The above already allows this (not -names, but the number of entries).
>> 
>> Also I beliewe driver will handle feature-domain-names property so it
>> will parse feature-domains only related to the firewall.
>
> Now I'm curious. What's an example that's not a firewall?
>
> (Note I'm still not happy with the naming of 'feature' as anything is a 
> feature, but that's the least of the issues really.)
>

The alternative usages of feature-domains was originally proposed by me
here:
https://lore.kernel.org/lkml/c869d2751[email-masked]/

Also I remember Peng Fan also was interested in those bindings.
I think the use-case when one node is protected by firewall and also is
controlled by scmi feature-domain-controller (As was proposed in my
patch series) may take place.

As for the naming maybe you have some thoughts about better name?

-- 
Thanks,
Oleksii