]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: OMAP2: PRM: add support for OMAP2 specific clock providers
authorTero Kristo <t-kristo@ti.com>
Tue, 25 Feb 2014 07:21:39 +0000 (09:21 +0200)
committerTero Kristo <t-kristo@ti.com>
Wed, 2 Jul 2014 12:06:35 +0000 (15:06 +0300)
This patch adds support for initializing also omap2-prcm and omap2-scrm
through DT.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Documentation/devicetree/bindings/arm/omap/prcm.txt [new file with mode: 0644]
arch/arm/mach-omap2/prm_common.c

diff --git a/Documentation/devicetree/bindings/arm/omap/prcm.txt b/Documentation/devicetree/bindings/arm/omap/prcm.txt
new file mode 100644 (file)
index 0000000..79074da
--- /dev/null
@@ -0,0 +1,65 @@
+OMAP PRCM bindings
+
+Power Reset and Clock Manager lists the device clocks and clockdomains under
+a DT hierarchy. Each TI SoC can have multiple PRCM entities listed for it,
+each describing one module and the clock hierarchy under it. see [1] for
+documentation about the individual clock/clockdomain nodes.
+
+[1] Documentation/devicetree/bindings/clock/ti/*
+
+Required properties:
+- compatible:  Must be one of:
+               "ti,am3-prcm"
+               "ti,am3-scrm"
+               "ti,am4-prcm"
+               "ti,am4-scrm"
+               "ti,omap2-prcm"
+               "ti,omap2-scrm"
+               "ti,omap3-prm"
+               "ti,omap3-cm"
+               "ti,omap3-scrm"
+               "ti,omap4-cm1"
+               "ti,omap4-prm"
+               "ti,omap4-cm2"
+               "ti,omap4-scrm"
+               "ti,omap5-prm"
+               "ti,omap5-cm-core-aon"
+               "ti,omap5-scrm"
+               "ti,omap5-cm-core"
+               "ti,dra7-prm"
+               "ti,dra7-cm-core-aon"
+               "ti,dra7-cm-core"
+- reg:         Contains PRCM module register address range
+               (base address and length)
+- clocks:      clocks for this module
+- clockdomains:        clockdomains for this module
+
+Example:
+
+cm: cm@48004000 {
+       compatible = "ti,omap3-cm";
+       reg = <0x48004000 0x4000>;
+
+       cm_clocks: clocks {
+               #address-cells = <1>;
+               #size-cells = <0>;
+       };
+
+       cm_clockdomains: clockdomains {
+       };
+}
+
+&cm_clocks {
+       omap2_32k_fck: omap_32k_fck {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <32768>;
+       };
+};
+
+&cm_clockdomains {
+       core_l3_clkdm: core_l3_clkdm {
+               compatible = "ti,clockdomain";
+               clocks = <&sdrc_ick>;
+       };
+};
index 25e8b8232115cab152b5f926f3ca044922b4b9d0..76ca320f007c2158cae69eb494b6215f98acbcbd 100644 (file)
@@ -472,6 +472,8 @@ static struct of_device_id omap_prcm_dt_match_table[] = {
        { .compatible = "ti,am3-scrm" },
        { .compatible = "ti,am4-prcm" },
        { .compatible = "ti,am4-scrm" },
+       { .compatible = "ti,omap2-prcm" },
+       { .compatible = "ti,omap2-scrm" },
        { .compatible = "ti,omap3-prm" },
        { .compatible = "ti,omap3-cm" },
        { .compatible = "ti,omap3-scrm" },