brintos

brintos / linux-shallow public Read only

0
0
Text · 1.1 KiB · a4e8d7d Raw
46 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright (c) 2016 Maxime Ripard. All rights reserved.4 */5 6#ifndef _CCU_FRAC_H_7#define _CCU_FRAC_H_8 9#include <linux/clk-provider.h>10 11#include "ccu_common.h"12 13struct ccu_frac_internal {14	u32		enable;15	u32		select;16 17	unsigned long	rates[2];18};19 20#define _SUNXI_CCU_FRAC(_enable, _select, _rate1, _rate2)		\21	{								\22		.enable	= _enable,					\23		.select	= _select,					\24		.rates = { _rate1, _rate2 },				\25	}26 27bool ccu_frac_helper_is_enabled(struct ccu_common *common,28				struct ccu_frac_internal *cf);29void ccu_frac_helper_enable(struct ccu_common *common,30			    struct ccu_frac_internal *cf);31void ccu_frac_helper_disable(struct ccu_common *common,32			     struct ccu_frac_internal *cf);33 34bool ccu_frac_helper_has_rate(struct ccu_common *common,35			      struct ccu_frac_internal *cf,36			      unsigned long rate);37 38unsigned long ccu_frac_helper_read_rate(struct ccu_common *common,39					struct ccu_frac_internal *cf);40 41int ccu_frac_helper_set_rate(struct ccu_common *common,42			     struct ccu_frac_internal *cf,43			     unsigned long rate, u32 lock);44 45#endif /* _CCU_FRAC_H_ */46