#include <linux/bits.h>
#include <linux/clk.h>
#include <linux/clk-provider.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include "clk.h"
#define CCM_CCDR …
#define CCDR_MMDC_CH0_MASK …
#define CCDR_MMDC_CH1_MASK …
DEFINE_SPINLOCK(…);
EXPORT_SYMBOL_GPL(…);
bool mcore_booted;
EXPORT_SYMBOL_GPL(…);
void imx_unregister_hw_clocks(struct clk_hw *hws[], unsigned int count)
{ … }
EXPORT_SYMBOL_GPL(…);
void imx_mmdc_mask_handshake(void __iomem *ccm_base,
unsigned int chn)
{ … }
void imx_check_clocks(struct clk *clks[], unsigned int count)
{ … }
void imx_check_clk_hws(struct clk_hw *clks[], unsigned int count)
{ … }
EXPORT_SYMBOL_GPL(…);
static struct clk *imx_obtain_fixed_clock_from_dt(const char *name)
{ … }
struct clk *imx_obtain_fixed_clock(
const char *name, unsigned long rate)
{ … }
struct clk_hw *imx_obtain_fixed_clock_hw(
const char *name, unsigned long rate)
{ … }
struct clk_hw *imx_obtain_fixed_of_clock(struct device_node *np,
const char *name, unsigned long rate)
{ … }
struct clk_hw *imx_get_clk_hw_by_name(struct device_node *np, const char *name)
{ … }
EXPORT_SYMBOL_GPL(…);
#define CSCMR1_FIXUP …
void imx_cscmr1_fixup(u32 *val)
{ … }
#ifndef MODULE
static bool imx_keep_uart_clocks;
static int imx_enabled_uart_clocks;
static struct clk **imx_uart_clocks;
static int __init imx_keep_uart_clocks_param(char *str)
{ … }
__setup_param(…);
__setup_param(…);
void imx_register_uart_clocks(void)
{ … }
static int __init imx_clk_disable_uart(void)
{ … }
late_initcall_sync(imx_clk_disable_uart);
#endif
MODULE_LICENSE(…) …;