@@ -14,16 +14,19 @@ struct sprd_gate {
14
14
u32 enable_mask ;
15
15
u16 flags ;
16
16
u16 sc_offset ;
17
+ u16 udelay ;
17
18
18
19
struct sprd_clk_common common ;
19
20
};
20
21
21
- #define SPRD_SC_GATE_CLK_OPS (_struct , _name , _parent , _reg , _sc_offset , \
22
- _enable_mask , _flags , _gate_flags , _ops ) \
22
+ #define SPRD_SC_GATE_CLK_OPS_UDELAY (_struct , _name , _parent , _reg , \
23
+ _sc_offset , _enable_mask , _flags , \
24
+ _gate_flags , _udelay , _ops ) \
23
25
struct sprd_gate _struct = { \
24
26
.enable_mask = _enable_mask, \
25
27
.sc_offset = _sc_offset, \
26
28
.flags = _gate_flags, \
29
+ .udelay = _udelay, \
27
30
.common = { \
28
31
.regmap = NULL, \
29
32
.reg = _reg, \
@@ -34,6 +37,12 @@ struct sprd_gate {
34
37
} \
35
38
}
36
39
40
+ #define SPRD_SC_GATE_CLK_OPS (_struct , _name , _parent , _reg , _sc_offset , \
41
+ _enable_mask , _flags , _gate_flags , _ops ) \
42
+ SPRD_SC_GATE_CLK_OPS_UDELAY(_struct, _name, _parent, _reg, \
43
+ _sc_offset, _enable_mask, _flags, \
44
+ _gate_flags, 0, _ops)
45
+
37
46
#define SPRD_GATE_CLK (_struct , _name , _parent , _reg , \
38
47
_enable_mask , _flags , _gate_flags ) \
39
48
SPRD_SC_GATE_CLK_OPS(_struct, _name, _parent, _reg, 0, \
@@ -46,6 +55,13 @@ struct sprd_gate {
46
55
_enable_mask, _flags, _gate_flags, \
47
56
&sprd_sc_gate_ops)
48
57
58
+ #define SPRD_PLL_SC_GATE_CLK (_struct , _name , _parent , _reg , _sc_offset , \
59
+ _enable_mask , _flags , _gate_flags , _udelay ) \
60
+ SPRD_SC_GATE_CLK_OPS_UDELAY(_struct, _name, _parent, _reg, \
61
+ _sc_offset, _enable_mask, _flags, \
62
+ _gate_flags, _udelay, \
63
+ &sprd_pll_sc_gate_ops)
64
+
49
65
static inline struct sprd_gate * hw_to_sprd_gate (const struct clk_hw * hw )
50
66
{
51
67
struct sprd_clk_common * common = hw_to_sprd_clk_common (hw );
@@ -55,5 +71,6 @@ static inline struct sprd_gate *hw_to_sprd_gate(const struct clk_hw *hw)
55
71
56
72
extern const struct clk_ops sprd_gate_ops ;
57
73
extern const struct clk_ops sprd_sc_gate_ops ;
74
+ extern const struct clk_ops sprd_pll_sc_gate_ops ;
58
75
59
76
#endif /* _SPRD_GATE_H_ */
0 commit comments