Message ID | 20230127164040.1047583-3-gatien.chevallier@foss.st.com |
---|---|
State | New |
Headers | show |
Series | Introduce STM32 system bus | expand |
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
diff --git a/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml b/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml index 4ccb335e8063..cb2ad7d5fdb5 100644 --- a/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml +++ b/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml @@ -41,6 +41,11 @@ properties: maximum: 2 default: 0 + 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/dma/st,stm32-dma.yaml b/Documentation/devicetree/bindings/dma/st,stm32-dma.yaml index 158c791d7caa..3df6c3c998bc 100644 --- a/Documentation/devicetree/bindings/dma/st,stm32-dma.yaml +++ b/Documentation/devicetree/bindings/dma/st,stm32-dma.yaml @@ -82,6 +82,11 @@ properties: description: if defined, it indicates that the controller supports memory-to-memory transfer + 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/dma/st,stm32-dmamux.yaml b/Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml index 3e0b82d277ca..73a06651ec94 100644 --- a/Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml +++ b/Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml @@ -28,6 +28,11 @@ properties: resets: maxItems: 1 + 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/i2c/st,stm32-i2c.yaml b/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml index bf396e9466aa..126576200e1f 100644 --- a/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml @@ -99,6 +99,11 @@ properties: wakeup-source: true + 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/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 required: diff --git a/Documentation/devicetree/bindings/media/st,stm32-cec.yaml b/Documentation/devicetree/bindings/media/st,stm32-cec.yaml index 7f545a587a39..719f4f38afcf 100644 --- a/Documentation/devicetree/bindings/media/st,stm32-cec.yaml +++ b/Documentation/devicetree/bindings/media/st,stm32-cec.yaml @@ -29,6 +29,11 @@ properties: - const: cec - const: hdmi-cec + 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/media/st,stm32-dcmi.yaml b/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml index 6b3e413cedb2..49001646663b 100644 --- a/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml +++ b/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml @@ -36,6 +36,11 @@ properties: resets: maxItems: 1 + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + port: $ref: /schemas/graph.yaml#/$defs/port-base unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml b/Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml index e76ba767dfd2..565e7d2fe164 100644 --- a/Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml @@ -45,6 +45,11 @@ properties: Reflects the memory layout with four integer values per bank. Format: <bank-number> 0 <address of the bank> <size> + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + patternProperties: "^.*@[0-4],[a-f0-9]+$": type: object diff --git a/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml b/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml index 27329c5dc38e..9649c672c9a5 100644 --- a/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml +++ b/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml @@ -44,6 +44,11 @@ properties: wakeup-source: true + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + pwm: type: object additionalProperties: false diff --git a/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml index f84e09a5743b..897e805fde49 100644 --- a/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml +++ b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml @@ -67,6 +67,12 @@ properties: "#size-cells": const: 0 + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + + pwm: type: object additionalProperties: false diff --git a/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml b/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml index 1c96da04f0e5..43c546d1a0cd 100644 --- a/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml +++ b/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml @@ -78,6 +78,11 @@ properties: - const: rx - const: tx + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + power-domains: true resets: diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml index 5c93167b3b41..d39b2efd186a 100644 --- a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml @@ -93,6 +93,11 @@ properties: select RCC clock instead of ETH_REF_CLK. type: boolean + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + required: - compatible - clocks diff --git a/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml b/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml index 5b4c915cc9e5..9bd81cde2fa9 100644 --- a/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml +++ b/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml @@ -55,6 +55,11 @@ properties: description: number of clock cells for ck_usbo_48m consumer const: 0 + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + #Required child nodes: patternProperties: diff --git a/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.yaml b/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.yaml index c1bf1f90490a..77ac6409ee60 100644 --- a/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.yaml +++ b/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.yaml @@ -30,6 +30,11 @@ properties: vdda-supply: description: phandle to the vdda input analog voltage. + 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/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml index 187b172d0cca..9f75537e11d0 100644 --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml @@ -30,6 +30,11 @@ properties: type: boolean description: If set enable the clock detection management + 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/serial/st,stm32-uart.yaml b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml index 85876c668f6d..f528f284e448 100644 --- a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml +++ b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml @@ -77,6 +77,11 @@ properties: enum: [1, 2, 4, 8, 12, 14, 16] default: 8 + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + allOf: - $ref: rs485.yaml# - $ref: serial.yaml# diff --git a/Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml b/Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml index a040d4d31412..aee8b09ec264 100644 --- a/Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml +++ b/Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml @@ -61,6 +61,11 @@ properties: description: Configure the I2S device as MCLK clock provider. const: 0 + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + required: - compatible - "#sound-dai-cells" diff --git a/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml b/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml index 56d206f97a96..f16fd41eed02 100644 --- a/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml +++ b/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml @@ -48,6 +48,11 @@ properties: clock-names: maxItems: 3 + 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/sound/st,stm32-spdifrx.yaml b/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.yaml index bc48151b9adb..8b1da025565c 100644 --- a/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.yaml +++ b/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.yaml @@ -50,6 +50,11 @@ properties: resets: maxItems: 1 + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + required: - compatible - "#sound-dai-cells" diff --git a/Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml b/Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml index 1eb17f7a4d86..ef75e9aed120 100644 --- a/Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml +++ b/Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml @@ -46,6 +46,11 @@ properties: - const: tx - const: rx + 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/spi/st,stm32-spi.yaml b/Documentation/devicetree/bindings/spi/st,stm32-spi.yaml index 1cda15f91cc3..6bda605b2ecb 100644 --- a/Documentation/devicetree/bindings/spi/st,stm32-spi.yaml +++ b/Documentation/devicetree/bindings/spi/st,stm32-spi.yaml @@ -59,6 +59,11 @@ properties: - const: rx - const: tx + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + patternProperties: "^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-f]+$": type: object diff --git a/Documentation/devicetree/bindings/usb/dwc2.yaml b/Documentation/devicetree/bindings/usb/dwc2.yaml index 371ba93f3ce5..f5092a2846b4 100644 --- a/Documentation/devicetree/bindings/usb/dwc2.yaml +++ b/Documentation/devicetree/bindings/usb/dwc2.yaml @@ -168,6 +168,11 @@ properties: tpl-support: true + feature-domains: + $ref: /schemas/feature-controllers/feature-domain-controller.yaml#/properties/feature-domains + minItems: 1 + maxItems: 3 + dependencies: port: [ usb-role-switch ] role-switch-default-mode: [ usb-role-switch ]
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> --- Patch not present in V1 and V2. Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml | 5 +++++ Documentation/devicetree/bindings/dma/st,stm32-dma.yaml | 5 +++++ Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml | 5 +++++ Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml | 5 +++++ Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml | 5 +++++ .../devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml | 5 +++++ Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml | 5 +++++ Documentation/devicetree/bindings/media/st,stm32-cec.yaml | 5 +++++ Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml | 5 +++++ .../bindings/memory-controllers/st,stm32-fmc2-ebi.yaml | 5 +++++ Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml | 5 +++++ Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml | 6 ++++++ Documentation/devicetree/bindings/mmc/arm,pl18x.yaml | 5 +++++ Documentation/devicetree/bindings/net/stm32-dwmac.yaml | 5 +++++ .../devicetree/bindings/phy/phy-stm32-usbphyc.yaml | 5 +++++ .../devicetree/bindings/regulator/st,stm32-vrefbuf.yaml | 5 +++++ Documentation/devicetree/bindings/rng/st,stm32-rng.yaml | 5 +++++ Documentation/devicetree/bindings/serial/st,stm32-uart.yaml | 5 +++++ Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml | 5 +++++ Documentation/devicetree/bindings/sound/st,stm32-sai.yaml | 5 +++++ .../devicetree/bindings/sound/st,stm32-spdifrx.yaml | 5 +++++ Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml | 5 +++++ Documentation/devicetree/bindings/spi/st,stm32-spi.yaml | 5 +++++ Documentation/devicetree/bindings/usb/dwc2.yaml | 5 +++++ 24 files changed, 121 insertions(+)