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  */
27 struct 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  * @critical:	flag to indicate if firmware enabled pmc_plt_clks
39  *		should be marked as critial or not
40  */
41 struct pmc_clk_data {
42 	void __iomem *base;
43 	const struct pmc_clk *clks;
44 	bool critical;
45 };
46 
47 #endif /* __PLATFORM_DATA_X86_CLK_PMC_ATOM_H */
48