Thread (5 messages) 5 messages, 5 authors, 2016-11-22

Re: [PATCH v3 1/3] dt-bindings: add documentation for rk1108 cru

From: Heiko Stuebner <hidden>
Date: 2016-11-18 14:10:02
Also in: linux-clk, linux-rockchip

Am Freitag, 18. November 2016, 08:03:13 CET schrieb Rob Herring:
On Wed, Nov 16, 2016 at 04:49:21PM +0800, Shawn Lin wrote:
quoted
This adds the dt-binding documentation for the clock and reset unit
found on Rockchip rk1108 SoCs.

Signed-off-by: Shawn Lin <redacted>

---

Changes in v3:
- fix mismatch of external clk input name
- add hdmiphy and usbphy clk input

Changes in v2: None

 .../bindings/clock/rockchip,rk1108-cru.txt         | 59
 ++++++++++++++++++++++ 1 file changed, 59 insertions(+)
 create mode 100644
 Documentation/devicetree/bindings/clock/rockchip,rk1108-cru.txt> 
diff --git
a/Documentation/devicetree/bindings/clock/rockchip,rk1108-cru.txt
b/Documentation/devicetree/bindings/clock/rockchip,rk1108-cru.txt new
file mode 100644
index 0000000..4da1261
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/rockchip,rk1108-cru.txt
@@ -0,0 +1,59 @@
+* Rockchip RK1108 Clock and Reset Unit
+
+The RK1108 clock controller generates and supplies clock to various
+controllers within the SoC and also implements a reset controller for SoC
+peripherals.
+
+Required Properties:
+
+- compatible: should be "rockchip,rk1108-cru"
+- reg: physical base address of the controller and length of memory
mapped
+  region.
+- #clock-cells: should be 1.
+- #reset-cells: should be 1.
+
+Optional Properties:
+
+- rockchip,grf: phandle to the syscon managing the "general register
files" +  If missing pll rates are not changeable, due to the missing pll
lock status. +
+Each clock is assigned an identifier and client nodes can use this
identifier +to specify the clock which they consume. All available clocks
are defined as +preprocessor macros in the dt-bindings/clock/rk1108-cru.h
headers and can be +used in device tree sources. Similar macros exist for
the reset sources in +these files.
+
+External clocks:
+
+There are several clocks that are generated outside the SoC. It is
expected +that they are defined using standard clock bindings with
following
+clock-output-names:
This stilll doesn't seem right. These are inputs to the CRU or
completely separate? If inputs, then you need a 'clocks' property. If
completely separate, then they should be listed in their respective IP
block binding (e.g. the USB phy).
The problem is still the same as always. These clocks may or may not be 
present, a lot of them come from IP blocks that probe later than the clock 
controller and create a circular dependency.

I.e. the usbphy IP block gets supplied with a clock from the CRU that it needs 
to function at all, but also contains a PLL on that clock that gets fed back 
into the CRU to supply other clocks. Same for the other external clocks.

So we cannot "get" (and verify) these clocks when the core clock init runs
Therefore we're relying on the ability of the clock-framework to complete the 
clock-tree once these clocks become available (or drop them again, if they 
disappear again)


Heiko
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help