GNU Linux-libre 4.14.251-gnu1
[releases.git] / include / linux / platform_data / x86 / clk-pmc-atom.h
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 */