[PATCH v3 2/6] dt-bindings: treewide: add feature-domains description in binding files

Gatien Chevallier
2023-01-27T16:42:17Z

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(+)

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 <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 ]
--
2.35.3