From a42696d50eb19c2ce732f2f85c99b2179e817a96 Mon Sep 17 00:00:00 2001 From: Wengang Wu Date: Thu, 3 Apr 2014 08:57:40 -0500 Subject: IKXCLOCK-638 Add control for external 26 MHz clock which is used for both display and usb Change-Id: I3d03546bdbc7086552ae9890ee483ef911a44c03 --- arch/arm/mach-omap2/board-minnow.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'arch/arm/mach-omap2/board-minnow.c') diff --git a/arch/arm/mach-omap2/board-minnow.c b/arch/arm/mach-omap2/board-minnow.c index a41cec2a705..82748e2f6ce 100644 --- a/arch/arm/mach-omap2/board-minnow.c +++ b/arch/arm/mach-omap2/board-minnow.c @@ -18,6 +18,8 @@ #include #include #include +#include +#include #include "mux.h" #include "common.h" #include "dss-common.h" @@ -77,10 +79,27 @@ static inline void __init minnow_init_btwilink(void) platform_device_register(&hci_tty_device); } +static void __init minnow_init_gpio_clock(void) +{ + struct of_phandle_args clkspec; + struct clk *clk; + struct clk_lookup *cl; + clkspec.np = of_find_compatible_node(NULL, NULL, "gpio-clock"); + if (clkspec.np) { + of_gpio_clk_setup(clkspec.np); + clk = of_clk_get_from_provider(&clkspec); + if (!IS_ERR(clk)) { + cl = clkdev_alloc(clk, clkspec.np->name, NULL); + if (cl) + clkdev_add(cl); + } + } +} + static void __init minnow_init(void) { of_platform_populate(NULL, omap_dt_match_table, NULL, NULL); - + minnow_init_gpio_clock(); omap_sdrc_init(JEDEC_JESD209A_sdrc_params, JEDEC_JESD209A_sdrc_params); omap3_enable_usim_buffer(); /* Needed for GPIOs in USIM block */ omap_minnow_display_init(); -- cgit v1.2.3-70-g09d2