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:37 +0100 Gatien Chevallier <gatien.chevallier@foss.st.com> wrote: > Document STM32 System Bus. This bus is intended to control firewall > access for the peripherals connected to it. > > Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> > Signed-off-by: Loic PALLARDY <loic.pallardy@st.com> Trivial comment on formatting. > + > +examples: > + - | > + // In this example, the rng1 device refers to etzpc as its domain controller. > + // Same goes for fmc. > + // Access rights are verified before creating devices. > + > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/clock/stm32mp1-clks.h> > + #include <dt-bindings/reset/stm32mp1-resets.h> > + > + etzpc: bus@5c007000 { > + compatible = "st,stm32mp15-sys-bus"; > + reg = <0x5c007000 0x400>; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + feature-domain-controller; > + #feature-domain-cells = <1>; > + > + rng1: rng@54003000 { Odd mixture of 4 spacing and 2 spacing in this example. I'd suggest one or the other (slight preference for 4 space indents). > + compatible = "st,stm32-rng"; > + reg = <0x54003000 0x400>; > + clocks = <&rcc RNG1_K>; > + resets = <&rcc RNG1_R>; > + feature-domains = <&etzpc 7>; > + status = "disabled"; > + };
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 >