All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2] clk: introduce u-boot,ignore-clk-defaults
@ 2021-10-29  1:28 Peng Fan (OSS)
  2021-10-29  0:57 ` Sean Anderson
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Peng Fan (OSS) @ 2021-10-29  1:28 UTC (permalink / raw)
  To: lukma, sjg, trini, seanga2; +Cc: u-boot, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Current code has a force clk_set_defaults in multiple stages,
U-Boot reuse the same device tree and Linux Kernel device tree,
but we not register all the clks as Linux Kernel, so clk_set_defaults
will fail and cause the clk provider registeration fail.

So introduce a new property to ignore the default settings which could
be used by any node that wanna ignore default settings.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---

V2:
 Add R-b tag
 Tom, Simon
   After a thought, I think still put it as a u-boot thing. assigned-clock-x is 
   actually Linux specific, however I could not add the new property to Linux,
   because we are supporting SystemReady-IR, we need the assigned-clock-x property
   in linux working and ignore it in U-Boot.

 doc/device-tree-bindings/device.txt | 3 +++
 drivers/clk/clk-uclass.c            | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/doc/device-tree-bindings/device.txt b/doc/device-tree-bindings/device.txt
index 73ce2a3b5b..fe34ced268 100644
--- a/doc/device-tree-bindings/device.txt
+++ b/doc/device-tree-bindings/device.txt
@@ -28,6 +28,9 @@ the acpi,compatible property.
     Linux will only load the driver if the device can be detected (e.g. on I2C
     bus). Note that this is an out-of-tree Linux feature.
 
+Common device bindings that could be shared listed below:
+ - u-boot,ignore-clk-defaults : ignore the assigned-clock-parents
+   and assigned-clock-rates for a device that has the property.
 
 Example
 -------
diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
index 493018b33e..6bf3179e7b 100644
--- a/drivers/clk/clk-uclass.c
+++ b/drivers/clk/clk-uclass.c
@@ -376,6 +376,9 @@ int clk_set_defaults(struct udevice *dev, enum clk_defaults_stage stage)
 	if (!dev_has_ofnode(dev))
 		return 0;
 
+	if (ofnode_get_property(dev_ofnode(dev), "u-boot,ignore-clk-defaults", NULL))
+		return 0;
+
 	/*
 	 * To avoid setting defaults twice, don't set them before relocation.
 	 * However, still set them for SPL. And still set them if explicitly
-- 
2.30.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-11-26 18:54 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-29  1:28 [PATCH V2] clk: introduce u-boot,ignore-clk-defaults Peng Fan (OSS)
2021-10-29  0:57 ` Sean Anderson
2021-10-29  2:10 ` Tom Rini
2021-10-29  2:43   ` Sean Anderson
2021-10-29  2:47     ` Tom Rini
2021-11-20 12:10 ` Peng Fan (OSS)
2021-11-20 12:57   ` Tom Rini
2021-11-20 15:06     ` Sean Anderson
2021-11-20 15:13       ` Tom Rini
2021-11-20 15:21       ` Mark Kettenis
2021-11-20 15:25         ` Tom Rini
2021-11-22  3:34       ` Peng Fan (OSS)
2021-11-22  3:33     ` Peng Fan (OSS)
2021-11-22  3:51       ` Simon Glass
2021-11-22 13:22       ` Tom Rini
2021-11-23  3:02         ` Peng Fan (OSS)
2021-11-23 15:38           ` Tom Rini
2021-11-24  2:16           ` Sean Anderson
2021-11-24 14:10             ` Tom Rini
2021-11-26 18:17               ` Sean Anderson
2021-11-26 18:54                 ` Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.