18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci#ifndef __CLK_EXYNOS5_SUBCMU_H 48c2ecf20Sopenharmony_ci#define __CLK_EXYNOS5_SUBCMU_H 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cistruct exynos5_subcmu_reg_dump { 78c2ecf20Sopenharmony_ci u32 offset; 88c2ecf20Sopenharmony_ci u32 value; 98c2ecf20Sopenharmony_ci u32 mask; 108c2ecf20Sopenharmony_ci u32 save; 118c2ecf20Sopenharmony_ci}; 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cistruct exynos5_subcmu_info { 148c2ecf20Sopenharmony_ci const struct samsung_div_clock *div_clks; 158c2ecf20Sopenharmony_ci unsigned int nr_div_clks; 168c2ecf20Sopenharmony_ci const struct samsung_gate_clock *gate_clks; 178c2ecf20Sopenharmony_ci unsigned int nr_gate_clks; 188c2ecf20Sopenharmony_ci struct exynos5_subcmu_reg_dump *suspend_regs; 198c2ecf20Sopenharmony_ci unsigned int nr_suspend_regs; 208c2ecf20Sopenharmony_ci const char *pd_name; 218c2ecf20Sopenharmony_ci}; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_civoid exynos5_subcmus_init(struct samsung_clk_provider *ctx, int nr_cmus, 248c2ecf20Sopenharmony_ci const struct exynos5_subcmu_info **cmu); 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#endif 27