1b06a532bSMarek Szyprowski /* SPDX-License-Identifier: GPL-2.0 */ 2b06a532bSMarek Szyprowski 3b06a532bSMarek Szyprowski #ifndef __CLK_EXYNOS5_SUBCMU_H 4b06a532bSMarek Szyprowski #define __CLK_EXYNOS5_SUBCMU_H 5b06a532bSMarek Szyprowski 6b06a532bSMarek Szyprowski struct exynos5_subcmu_reg_dump { 7b06a532bSMarek Szyprowski u32 offset; 8b06a532bSMarek Szyprowski u32 value; 9b06a532bSMarek Szyprowski u32 mask; 10b06a532bSMarek Szyprowski u32 save; 11b06a532bSMarek Szyprowski }; 12b06a532bSMarek Szyprowski 13b06a532bSMarek Szyprowski struct exynos5_subcmu_info { 14b06a532bSMarek Szyprowski const struct samsung_div_clock *div_clks; 15b06a532bSMarek Szyprowski unsigned int nr_div_clks; 16b06a532bSMarek Szyprowski const struct samsung_gate_clock *gate_clks; 17b06a532bSMarek Szyprowski unsigned int nr_gate_clks; 18b06a532bSMarek Szyprowski struct exynos5_subcmu_reg_dump *suspend_regs; 19b06a532bSMarek Szyprowski unsigned int nr_suspend_regs; 20b06a532bSMarek Szyprowski const char *pd_name; 21b06a532bSMarek Szyprowski }; 22b06a532bSMarek Szyprowski 23b06a532bSMarek Szyprowski void exynos5_subcmus_init(struct samsung_clk_provider *ctx, int nr_cmus, 24bf32e7dbSSylwester Nawrocki const struct exynos5_subcmu_info **cmu); 25b06a532bSMarek Szyprowski 26b06a532bSMarek Szyprowski #endif 27