aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorIrina Tirdea <irina.tirdea@intel.com>2017-01-23 13:07:42 -0500
committerStephen Boyd <sboyd@codeaurora.org>2017-01-26 19:20:46 -0500
commit1141d9d08184565b71a943a50ffe712b2dfc697f (patch)
tree1544faa596b625a6bd30383324246a1f14aeb660 /include/linux/platform_data
parentf35b6542c3ac3f28056d298348a81f7d56d3a041 (diff)
clk: x86: Add Atom PMC platform clocks
The BayTrail and CherryTrail platforms provide platform clocks through their Power Management Controller (PMC). The SoC supports up to 6 clocks (PMC_PLT_CLK[0..5]) with a frequency of either 19.2 MHz (PLL) or 25 MHz (XTAL) for BayTrail and a frequency of 19.2 MHz (XTAL) for CherryTrail. These clocks are available for general system use, where appropriate, and each have Control & Frequency register fields associated with them. Port from legacy by Pierre Bossart, integration in clock framework by Irina Tirdea Signed-off-by: Irina Tirdea <irina.tirdea@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/x86/clk-pmc-atom.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/linux/platform_data/x86/clk-pmc-atom.h b/include/linux/platform_data/x86/clk-pmc-atom.h
new file mode 100644
index 000000000000..3ab892208343
--- /dev/null
+++ b/include/linux/platform_data/x86/clk-pmc-atom.h
@@ -0,0 +1,44 @@
1/*
2 * Intel Atom platform clocks for BayTrail and CherryTrail SoC.
3 *
4 * Copyright (C) 2016, Intel Corporation
5 * Author: Irina Tirdea <irina.tirdea@intel.com>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms and conditions of the GNU General Public License,
9 * version 2, as published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * more details.
15 */
16
17#ifndef __PLATFORM_DATA_X86_CLK_PMC_ATOM_H
18#define __PLATFORM_DATA_X86_CLK_PMC_ATOM_H
19
20/**
21 * struct pmc_clk - PMC platform clock configuration
22 *
23 * @name: identified, typically pmc_plt_clk_<x>, x=[0..5]
24 * @freq: in Hz, 19.2MHz and 25MHz (Baytrail only) supported
25 * @parent_name: one of 'xtal' or 'osc'
26 */
27struct pmc_clk {
28 const char *name;
29 unsigned long freq;
30 const char *parent_name;
31};
32
33/**
34 * struct pmc_clk_data - common PMC clock configuration
35 *
36 * @base: PMC clock register base offset
37 * @clks: pointer to set of registered clocks, typically 0..5
38 */
39struct pmc_clk_data {
40 void __iomem *base;
41 const struct pmc_clk *clks;
42};
43
44#endif /* __PLATFORM_DATA_X86_CLK_PMC_ATOM_H */