Lines Matching defs:arm
37 #include <arm/rockchip/rk_cru.h>
43 struct rk_cru_arm *arm = &clk->u.arm;
57 const uint32_t val = CRU_READ(sc, arm->divs[0].reg);
58 const u_int div = __SHIFTOUT(val, arm->divs[0].mask) + 1;
67 struct rk_cru_arm *arm = &clk->u.arm;
74 if (arm->rates == NULL || rate == 0)
77 for (int i = 0; i < arm->nrates; i++)
78 if (arm->rates[i].rate == rate) {
79 arm_rate = &arm->rates[i];
85 main_parent = rk_cru_clock_find(sc, arm->parents[arm->mux_main]);
86 alt_parent = rk_cru_clock_find(sc, arm->parents[arm->mux_alt]);
92 error = rk_cru_arm_set_parent(sc, clk, arm->parents[arm->mux_alt]);
102 for (int i = 0; i < __arraycount(arm->divs); i++) {
103 if (arm->divs[i].reg == 0 && arm->divs[i].mask == 0)
106 const uint32_t write_mask = arm->divs[i].mask << 16;
108 arm->divs[i].mask);
109 CRU_WRITE(sc, arm->divs[i].reg, write_mask | write_val);
113 rk_cru_arm_set_parent(sc, clk, arm->parents[arm->mux_main]);
121 struct rk_cru_arm *arm = &clk->u.arm;
129 if (arm->cpurates == NULL || rate == 0)
132 for (int i = 0; i < arm->nrates; i++)
133 if (arm->cpurates[i].rate == rate) {
134 cpu_rate = &arm->cpurates[i];
140 main_parent = rk_cru_clock_find(sc, arm->parents[arm->mux_main]);
141 alt_parent = rk_cru_clock_find(sc, arm->parents[arm->mux_alt]);
149 error = rk_cru_arm_set_parent(sc, clk, arm->parents[arm->mux_alt]);
167 for (int i = 0; i < __arraycount(arm->divs); i++) {
168 if (arm->divs[i].reg == 0 && arm->divs[i].mask == 0)
171 write_mask = arm->divs[i].mask << 16;
172 write_val = __SHIFTIN(0, arm->divs[i].mask);
173 CRU_WRITE(sc, arm->divs[i].reg, write_mask | write_val);
179 rk_cru_arm_set_parent(sc, clk, arm->parents[arm->mux_main]);
188 struct rk_cru_arm *arm = &clk->u.arm;
190 if (arm->rates)
192 else if (arm->cpurates)
202 struct rk_cru_arm *arm = &clk->u.arm;
206 const uint32_t val = CRU_READ(sc, arm->mux_reg);
207 const u_int mux = __SHIFTOUT(val, arm->mux_mask);
209 return arm->parents[mux];
216 struct rk_cru_arm *arm = &clk->u.arm;
220 for (u_int mux = 0; mux < arm->nparents; mux++)
221 if (strcmp(arm->parents[mux], parent) == 0) {
222 const uint32_t write_mask = arm->mux_mask << 16;
223 const uint32_t write_val = __SHIFTIN(mux, arm->mux_mask);
225 CRU_WRITE(sc, arm->mux_reg, write_mask | write_val);