From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: Rob Herring <robh@kernel.org>
Cc: Peng Fan <peng.fan@nxp.com>,
Gatien Chevallier <gatien.chevallier@foss.st.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
"davem@davemloft.net" <davem@davemloft.net>,
"krzysztof.kozlowski+dt@linaro.org"
<krzysztof.kozlowski+dt@linaro.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"alexandre.torgue@foss.st.com" <alexandre.torgue@foss.st.com>,
"vkoul@kernel.org" <vkoul@kernel.org>,
"jic23@kernel.org" <jic23@kernel.org>,
"olivier.moysan@foss.st.com" <olivier.moysan@foss.st.com>,
"arnaud.pouliquen@foss.st.com" <arnaud.pouliquen@foss.st.com>,
"mchehab@kernel.org" <mchehab@kernel.org>,
"fabrice.gasnier@foss.st.com" <fabrice.gasnier@foss.st.com>,
"andi.shyti@kernel.org" <andi.shyti@kernel.org>,
"ulf.hansson@linaro.org" <ulf.hansson@linaro.org>,
"edumazet@google.com" <edumazet@google.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"hugues.fruchet@foss.st.com" <hugues.fruchet@foss.st.com>,
"lee@kernel.org" <lee@kernel.org>,
"will@kernel.org" <will@kernel.org>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"arnd@kernel.org" <arnd@kernel.org>,
"richardcochran@gmail.com" <richardcochran@gmail.com>,
"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-stm32@st-md-mailman.stormreply.com"
<linux-stm32@st-md-mailman.stormreply.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: Re: [PATCH 04/10] dt-bindings: treewide: add feature-domains description in binding files
Date: Mon, 10 Jul 2023 06:27:56 +0000 [thread overview]
Message-ID: <87o7kkxous.fsf@epam.com> (raw)
In-Reply-To: <CAL_JsqJkkT4SZcHj-RLPpDpX+t3Oe6RHyjeBNh4arWbMx-J0Og@mail.gmail.com>
Hi Rob,
Rob Herring <robh@kernel.org> writes:
> On Fri, Jul 7, 2023 at 10:10 AM Oleksii Moisieiev
> <Oleksii_Moisieiev@epam.com> wrote:
>>
>>
>> Hi Rob,
>>
>> Rob Herring <robh@kernel.org> writes:
>>
>> > On Fri, Jul 07, 2023 at 02:07:18PM +0000, Oleksii Moisieiev wrote:
>> >>
>> >> Gatien Chevallier <gatien.chevallier@foss.st.com> 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 <gatien.chevallier@foss.st.com>
>> >> > ---
>> >> >
>> >> > 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://urldefense.com/v3/__https://lore.kernel.org/lkml/c869d2751125181a55bc8a88c96e3a892b42f37a.1668070216.git.oleksii_moisieiev@epam.com/__;!!GF_29dbcQIUBPA!zHa-1LhJFYFC4vvB1OiKWJ8-NXvcBXNhsZuVi-Xnb4L6bNUC4yp8tSyIUMcKjyrEA5_UmIqNwUwCvMxNng$ [lore[.]kernel[.]org]
>>
>> Also I remember Peng Fan also was interested in those bindings.
>
> It helps to Cc people when you talk about them.
>
> If the parties interested in this want to see progress on this, you
> all must work together and show this is a solution for multiple
> platforms.
>
Sorry. Missed that.
>> 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.
>
> But isn't the SCMI device protection interface the same thing? Some
> interface to say "can I access this device?" and/or control access to
> it.
My patch series introduce using of the feature-domain-controller to
control access for the devices across the VMs. In our case we have
virtualized system, controlled by Xen hypervisor with some amount of the
VMs called Domains. Each Domain is the complete OS and HW is
separated between them. We need SCMI to control power/clocks/resets etc
from each Domain. feature-domain-controller in our case is SCMI node and
each device will receive unique ID which match the ID from SCP firmware
to set the device permissions so the SCP will know whether to give
access to the resource for the Domain or not.
Those feature-domain-controller node and links from devices will be
processed by Xen during Domain creation and the DT for the Domain will
be generated without those bindings.
So probably Firewall will not see the scmi related links in the device
nodes, but I think that the case when the device node is linked to more
then one feature-domain-controller is possible because bindings are generic.
>
> The other possible use I'm aware of is system partitioning. OpenAMP or
> similar where an SoC is partitioned into multiple OS instances and
> peripherals are assigned to different partitions.
>
i.MX boards are also have system partitioning concept in SCFW.
>> As for the naming maybe you have some thoughts about better name?
>
> If I did, I would have. Something with 'access' in it is as far as I've gotten.
>
What do you think about access-controller or feature-access-controller?
Maybe it will fit better here if all potential use cases for this
bingins is to say if the device can be accessed.
--
Thanks,
Oleksii
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2023-07-10 6:29 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-05 17:27 [PATCH 00/10] Introduce STM32 Firewall framework Gatien Chevallier
2023-07-05 17:27 ` [IGNORE][PATCH 01/10] dt-bindings: Document common device controller bindings Gatien Chevallier
2023-07-05 19:39 ` Rob Herring
2023-07-05 17:27 ` [PATCH 02/10] dt-bindings: bus: add device tree bindings for RIFSC Gatien Chevallier
2023-07-05 19:39 ` Rob Herring
2023-07-06 6:28 ` Krzysztof Kozlowski
2023-07-06 9:29 ` Gatien CHEVALLIER
2023-07-20 14:58 ` Gatien CHEVALLIER
2023-07-05 17:27 ` [PATCH 03/10] dt-bindings: bus: add device tree bindings for ETZPC Gatien Chevallier
2023-07-05 19:39 ` Rob Herring
2023-07-05 17:27 ` [PATCH 04/10] dt-bindings: treewide: add feature-domains description in binding files Gatien Chevallier
2023-07-06 14:51 ` Rob Herring
2023-07-07 12:28 ` Gatien CHEVALLIER
2023-07-07 15:20 ` Rob Herring
2023-07-10 8:22 ` Gatien CHEVALLIER
2023-07-10 14:42 ` Rob Herring
2023-07-07 14:07 ` Oleksii Moisieiev
2023-07-07 15:26 ` Gatien CHEVALLIER
2023-07-07 15:27 ` Rob Herring
2023-07-07 16:10 ` Oleksii Moisieiev
2023-07-07 20:33 ` Rob Herring
2023-07-10 6:27 ` Oleksii Moisieiev [this message]
2023-07-05 17:27 ` [PATCH 05/10] firewall: introduce stm32_firewall framework Gatien Chevallier
2023-07-06 15:09 ` Rob Herring
2023-07-07 13:43 ` Gatien CHEVALLIER
2023-07-07 15:07 ` Rob Herring
2023-07-13 13:58 ` Gatien CHEVALLIER
2023-07-13 14:13 ` Oleksii Moisieiev
2023-07-07 10:37 ` Greg KH
2023-07-07 14:00 ` Gatien CHEVALLIER
2023-07-07 15:10 ` Greg KH
2023-07-07 15:44 ` Gatien CHEVALLIER
2023-07-07 13:50 ` Oleksii Moisieiev
2023-07-07 15:01 ` Gatien CHEVALLIER
2023-07-07 16:01 ` Oleksii Moisieiev
2023-07-05 17:27 ` [PATCH 06/10] bus: rifsc: introduce RIFSC firewall controller driver Gatien Chevallier
2023-07-05 17:27 ` [PATCH 07/10] arm64: dts: st: add RIFSC as a domain controller for STM32MP25x boards Gatien Chevallier
2023-07-06 9:25 ` Alexandre TORGUE
2023-07-06 9:30 ` Gatien CHEVALLIER
2023-07-25 14:07 ` Gatien CHEVALLIER
2023-07-05 17:27 ` [PATCH 08/10] bus: etzpc: introduce ETZPC firewall controller driver Gatien Chevallier
2023-07-05 17:27 ` [PATCH 09/10] ARM: dts: stm32: add ETZPC as a system bus for STM32MP15x boards Gatien Chevallier
2023-07-05 17:27 ` [PATCH 10/10] ARM: dts: stm32: add ETZPC as a system bus for STM32MP13x boards Gatien Chevallier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o7kkxous.fsf@epam.com \
--to=oleksii_moisieiev@epam.com \
--cc=alexandre.torgue@foss.st.com \
--cc=alsa-devel@alsa-project.org \
--cc=andi.shyti@kernel.org \
--cc=arnaud.pouliquen@foss.st.com \
--cc=arnd@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=edumazet@google.com \
--cc=fabrice.gasnier@foss.st.com \
--cc=gatien.chevallier@foss.st.com \
--cc=gregkh@linuxfoundation.org \
--cc=herbert@gondor.apana.org.au \
--cc=hugues.fruchet@foss.st.com \
--cc=jic23@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux-usb@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olivier.moysan@foss.st.com \
--cc=pabeni@redhat.com \
--cc=peng.fan@nxp.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=vkoul@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).