44 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * R-Car Gen3 Clock Pulse Generator Library4 *5 * Copyright (C) 2015-2018 Glider bvba6 * Copyright (C) 2019 Renesas Electronics Corp.7 *8 * Based on clk-rcar-gen3.c9 *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#endif44