18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0+ */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright 2018 NXP 48c2ecf20Sopenharmony_ci * Dong Aisheng <aisheng.dong@nxp.com> 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#ifndef __IMX_CLK_SCU_H 88c2ecf20Sopenharmony_ci#define __IMX_CLK_SCU_H 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include <linux/firmware/imx/sci.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciint imx_clk_scu_init(void); 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cistruct clk_hw *__imx_clk_scu(const char *name, const char * const *parents, 158c2ecf20Sopenharmony_ci int num_parents, u32 rsrc_id, u8 clk_type); 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_cistatic inline struct clk_hw *imx_clk_scu(const char *name, u32 rsrc_id, 188c2ecf20Sopenharmony_ci u8 clk_type) 198c2ecf20Sopenharmony_ci{ 208c2ecf20Sopenharmony_ci return __imx_clk_scu(name, NULL, 0, rsrc_id, clk_type); 218c2ecf20Sopenharmony_ci} 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_cistatic inline struct clk_hw *imx_clk_scu2(const char *name, const char * const *parents, 248c2ecf20Sopenharmony_ci int num_parents, u32 rsrc_id, u8 clk_type) 258c2ecf20Sopenharmony_ci{ 268c2ecf20Sopenharmony_ci return __imx_clk_scu(name, parents, num_parents, rsrc_id, clk_type); 278c2ecf20Sopenharmony_ci} 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_cistruct clk_hw *imx_clk_lpcg_scu(const char *name, const char *parent_name, 308c2ecf20Sopenharmony_ci unsigned long flags, void __iomem *reg, 318c2ecf20Sopenharmony_ci u8 bit_idx, bool hw_gate); 328c2ecf20Sopenharmony_ci#endif 33