diff options
Diffstat (limited to 'arch/arm/mach-imx/clock-imx27.c')
-rw-r--r-- | arch/arm/mach-imx/clock-imx27.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/clock-imx27.c b/arch/arm/mach-imx/clock-imx27.c index 88fe00a146e3..b9a95ed75553 100644 --- a/arch/arm/mach-imx/clock-imx27.c +++ b/arch/arm/mach-imx/clock-imx27.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/io.h> | 22 | #include <linux/io.h> |
23 | #include <linux/module.h> | 23 | #include <linux/module.h> |
24 | #include <linux/clkdev.h> | 24 | #include <linux/clkdev.h> |
25 | #include <linux/of.h> | ||
25 | 26 | ||
26 | #include <asm/div64.h> | 27 | #include <asm/div64.h> |
27 | 28 | ||
@@ -661,7 +662,7 @@ static struct clk_lookup lookups[] = { | |||
661 | _REGISTER_CLOCK(NULL, "dma", dma_clk) | 662 | _REGISTER_CLOCK(NULL, "dma", dma_clk) |
662 | _REGISTER_CLOCK(NULL, "rtic", rtic_clk) | 663 | _REGISTER_CLOCK(NULL, "rtic", rtic_clk) |
663 | _REGISTER_CLOCK(NULL, "brom", brom_clk) | 664 | _REGISTER_CLOCK(NULL, "brom", brom_clk) |
664 | _REGISTER_CLOCK(NULL, "emma", emma_clk) | 665 | _REGISTER_CLOCK("m2m-emmaprp.0", NULL, emma_clk) |
665 | _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk) | 666 | _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk) |
666 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) | 667 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) |
667 | _REGISTER_CLOCK(NULL, "emi", emi_clk) | 668 | _REGISTER_CLOCK(NULL, "emi", emi_clk) |
@@ -764,3 +765,20 @@ int __init mx27_clocks_init(unsigned long fref) | |||
764 | return 0; | 765 | return 0; |
765 | } | 766 | } |
766 | 767 | ||
768 | #ifdef CONFIG_OF | ||
769 | int __init mx27_clocks_init_dt(void) | ||
770 | { | ||
771 | struct device_node *np; | ||
772 | u32 fref = 26000000; /* default */ | ||
773 | |||
774 | for_each_compatible_node(np, NULL, "fixed-clock") { | ||
775 | if (!of_device_is_compatible(np, "fsl,imx-osc26m")) | ||
776 | continue; | ||
777 | |||
778 | if (!of_property_read_u32(np, "clock-frequency", &fref)) | ||
779 | break; | ||
780 | } | ||
781 | |||
782 | return mx27_clocks_init(fref); | ||
783 | } | ||
784 | #endif | ||