linux/drivers/clk/imx/clk.c

// SPDX-License-Identifier: GPL-2.0
#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();

/*
 * This fixups the register CCM_CSCMR1 write value.
 * The write/read/divider values of the aclk_podf field
 * of that register have the relationship described by
 * the following table:
 *
 * write value       read value        divider
 * 3b'000            3b'110            7
 * 3b'001            3b'111            8
 * 3b'010            3b'100            5
 * 3b'011            3b'101            6
 * 3b'100            3b'010            3
 * 3b'101            3b'011            4
 * 3b'110            3b'000            1
 * 3b'111            3b'001            2(default)
 *
 * That's why we do the xor operation below.
 */
#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();