diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-05-11 13:09:45 +0800 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-05-11 17:21:21 +0800 |
commit | 394025ef422bc4a6c4e5040abb41260749e662be (patch) | |
tree | 7545c23d41a0471fbbd25dd3ffabcf9e9c6cbfa5 /arch/arm/mach-imx | |
parent | bf22e530d5a9a1c869c02f5ee3f92f334f145802 (diff) |
ARM: imx: add audio codec clk lookup for imx53-qsb
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>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/imx53-dt.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx53-dt.c b/arch/arm/mach-imx/imx53-dt.c index 4172279b3900..8b002fcd10e7 100644 --- a/arch/arm/mach-imx/imx53-dt.c +++ b/arch/arm/mach-imx/imx53-dt.c @@ -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); } |