|
19 | 19 | #include <dt-bindings/clock/qcom,rpmcc.h> |
20 | 20 |
|
21 | 21 | #define __DEFINE_CLK_SMD_RPM_PREFIX(_prefix, _name, _active, \ |
22 | | - type, r_id, key) \ |
| 22 | + type, r_id, key, ao_rate, ao_flags) \ |
23 | 23 | static struct clk_smd_rpm clk_smd_rpm_##_prefix##_active; \ |
24 | 24 | static struct clk_smd_rpm clk_smd_rpm_##_prefix##_name = { \ |
25 | 25 | .rpm_res_type = (type), \ |
|
43 | 43 | .active_only = true, \ |
44 | 44 | .rpm_key = (key), \ |
45 | 45 | .peer = &clk_smd_rpm_##_prefix##_name, \ |
46 | | - .rate = INT_MAX, \ |
| 46 | + .rate = (ao_rate), \ |
47 | 47 | .hw.init = &(struct clk_init_data){ \ |
48 | 48 | .ops = &clk_smd_rpm_ops, \ |
49 | 49 | .name = #_active, \ |
|
52 | 52 | .name = "xo_board", \ |
53 | 53 | }, \ |
54 | 54 | .num_parents = 1, \ |
| 55 | + .flags = (ao_flags), \ |
55 | 56 | }, \ |
56 | 57 | } |
57 | 58 |
|
58 | | -#define __DEFINE_CLK_SMD_RPM(_name, _active, type, r_id, key) \ |
| 59 | +#define __DEFINE_CLK_SMD_RPM(_name, _active, type, r_id, key,\ |
| 60 | + ao_rate, ao_flags) \ |
59 | 61 | __DEFINE_CLK_SMD_RPM_PREFIX(/* empty */, _name, _active, \ |
60 | | - type, r_id, key) |
| 62 | + type, r_id, key, ao_rate, ao_flags) |
61 | 63 |
|
62 | 64 | #define __DEFINE_CLK_SMD_RPM_BRANCH_PREFIX(_prefix, _name, _active,\ |
63 | 65 | type, r_id, r, key, ao_flags) \ |
|
105 | 107 |
|
106 | 108 | #define DEFINE_CLK_SMD_RPM(_name, type, r_id) \ |
107 | 109 | __DEFINE_CLK_SMD_RPM(_name##_clk, _name##_a_clk, \ |
108 | | - type, r_id, QCOM_RPM_SMD_KEY_RATE) |
| 110 | + type, r_id, QCOM_RPM_SMD_KEY_RATE, INT_MAX, 0) |
109 | 111 |
|
110 | 112 | #define DEFINE_CLK_SMD_RPM_BUS(_name, r_id) \ |
111 | 113 | __DEFINE_CLK_SMD_RPM_PREFIX(bus_##r_id##_, \ |
112 | 114 | _name##_clk, _name##_a_clk, QCOM_SMD_RPM_BUS_CLK, r_id, \ |
113 | | - QCOM_RPM_SMD_KEY_RATE) |
| 115 | + QCOM_RPM_SMD_KEY_RATE, INT_MAX, 0) |
| 116 | + |
| 117 | +#define DEFINE_CLK_SMD_RPM_BUS_A(_name, r_id, ao_rate, ao_flags) \ |
| 118 | + __DEFINE_CLK_SMD_RPM_PREFIX(bus_##r_id##_, \ |
| 119 | + _name##_clk, _name##_a_clk, QCOM_SMD_RPM_BUS_CLK, r_id, \ |
| 120 | + QCOM_RPM_SMD_KEY_RATE, ao_rate, ao_flags) |
114 | 121 |
|
115 | 122 | #define DEFINE_CLK_SMD_RPM_CLK_SRC(_name, type, r_id) \ |
116 | 123 | __DEFINE_CLK_SMD_RPM( \ |
117 | 124 | _name##_clk_src, _name##_a_clk_src, \ |
118 | | - type, r_id, QCOM_RPM_SMD_KEY_RATE) |
| 125 | + type, r_id, QCOM_RPM_SMD_KEY_RATE, INT_MAX, 0) |
119 | 126 |
|
120 | 127 | #define DEFINE_CLK_SMD_RPM_BRANCH(_name, type, r_id, r) \ |
121 | 128 | __DEFINE_CLK_SMD_RPM_BRANCH_PREFIX(branch_, \ |
|
129 | 136 |
|
130 | 137 | #define DEFINE_CLK_SMD_RPM_QDSS(_name, type, r_id) \ |
131 | 138 | __DEFINE_CLK_SMD_RPM(_name##_clk, _name##_a_clk, \ |
132 | | - type, r_id, QCOM_RPM_SMD_KEY_STATE) |
| 139 | + type, r_id, QCOM_RPM_SMD_KEY_STATE, INT_MAX, 0) |
133 | 140 |
|
134 | 141 | #define DEFINE_CLK_SMD_RPM_XO_BUFFER(_name, r_id, r) \ |
135 | 142 | __DEFINE_CLK_SMD_RPM_BRANCH(_name, _name##_a, \ |
|
0 commit comments