Message ID | 20230127164040.1047583-1-gatien.chevallier@foss.st.com |
---|---|
Headers | show |
Series | Introduce STM32 system bus | expand |
On 27/01/2023 17:40, Gatien Chevallier wrote: > From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com> > > Introducing of the common device controller bindings for the controller > provider and consumer devices. Those bindings are intended to allow > divided system on chip into muliple domains, that can be used to > configure hardware permissions. > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com> > --- > > No change since V1. I'm letting this patch for dependency with bindings to > avoid noise with dt/bindings checks. Therefore, it should be reviewed on the > appropriate thread. There was a v6 already, this is v3 and I don't understand this comment. What do you let? Whom? If it is not for review and not for merging, please annotate it in the title ([IGNORE PATCH] or something). Best regards, Krzysztof
Hello Krzysztof, On 1/27/23 17:49, Krzysztof Kozlowski wrote: > On 27/01/2023 17:40, Gatien Chevallier wrote: >> From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com> >> >> Introducing of the common device controller bindings for the controller >> provider and consumer devices. Those bindings are intended to allow >> divided system on chip into muliple domains, that can be used to >> configure hardware permissions. >> >> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com> >> --- >> >> No change since V1. I'm letting this patch for dependency with bindings to >> avoid noise with dt/bindings checks. Therefore, it should be reviewed on the >> appropriate thread. > > There was a v6 already, this is v3 and I don't understand this comment. > What do you let? Whom? If it is not for review and not for merging, > please annotate it in the title ([IGNORE PATCH] or something). > Sorry for not being clear in the previous comment. I meant I'm letting this patch in this patch set so the dependencies on the feature-domain-controller.yaml file are satisfied. I will annotate it with [IGNORE PATCH], as you suggest. > Best regards, > Krzysztof > Best regards, Gatien
On Fri, 27 Jan 2023 17:40:36 +0100 Gatien Chevallier <gatien.chevallier@foss.st.com> wrote: > 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 System Bus. 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> There was probably a cleaner way to ensure that this could go via the various subsystem trees, but hopefully there won't be any clashes with other work going in and if there is, the resolution should be simple. Hence I'm fine with this going via the dt tree. So for the IIO ones below, Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > diff --git a/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml b/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml > index 1c340c95df16..c68b7b0e1903 100644 > --- a/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml > @@ -93,6 +93,11 @@ properties: > '#size-cells': > const: 0 > > + feature-domains: > + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains > + minItems: 1 > + maxItems: 3 > + > allOf: > - if: > properties: > diff --git a/Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml b/Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml > index 1970503389aa..d01f60765e48 100644 > --- a/Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml > @@ -59,6 +59,11 @@ properties: > If not, SPI CLKOUT frequency will not be accurate. > maximum: 20000000 > > + feature-domains: > + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains > + minItems: 1 > + maxItems: 3 > + > required: > - compatible > - reg > diff --git a/Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml b/Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml > index 0f1bf1110122..f6fe58d2f9b8 100644 > --- a/Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml > +++ b/Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml > @@ -45,6 +45,11 @@ properties: > '#size-cells': > const: 0 > > + feature-domains: > + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains > + minItems: 1 > + maxItems: 3 > + > additionalProperties: false
Hello all, I'm abandoning this series for: https://lore.kernel.org/lkml/20230705172759.1610753 Sorry for the noise. Best regards, Gatien On 1/27/23 17:40, Gatien Chevallier wrote: > Document STM32 System Bus. This bus is intended to control firewall > access for the peripherals connected to it. > > For every peripheral, the bus checks the firewall registers to see > if the peripheral is configured as non-secure. If the peripheral > is configured as secure, the node is marked populated, so the > device won't be probed. > > This is useful as a firewall configuration sanity check and avoid > platform crashes in case peripherals are incorrectly configured. > > The STM32 System Bus implements the feature-domain-controller > bindings. It is used by peripherals to reference a domain > controller, in this case the firewall feature domain. > The bus uses the ID referenced by the feature-domains property to > know where to look in the firewall to get the security configuration > for the peripheral. This allows a device tree description rather > than a hardcoded peripheral table in the bus driver. > > On STM32MP13/15 platforms, the firewall bus is represented by the > ETZPC node, which is responsible for the securing / MCU isolating > the capable peripherals. > > STM32MP13/15 device trees are updated in this series to implement > the bus. All peripherals that are securable or MCU isolation capable > by the ETZPC are connected to the bus. > > Changes in V2: > - Corrected YAMLS errors highlighted by Rob's robot > - Re-ordered Signed-off-by tags in two patches > > Changes in V3: > - Document feature-domains property in YAML documentation for > concerned periperals under the System Bus > - Fix STM32 System Bus YAML documentation > - Remove STM32 System bus bindings that were currently used > as helpers for device tree > - Correct few errors in driver > - Add missing peripherals under the System Bus that were in > SoC variation device tree files > - Fix node names > > Gatien Chevallier (5): > dt-bindings: treewide: add feature-domains description in binding > files > dt-bindings: bus: add STM32 System Bus > bus: stm32_sys_bus: add support for STM32MP15 and STM32MP13 system bus > ARM: dts: stm32: add ETZPC as a system bus for STM32MP15x boards > ARM: dts: stm32: add ETZPC as a system bus for STM32MP13x boards > > Oleksii Moisieiev (1): > dt-bindings: Document common device controller bindings > > .../devicetree/bindings/bus/st,sys-bus.yaml | 127 + > .../bindings/crypto/st,stm32-hash.yaml | 5 + > .../devicetree/bindings/dma/st,stm32-dma.yaml | 5 + > .../bindings/dma/st,stm32-dmamux.yaml | 5 + > .../feature-domain-controller.yaml | 84 + > .../devicetree/bindings/i2c/st,stm32-i2c.yaml | 5 + > .../bindings/iio/adc/st,stm32-adc.yaml | 5 + > .../bindings/iio/adc/st,stm32-dfsdm-adc.yaml | 5 + > .../bindings/iio/dac/st,stm32-dac.yaml | 5 + > .../bindings/media/st,stm32-cec.yaml | 5 + > .../bindings/media/st,stm32-dcmi.yaml | 5 + > .../memory-controllers/st,stm32-fmc2-ebi.yaml | 5 + > .../bindings/mfd/st,stm32-lptimer.yaml | 5 + > .../bindings/mfd/st,stm32-timers.yaml | 6 + > .../devicetree/bindings/mmc/arm,pl18x.yaml | 5 + > .../devicetree/bindings/net/stm32-dwmac.yaml | 5 + > .../bindings/phy/phy-stm32-usbphyc.yaml | 5 + > .../bindings/regulator/st,stm32-vrefbuf.yaml | 5 + > .../devicetree/bindings/rng/st,stm32-rng.yaml | 5 + > .../bindings/serial/st,stm32-uart.yaml | 5 + > .../bindings/sound/st,stm32-i2s.yaml | 5 + > .../bindings/sound/st,stm32-sai.yaml | 5 + > .../bindings/sound/st,stm32-spdifrx.yaml | 5 + > .../bindings/spi/st,stm32-qspi.yaml | 5 + > .../devicetree/bindings/spi/st,stm32-spi.yaml | 5 + > .../devicetree/bindings/usb/dwc2.yaml | 5 + > MAINTAINERS | 6 + > arch/arm/boot/dts/stm32mp131.dtsi | 407 +-- > arch/arm/boot/dts/stm32mp133.dtsi | 51 +- > arch/arm/boot/dts/stm32mp13xc.dtsi | 19 +- > arch/arm/boot/dts/stm32mp13xf.dtsi | 18 +- > arch/arm/boot/dts/stm32mp151.dtsi | 2722 +++++++++-------- > arch/arm/boot/dts/stm32mp153.dtsi | 52 +- > arch/arm/boot/dts/stm32mp15xc.dtsi | 19 +- > drivers/bus/Kconfig | 9 + > drivers/bus/Makefile | 1 + > drivers/bus/stm32_sys_bus.c | 168 + > 37 files changed, 2208 insertions(+), 1596 deletions(-) > create mode 100644 Documentation/devicetree/bindings/bus/st,sys-bus.yaml > create mode 100644 Documentation/devicetree/bindings/feature-controllers/feature-domain-controller.yaml > create mode 100644 drivers/bus/stm32_sys_bus.c >