linux/drivers/clk/ingenic/jz4755-cgu.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Ingenic JZ4755 SoC CGU driver
 * Heavily based on JZ4725b CGU driver
 *
 * Copyright (C) 2022 Siarhei Volkau
 * Author: Siarhei Volkau <[email protected]>
 */

#include <linux/clk-provider.h>
#include <linux/delay.h>
#include <linux/of.h>

#include <dt-bindings/clock/ingenic,jz4755-cgu.h>

#include "cgu.h"
#include "pm.h"

/* CGU register offsets */
#define CGU_REG_CPCCR
#define CGU_REG_CPPCR
#define CGU_REG_CLKGR
#define CGU_REG_OPCR
#define CGU_REG_I2SCDR
#define CGU_REG_LPCDR
#define CGU_REG_MSCCDR
#define CGU_REG_SSICDR
#define CGU_REG_CIMCDR

static struct ingenic_cgu *cgu;

static const s8 pll_od_encoding[4] =;

static const u8 jz4755_cgu_cpccr_div_table[] =;

static const u8 jz4755_cgu_pll_half_div_table[] =;

static const struct ingenic_cgu_clk_info jz4755_cgu_clocks[] =;

static void __init jz4755_cgu_init(struct device_node *np)
{}
/*
 * CGU has some children devices, this is useful for probing children devices
 * in the case where the device node is compatible with "simple-mfd".
 */
CLK_OF_DECLARE_DRIVER(jz4755_cgu, "ingenic,jz4755-cgu", jz4755_cgu_init);