clk: add bindings for the Ux500 clocks
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 30 Jul 2015 13:20:00 +0000 (15:20 +0200)
committerMichael Turquette <mturquette@baylibre.com>
Mon, 24 Aug 2015 23:49:15 +0000 (16:49 -0700)
These Ux500 clocks have been around for years and were never
properly documented. Add the proper binding documentation.

Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Michael Turquette <mturquette@baylibre.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Documentation/devicetree/bindings/clock/ux500.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/clock/ux500.txt b/Documentation/devicetree/bindings/clock/ux500.txt
new file mode 100644 (file)
index 0000000..e52bd4b
--- /dev/null
@@ -0,0 +1,64 @@
+Clock bindings for ST-Ericsson Ux500 clocks
+
+Required properties :
+- compatible : shall contain only one of the following:
+  "stericsson,u8500-clks"
+  "stericsson,u8540-clks"
+  "stericsson,u9540-clks"
+- reg : shall contain base register location and length for
+  CLKRST1, 2, 3, 5, and 6 in an array. Note the absence of
+  CLKRST4, which does not exist.
+
+Required subnodes:
+- prcmu-clock: a subnode with one clock cell for PRCMU (power,
+  reset, control unit) clocks. The cell indicates which PRCMU
+  clock in the prcmu-clock node the consumer wants to use.
+- prcc-periph-clock: a subnode with two clock cells for
+  PRCC (programmable reset- and clock controller) peripheral clocks.
+  The first cell indicates which PRCC block the consumer
+  wants to use, possible values are 1, 2, 3, 5, 6. The second
+  cell indicates which clock inside the PRCC block it wants,
+  possible values are 0 thru 31.
+- prcc-kernel-clock: a subnode with two clock cells for
+  PRCC (programmable reset- and clock controller) kernel clocks
+  The first cell indicates which PRCC block the consumer
+  wants to use, possible values are 1, 2, 3, 5, 6. The second
+  cell indicates which clock inside the PRCC block it wants,
+  possible values are 0 thru 31.
+- rtc32k-clock: a subnode with zero clock cells for the 32kHz
+  RTC clock.
+- smp-twd-clock: a subnode for the ARM SMP Timer Watchdog cluster
+  with zero clock cells.
+
+Example:
+
+clocks {
+       compatible = "stericsson,u8500-clks";
+       /*
+        * Registers for the CLKRST block on peripheral
+        * groups 1, 2, 3, 5, 6,
+        */
+       reg = <0x8012f000 0x1000>, <0x8011f000 0x1000>,
+           <0x8000f000 0x1000>, <0xa03ff000 0x1000>,
+           <0xa03cf000 0x1000>;
+
+       prcmu_clk: prcmu-clock {
+               #clock-cells = <1>;
+       };
+
+       prcc_pclk: prcc-periph-clock {
+               #clock-cells = <2>;
+       };
+
+       prcc_kclk: prcc-kernel-clock {
+               #clock-cells = <2>;
+       };
+
+       rtc_clk: rtc32k-clock {
+               #clock-cells = <0>;
+       };
+
+       smp_twd_clk: smp-twd-clock {
+               #clock-cells = <0>;
+       };
+};