diff mbox series

[v7,1/3] dt-bindings: media: stm32-dcmi: Add DCMI min frequency property

Message ID 20200701130129.30961-2-benjamin.gaignard@st.com
State Changes Requested
Headers show
Series DCMI set minimum cpufreq requirement | expand

Checks

Context Check Description
robh/dt-meta-schema success
robh/checkpatch success

Commit Message

Benjamin GAIGNARD July 1, 2020, 1:01 p.m. UTC
Document st,stm32-dcmi-min-frequency property which is used to
request CPUs minimum frequency when streaming frames.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
---
 Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Rob Herring July 9, 2020, 8:37 p.m. UTC | #1
On Wed, Jul 01, 2020 at 03:01:27PM +0200, Benjamin Gaignard wrote:
> Document st,stm32-dcmi-min-frequency property which is used to
> request CPUs minimum frequency when streaming frames.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> ---
>  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

I think this is questionable to be in DT and if it is, it's something 
that's hardly specific to ST or this block. IIRC, we already have a way 
to specify minimum OPPs.

Rob
Benjamin GAIGNARD July 10, 2020, 7:33 a.m. UTC | #2
On 7/9/20 10:37 PM, Rob Herring wrote:
> On Wed, Jul 01, 2020 at 03:01:27PM +0200, Benjamin Gaignard wrote:
>> Document st,stm32-dcmi-min-frequency property which is used to
>> request CPUs minimum frequency when streaming frames.
>>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
>> ---
>>   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
> I think this is questionable to be in DT and if it is, it's something
> that's hardly specific to ST or this block. IIRC, we already have a way
> to specify minimum OPPs.
This binding is only needed on some STM32 SoC when DVFS is activated
with low frequency setting in opp. The value also depends of the targeted
video format and framerate.

It is not an opp because it doesn't define a voltage-current-frequency 
combination
but only set a minimum target for the CPUs frequency to guaranty a good 
reaction
time when handling IRQs for the sensor.

Benjamin
>
> Rob
Rob Herring July 10, 2020, 8:01 p.m. UTC | #3
On Fri, Jul 10, 2020 at 1:33 AM Benjamin GAIGNARD
<benjamin.gaignard@st.com> wrote:
>
>
>
> On 7/9/20 10:37 PM, Rob Herring wrote:
> > On Wed, Jul 01, 2020 at 03:01:27PM +0200, Benjamin Gaignard wrote:
> >> Document st,stm32-dcmi-min-frequency property which is used to
> >> request CPUs minimum frequency when streaming frames.
> >>
> >> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> >> ---
> >>   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
> > I think this is questionable to be in DT and if it is, it's something
> > that's hardly specific to ST or this block. IIRC, we already have a way
> > to specify minimum OPPs.
> This binding is only needed on some STM32 SoC when DVFS is activated
> with low frequency setting in opp. The value also depends of the targeted
> video format and framerate.

As those 2 things are not in the DT, then neither should this value be.

> It is not an opp because it doesn't define a voltage-current-frequency
> combination
> but only set a minimum target for the CPUs frequency to guaranty a good
> reaction
> time when handling IRQs for the sensor.

OPPs can be frequency only. This is pretty clearly defining the CPU
must Operate at a certain minimum Performance Point.

Rob
Benjamin GAIGNARD July 20, 2020, 9:38 a.m. UTC | #4
On 7/10/20 10:01 PM, Rob Herring wrote:
> On Fri, Jul 10, 2020 at 1:33 AM Benjamin GAIGNARD
> <benjamin.gaignard@st.com> wrote:
>>
>>
>> On 7/9/20 10:37 PM, Rob Herring wrote:
>>> On Wed, Jul 01, 2020 at 03:01:27PM +0200, Benjamin Gaignard wrote:
>>>> Document st,stm32-dcmi-min-frequency property which is used to
>>>> request CPUs minimum frequency when streaming frames.
>>>>
>>>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
>>>> ---
>>>>    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
>>> I think this is questionable to be in DT and if it is, it's something
>>> that's hardly specific to ST or this block. IIRC, we already have a way
>>> to specify minimum OPPs.
>> This binding is only needed on some STM32 SoC when DVFS is activated
>> with low frequency setting in opp. The value also depends of the targeted
>> video format and framerate.
> As those 2 things are not in the DT, then neither should this value be.
>
>> It is not an opp because it doesn't define a voltage-current-frequency
>> combination
>> but only set a minimum target for the CPUs frequency to guaranty a good
>> reaction
>> time when handling IRQs for the sensor.
> OPPs can be frequency only. This is pretty clearly defining the CPU
> must Operate at a certain minimum Performance Point.
Hi Rob,

My goal here wasn't to define an OPP for the CPU since it is the camera 
interface node
but to avoid let the CPU go to down.
I haven't found how to use OPP bindings, can you provide me hints or 
examples of how
I should do it?

Thanks,
Benjamin

>
> Rob
diff mbox series

Patch

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 {