rcar-cpg-lib.h (1174B)
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