diff options
| author | Wengang Wu <wgw@motorola.com> | 2014-04-03 08:57:40 -0500 |
|---|---|---|
| committer | Wengang Wu <wgw@motorola.com> | 2014-04-03 08:57:40 -0500 |
| commit | a42696d50eb19c2ce732f2f85c99b2179e817a96 (patch) | |
| tree | 941232b633b7bc9735937579fcb9dc2c0d4c54f5 /arch/arm/mach-omap2/board-minnow.c | |
| parent | 9a57e01117105007fbf5aec87c7a76ec10aaa917 (diff) | |
| download | olio-linux-3.10-a42696d50eb19c2ce732f2f85c99b2179e817a96.tar.xz olio-linux-3.10-a42696d50eb19c2ce732f2f85c99b2179e817a96.zip | |
IKXCLOCK-638 Add control for external 26 MHz clock which is used for both display and usb
Change-Id: I3d03546bdbc7086552ae9890ee483ef911a44c03
Diffstat (limited to 'arch/arm/mach-omap2/board-minnow.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-minnow.c | 21 |
1 files changed, 20 insertions, 1 deletions
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 <linux/usb/phy.h> #include <linux/usb/nop-usb-xceiv.h> #include <linux/ti_wilink_st.h> +#include <linux/clk-provider.h> +#include <linux/clkdev.h> #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(); |