Hi Conor, On 25.12.24 15:20, Conor Dooley wrote: > On Thu, Dec 19, 2024 at 09:14:10PM +0100, Ahmad Fatoum wrote: >> On 19.12.24 20:49, Conor Dooley wrote: >>> On Thu, Dec 19, 2024 at 08:27:32AM +0100, Ahmad Fatoum wrote: >> Theoretically, we could infer mode at runtime from VDD_SOC voltage, >> but we need to set up clocks to read out the PMIC and I want to >> apply the constraints as early as possible as I don't want the SoC >> to run outside of spec even for a short while. > > Apologies for the delay responding to you, doing it today cos I feel > guilty! I am fully aware that I needn't expect prompt review feedback so late in December. Thanks a lot for taking the time still. > I think what you've explained here is fine, but could you add a > bit more of that info to the commit message, explaining why one cannot > be default? With that, > Acked-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> Thanks. I will await further review feedback and adjust this commit's message for v2 as requested. Wishing you nice holidays, Ahmad > > Cheers, > Conor. > >> >> Thanks, >> Ahmad >> >>> >>>> >>>> While the overdrive mode allows for higher frequencies for many IPs, >>>> the nominal mode needs a lower SoC voltage, thereby reducing >>>> heat generation and power usage. >>>> >>>> In any case, software should respect the maximum clock rate limits >>>> described in the datasheet for each of the two operating modes. >>>> >>>> To allow device tree consumers to enforce these limits, document two new >>>> optional properties that can be used to sanity check the clock tree. >>>> >>>> Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> >>>> --- >>>> Documentation/devicetree/bindings/clock/imx8m-clock.yaml | 14 ++++++++++++++ >>>> 1 file changed, 14 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml >>>> index c643d4a81478..a6ae5257ef53 100644 >>>> --- a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml >>>> +++ b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml >>>> @@ -43,6 +43,14 @@ properties: >>>> ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8m-clock.h >>>> for the full list of i.MX8M clock IDs. >>>> >>>> + fsl,nominal-mode: >>>> + description: Set if SoC is operated in nominal mode >>>> + $ref: /schemas/types.yaml#/definitions/flag >>>> + >>>> + fsl,overdrive-mode: >>>> + description: Set if SoC is operated in overdrive mode >>>> + $ref: /schemas/types.yaml#/definitions/flag >>>> + >>>> required: >>>> - compatible >>>> - reg >>>> @@ -95,6 +103,12 @@ allOf: >>>> - const: clk_ext2 >>>> - const: clk_ext3 >>>> - const: clk_ext4 >>>> + - if: >>>> + required: >>>> + - fsl,overdrive-mode >>>> + then: >>>> + properties: >>>> + fsl,nominal-mode: false >>>> >>>> additionalProperties: false >>>> >>>> >>>> -- >>>> 2.39.5 >>>> >> >> >> -- >> Pengutronix e.K. | | >> Steuerwalder Str. 21 | http://www.pengutronix.de/ | >> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | >> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |