]>
git.ipfire.org Git - thirdparty/u-boot.git/blob - include/sandbox-clk.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
4 * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
7 #ifndef __SANDBOX_CLK_H__
8 #define __SANDBOX_CLK_H__
10 #include <linux/clk-provider.h>
17 SANDBOX_CLK_ECSPI_ROOT
,
20 SANDBOX_CLK_USDHC1_SEL
,
21 SANDBOX_CLK_USDHC2_SEL
,
25 enum sandbox_pllv3_type
{
26 SANDBOX_PLLV3_GENERIC
,
30 struct clk
*sandbox_clk_pllv3(enum sandbox_pllv3_type type
, const char *name
,
31 const char *parent_name
, void __iomem
*base
,
34 static inline struct clk
*sandbox_clk_fixed_factor(const char *name
,
39 return clk_register_fixed_factor(NULL
, name
, parent
,
40 CLK_SET_RATE_PARENT
, mult
, div
);
43 static inline struct clk
*sandbox_clk_divider(const char *name
,
45 void __iomem
*reg
, u8 shift
,
48 return clk_register_divider(NULL
, name
, parent
, CLK_SET_RATE_PARENT
,
49 reg
, shift
, width
, 0);
52 struct clk
*sandbox_clk_register_gate2(struct device
*dev
, const char *name
,
53 const char *parent_name
,
55 void __iomem
*reg
, u8 bit_idx
,
56 u8 cgr_val
, u8 clk_gate_flags
);
58 static inline struct clk
*sandbox_clk_gate2(const char *name
,
60 void __iomem
*reg
, u8 shift
)
62 return sandbox_clk_register_gate2(NULL
, name
, parent
,
63 CLK_SET_RATE_PARENT
, reg
, shift
,
67 static inline struct clk
*sandbox_clk_mux(const char *name
, void __iomem
*reg
,
69 const char * const *parents
,
72 return clk_register_mux(NULL
, name
, parents
, num_parents
,
73 CLK_SET_RATE_NO_REPARENT
, reg
, shift
,
77 #endif /* __SANDBOX_CLK_H__ */