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>
This commit is contained in:

committed by
Stephen Boyd

parent
f35b6542c3
commit
1141d9d081
44
include/linux/platform_data/x86/clk-pmc-atom.h
Normal file
44
include/linux/platform_data/x86/clk-pmc-atom.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Intel Atom platform clocks for BayTrail and CherryTrail SoC.
|
||||
*
|
||||
* Copyright (C) 2016, Intel Corporation
|
||||
* Author: Irina Tirdea <irina.tirdea@intel.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef __PLATFORM_DATA_X86_CLK_PMC_ATOM_H
|
||||
#define __PLATFORM_DATA_X86_CLK_PMC_ATOM_H
|
||||
|
||||
/**
|
||||
* struct pmc_clk - PMC platform clock configuration
|
||||
*
|
||||
* @name: identified, typically pmc_plt_clk_<x>, x=[0..5]
|
||||
* @freq: in Hz, 19.2MHz and 25MHz (Baytrail only) supported
|
||||
* @parent_name: one of 'xtal' or 'osc'
|
||||
*/
|
||||
struct pmc_clk {
|
||||
const char *name;
|
||||
unsigned long freq;
|
||||
const char *parent_name;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct pmc_clk_data - common PMC clock configuration
|
||||
*
|
||||
* @base: PMC clock register base offset
|
||||
* @clks: pointer to set of registered clocks, typically 0..5
|
||||
*/
|
||||
struct pmc_clk_data {
|
||||
void __iomem *base;
|
||||
const struct pmc_clk *clks;
|
||||
};
|
||||
|
||||
#endif /* __PLATFORM_DATA_X86_CLK_PMC_ATOM_H */
|
Reference in New Issue
Block a user