1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * R-Car Gen3 Clock Pulse Generator Library
4 *
5 * Copyright (C) 2015-2018 Glider bvba
6 * Copyright (C) 2019 Renesas Electronics Corp.
7 *
8 * Based on clk-rcar-gen3.c
9 *
10 * Copyright (C) 2015 Renesas Electronics Corp.
11 */
12
13#ifndef __CLK_RENESAS_RCAR_CPG_LIB_H__
14#define __CLK_RENESAS_RCAR_CPG_LIB_H__
15
16extern spinlock_t cpg_lock;
17
18struct cpg_simple_notifier {
19 struct notifier_block nb;
20 void __iomem *reg;
21 u32 saved;
22};
23
24void cpg_simple_notifier_register(struct raw_notifier_head *notifiers,
25 struct cpg_simple_notifier *csn);
26
27void cpg_reg_modify(void __iomem *reg, u32 clear, u32 set);
28
29struct clk * __init cpg_sdh_clk_register(const char *name,
30 void __iomem *sdnckcr, const char *parent_name,
31 struct raw_notifier_head *notifiers);
32
33struct clk * __init cpg_sd_clk_register(const char *name,
34 void __iomem *sdnckcr, const char *parent_name);
35
36struct clk * __init cpg_rpc_clk_register(const char *name,
37 void __iomem *rpcckcr, const char *parent_name,
38 struct raw_notifier_head *notifiers);
39
40struct clk * __init cpg_rpcd2_clk_register(const char *name,
41 void __iomem *rpcckcr,
42 const char *parent_name);
43#endif
44

source code of linux/drivers/clk/renesas/rcar-cpg-lib.h