linux_dsm_epyc7002/include/linux/platform_data/x86/clk-pmc-atom.h
Irina Tirdea 1141d9d081 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>
2017-01-26 16:20:46 -08:00

45 lines
1.3 KiB
C

/*
* 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 */