12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * R-Car Gen3 Clock Pulse Generator Library
- *
- * Copyright (C) 2015-2018 Glider bvba
- * Copyright (C) 2019 Renesas Electronics Corp.
- *
- * Based on clk-rcar-gen3.c
- *
- * Copyright (C) 2015 Renesas Electronics Corp.
- */
- #ifndef __CLK_RENESAS_RCAR_CPG_LIB_H__
- #define __CLK_RENESAS_RCAR_CPG_LIB_H__
- extern spinlock_t cpg_lock;
- struct cpg_simple_notifier {
- struct notifier_block nb;
- void __iomem *reg;
- u32 saved;
- };
- void cpg_simple_notifier_register(struct raw_notifier_head *notifiers,
- struct cpg_simple_notifier *csn);
- void cpg_reg_modify(void __iomem *reg, u32 clear, u32 set);
- struct clk * __init cpg_sdh_clk_register(const char *name,
- void __iomem *sdnckcr, const char *parent_name,
- struct raw_notifier_head *notifiers);
- struct clk * __init cpg_sd_clk_register(const char *name,
- void __iomem *sdnckcr, const char *parent_name);
- struct clk * __init cpg_rpc_clk_register(const char *name,
- void __iomem *rpcckcr, const char *parent_name,
- struct raw_notifier_head *notifiers);
- struct clk * __init cpg_rpcd2_clk_register(const char *name,
- void __iomem *rpcckcr,
- const char *parent_name);
- #endif
|