Thread (16 messages) 16 messages, 4 authors, 2025-01-13

Re: [PATCH v2 1/6] dt-bindings: clock: imx8m: document nominal/overdrive properties

From: Ahmad Fatoum <a.fatoum@pengutronix.de>
Date: 2025-01-06 19:55:28
Also in: imx, linux-clk, linux-devicetree, lkml

Hello Frank,

On 06.01.25 20:42, Frank Li wrote:
On Mon, Jan 06, 2025 at 08:25:38PM +0100, Ahmad Fatoum wrote:
quoted
On 06.01.25 17:41, Frank Li wrote:
quoted
On Mon, Jan 06, 2025 at 03:21:42PM +0100, Ahmad Fatoum wrote:
quoted
Allowing for absence of both properties is
needed, because there is no default suitable for all boards:

For i.MX8M Mini and Nano, the kernel SoC DTSIs has assigned-clock-rates
that are all achievable in nominal mode. For i.MX8MP, there are some
rates only validated for overdrive mode.

But even for the i.MX8M Mini/Nano boards, we don't know what rates they
may configure at runtime, so it has not been possible so far to infer from
just the device tree what the mode is.
[snip]
quoted
quoted
+  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
+
why need two flags? suppose "not set fsl,overdrive-mode" is equal to
fsl,nominal-mode
Conor had the same question on v1[1] and I have addressed this in the commit
message of v2, see above.

In short, there is unfortunately no universally applicable default.

[1]: https://lore.kernel.org/all/4e2250b3-5170-4e88-aa0a-dd796b81e78b@pengutronix.de/ (local)
But there are problem if use dts overlay because dts overlay can't support
delete property.

If one dts file use "fsl,overdrive-mode", dts overlay file can't delete
this property. "mutually exclusive optional properties" was not preferred.

mode = ["normal" | "overdrive"]
I don't see myself setting this via overlay, but if you say it's useful, we can
adjust the binding.

I am not sure what's the preference is though, should we have

  fsl,operating-mode = "normal" / "overdrive"

or 

  fsl,operating-mode = <IMX_OPMODE_NORMAL> / <IMX_OPMODE_OVERDRIVE>


Any idea? Conor?

Cheers,
Ahmad
Frank
quoted
Thanks,
Ahmad

quoted
Frank
quoted
 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 |
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help