ARM: imx: add audio codec clk lookup for imx53-qsb
authorShawn Guo <shawn.guo@linaro.org>
Fri, 11 May 2012 05:09:45 +0000 (13:09 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Fri, 11 May 2012 09:21:21 +0000 (17:21 +0800)
On imx53-qsb board, the clk ssi_ext.0 is used as the clock input
to audio codec sgtl5000.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
arch/arm/mach-imx/imx53-dt.c

index 4172279..8b002fc 100644 (file)
@@ -10,6 +10,9 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
+#include <linux/clk.h>
+#include <linux/clkdev.h>
+#include <linux/err.h>
 #include <linux/io.h>
 #include <linux/irq.h>
 #include <linux/irqdomain.h>
@@ -80,6 +83,19 @@ static const struct of_device_id imx53_iomuxc_of_match[] __initconst = {
        { /* sentinel */ }
 };
 
+static void __init imx53_qsb_init(void)
+{
+       struct clk *clk;
+
+       clk = clk_get_sys(NULL, "ssi_ext1");
+       if (IS_ERR(clk)) {
+               pr_err("failed to get clk ssi_ext1\n");
+               return;
+       }
+
+       clk_register_clkdev(clk, NULL, "0-000a");
+}
+
 static void __init imx53_dt_init(void)
 {
        struct device_node *node;
@@ -96,6 +112,9 @@ static void __init imx53_dt_init(void)
                of_node_put(node);
        }
 
+       if (of_machine_is_compatible("fsl,imx53-qsb"))
+               imx53_qsb_init();
+
        of_platform_populate(NULL, of_default_bus_match_table,
                             imx53_auxdata_lookup, NULL);
 }