This series allow to STM32 camera interface (DCMI) to require a minimum
frequency to the CPUs before start streaming frames from the sensor.
The minimum frequency requirement is provided in the devide-tree node.
Setting a minimum frequency for the CPUs is needed to ensure a quick handling
of the interrupts between two sensor frames and avoid dropping half of them.
version 4:
- simplify irq affinity handling by using only dcmi_irq_notifier_notify()
version 3:
- add a cpumask field to track boosted CPUs
- add irq_affinity_notify callback
- protect cpumask field with a mutex
Benjamin Gaignard (3):
dt-bindings: media: stm32-dcmi: Add DCMI min frequency property
media: stm32-dcmi: Set minimum cpufreq requirement
ARM: dts: stm32: Set DCMI frequency requirement for stm32mp15x
.../devicetree/bindings/media/st,stm32-dcmi.yaml | 8 ++
arch/arm/boot/dts/stm32mp151.dtsi | 1 +
drivers/media/platform/stm32/stm32-dcmi.c | 122 +++++++++++++++++++--
3 files changed, 123 insertions(+), 8 deletions(-)
--
2.15.0
Document st,stm32-dcmi-min-frequency property which is used to
request CPUs minimum frequency when streaming frames.
Signed-off-by: Benjamin Gaignard <[email protected]>
---
Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml b/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml
index 3fe778cb5cc3..05ca85a2411a 100644
--- a/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml
+++ b/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml
@@ -44,6 +44,13 @@ properties:
bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt.
+ st,stm32-dcmi-min-frequency:
+ description: DCMI minimum CPUs frequency requirement (in KHz).
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/uint32
+ - minimum: 0
+ - default: 0
+
required:
- compatible
- reg
@@ -71,6 +78,7 @@ examples:
clock-names = "mclk";
dmas = <&dmamux1 75 0x400 0x0d>;
dma-names = "tx";
+ st,stm32-dcmi-min-frequency = <650000>;
port {
dcmi_0: endpoint {
--
2.15.0