Home
last modified time | relevance | path

Searched full:sclk (Results 1 – 25 of 327) sorted by relevance

12345678910>>...14

/Linux-v5.10/drivers/clk/hisilicon/
Dclkgate-separated.c34 struct clkgate_separated *sclk; in clkgate_separated_enable() local
38 sclk = container_of(hw, struct clkgate_separated, hw); in clkgate_separated_enable()
39 if (sclk->lock) in clkgate_separated_enable()
40 spin_lock_irqsave(sclk->lock, flags); in clkgate_separated_enable()
41 reg = BIT(sclk->bit_idx); in clkgate_separated_enable()
42 writel_relaxed(reg, sclk->enable); in clkgate_separated_enable()
43 readl_relaxed(sclk->enable + CLKGATE_SEPERATED_STATUS); in clkgate_separated_enable()
44 if (sclk->lock) in clkgate_separated_enable()
45 spin_unlock_irqrestore(sclk->lock, flags); in clkgate_separated_enable()
51 struct clkgate_separated *sclk; in clkgate_separated_disable() local
[all …]
/Linux-v5.10/drivers/clk/meson/
Dsclk-div.c23 #include "sclk-div.h"
31 static int sclk_div_maxval(struct meson_sclk_div_data *sclk) in sclk_div_maxval() argument
33 return (1 << sclk->div.width) - 1; in sclk_div_maxval()
36 static int sclk_div_maxdiv(struct meson_sclk_div_data *sclk) in sclk_div_maxdiv() argument
38 return sclk_div_maxval(sclk) + 1; in sclk_div_maxdiv()
51 struct meson_sclk_div_data *sclk) in sclk_div_bestdiv() argument
61 maxdiv = sclk_div_maxdiv(sclk); in sclk_div_bestdiv()
92 bestdiv = sclk_div_maxdiv(sclk); in sclk_div_bestdiv()
103 struct meson_sclk_div_data *sclk = meson_sclk_div_data(clk); in sclk_div_round_rate() local
106 div = sclk_div_bestdiv(hw, rate, prate, sclk); in sclk_div_round_rate()
[all …]
/Linux-v5.10/drivers/clk/
Dclk-scmi.c103 static int scmi_clk_ops_init(struct device *dev, struct scmi_clk *sclk) in scmi_clk_ops_init() argument
112 .name = sclk->info->name, in scmi_clk_ops_init()
115 sclk->hw.init = &init; in scmi_clk_ops_init()
116 ret = devm_clk_hw_register(dev, &sclk->hw); in scmi_clk_ops_init()
120 if (sclk->info->rate_discrete) { in scmi_clk_ops_init()
121 int num_rates = sclk->info->list.num_rates; in scmi_clk_ops_init()
126 min_rate = sclk->info->list.rates[0]; in scmi_clk_ops_init()
127 max_rate = sclk->info->list.rates[num_rates - 1]; in scmi_clk_ops_init()
129 min_rate = sclk->info->range.min_rate; in scmi_clk_ops_init()
130 max_rate = sclk->info->range.max_rate; in scmi_clk_ops_init()
[all …]
Dclk-scpi.c140 struct scpi_clk *sclk, const char *name) in scpi_clk_ops_init() argument
150 sclk->hw.init = &init; in scpi_clk_ops_init()
151 sclk->scpi_ops = get_scpi_ops(); in scpi_clk_ops_init()
154 sclk->info = sclk->scpi_ops->dvfs_get_info(sclk->id); in scpi_clk_ops_init()
155 if (IS_ERR(sclk->info)) in scpi_clk_ops_init()
156 return PTR_ERR(sclk->info); in scpi_clk_ops_init()
158 if (sclk->scpi_ops->clk_get_range(sclk->id, &min, &max) || !max) in scpi_clk_ops_init()
164 ret = devm_clk_hw_register(dev, &sclk->hw); in scpi_clk_ops_init()
166 clk_hw_set_rate_range(&sclk->hw, min, max); in scpi_clk_ops_init()
178 struct scpi_clk *sclk; in scpi_of_clk_src_get() local
[all …]
Dclk-nomadik.c302 struct clk_src *sclk = to_src(hw); in src_clk_enable() local
303 u32 enreg = sclk->group1 ? SRC_PCKEN1 : SRC_PCKEN0; in src_clk_enable()
304 u32 sreg = sclk->group1 ? SRC_PCKSR1 : SRC_PCKSR0; in src_clk_enable()
306 writel(sclk->clkbit, src_base + enreg); in src_clk_enable()
308 while (!(readl(src_base + sreg) & sclk->clkbit)) in src_clk_enable()
315 struct clk_src *sclk = to_src(hw); in src_clk_disable() local
316 u32 disreg = sclk->group1 ? SRC_PCKDIS1 : SRC_PCKDIS0; in src_clk_disable()
317 u32 sreg = sclk->group1 ? SRC_PCKSR1 : SRC_PCKSR0; in src_clk_disable()
319 writel(sclk->clkbit, src_base + disreg); in src_clk_disable()
321 while (readl(src_base + sreg) & sclk->clkbit) in src_clk_disable()
[all …]
Dclk-u300.c455 static void syscon_block_reset_enable(struct clk_syscon *sclk) in syscon_block_reset_enable() argument
461 if (!sclk->res_reg) in syscon_block_reset_enable()
464 val = readw(sclk->res_reg); in syscon_block_reset_enable()
465 val |= BIT(sclk->res_bit); in syscon_block_reset_enable()
466 writew(val, sclk->res_reg); in syscon_block_reset_enable()
468 sclk->reset = true; in syscon_block_reset_enable()
471 static void syscon_block_reset_disable(struct clk_syscon *sclk) in syscon_block_reset_disable() argument
477 if (!sclk->res_reg) in syscon_block_reset_disable()
480 val = readw(sclk->res_reg); in syscon_block_reset_disable()
481 val &= ~BIT(sclk->res_bit); in syscon_block_reset_disable()
[all …]
/Linux-v5.10/drivers/clk/microchip/
Dclk-core.c759 /* System mux clock(aka SCLK) */
774 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_get_rate() local
777 div = (readl(sclk->slew_reg) >> SLEW_SYSDIV_SHIFT) & SLEW_SYSDIV; in sclk_get_rate()
792 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_set_rate() local
799 spin_lock_irqsave(&sclk->core->reg_lock, flags); in sclk_set_rate()
802 v = readl(sclk->slew_reg); in sclk_set_rate()
808 writel(v, sclk->slew_reg); in sclk_set_rate()
811 err = readl_poll_timeout_atomic(sclk->slew_reg, v, in sclk_set_rate()
814 spin_unlock_irqrestore(&sclk->core->reg_lock, flags); in sclk_set_rate()
821 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_get_parent() local
[all …]
/Linux-v5.10/drivers/gpu/drm/radeon/
Drv730_dpm.c41 RV770_SMC_SCLK_VALUE *sclk) in rv730_populate_sclk_value() argument
108 sclk->sclk_value = cpu_to_be32(engine_clock); in rv730_populate_sclk_value()
109 sclk->vCG_SPLL_FUNC_CNTL = cpu_to_be32(spll_func_cntl); in rv730_populate_sclk_value()
110 sclk->vCG_SPLL_FUNC_CNTL_2 = cpu_to_be32(spll_func_cntl_2); in rv730_populate_sclk_value()
111 sclk->vCG_SPLL_FUNC_CNTL_3 = cpu_to_be32(spll_func_cntl_3); in rv730_populate_sclk_value()
112 sclk->vCG_SPLL_SPREAD_SPECTRUM = cpu_to_be32(cg_spll_spread_spectrum); in rv730_populate_sclk_value()
113 sclk->vCG_SPLL_SPREAD_SPECTRUM_2 = cpu_to_be32(cg_spll_spread_spectrum_2); in rv730_populate_sclk_value()
304 table->ACPIState.levels[0].sclk.vCG_SPLL_FUNC_CNTL = cpu_to_be32(spll_func_cntl); in rv730_populate_smc_acpi_state()
305 table->ACPIState.levels[0].sclk.vCG_SPLL_FUNC_CNTL_2 = cpu_to_be32(spll_func_cntl_2); in rv730_populate_smc_acpi_state()
306 table->ACPIState.levels[0].sclk.vCG_SPLL_FUNC_CNTL_3 = cpu_to_be32(spll_func_cntl_3); in rv730_populate_smc_acpi_state()
[all …]
Drv770_dpm.c271 a_n = (int)state->medium.sclk * pi->lmp + in rv770_populate_smc_t()
272 (int)state->low.sclk * (R600_AH_DFLT - pi->rlp); in rv770_populate_smc_t()
273 a_d = (int)state->low.sclk * (100 - (int)pi->rlp) + in rv770_populate_smc_t()
274 (int)state->medium.sclk * pi->lmp; in rv770_populate_smc_t()
279 a_n = (int)state->high.sclk * pi->lhp + (int)state->medium.sclk * in rv770_populate_smc_t()
281 a_d = (int)state->medium.sclk * (100 - (int)pi->rmp) + in rv770_populate_smc_t()
282 (int)state->high.sclk * pi->lhp; in rv770_populate_smc_t()
485 RV770_SMC_SCLK_VALUE *sclk) in rv770_populate_sclk_value() argument
555 sclk->sclk_value = cpu_to_be32(engine_clock); in rv770_populate_sclk_value()
556 sclk->vCG_SPLL_FUNC_CNTL = cpu_to_be32(spll_func_cntl); in rv770_populate_sclk_value()
[all …]
Dtrinity_dpm.c584 u32 index, u32 sclk) in trinity_set_divider_value() argument
592 sclk, false, &dividers); in trinity_set_divider_value()
602 sclk/2, false, &dividers); in trinity_set_divider_value()
722 trinity_set_divider_value(rdev, index, pl->sclk); in trinity_program_power_level()
969 if (new_ps->levels[new_ps->num_levels - 1].sclk >= in trinity_set_uvd_clock_before_set_eng_clock()
970 current_ps->levels[current_ps->num_levels - 1].sclk) in trinity_set_uvd_clock_before_set_eng_clock()
983 if (new_ps->levels[new_ps->num_levels - 1].sclk < in trinity_set_uvd_clock_after_set_eng_clock()
984 current_ps->levels[current_ps->num_levels - 1].sclk) in trinity_set_uvd_clock_after_set_eng_clock()
1334 static u8 trinity_calculate_vce_wm(struct radeon_device *rdev, u32 sclk) in trinity_calculate_vce_wm() argument
1336 if (sclk < 20000) in trinity_calculate_vce_wm()
[all …]
Dsumo_dpm.c347 u32 highest_engine_clock = ps->levels[ps->num_levels - 1].sclk; in sumo_program_bsp()
350 highest_engine_clock = pi->boost_pl.sclk; in sumo_program_bsp()
411 m_a = asi * ps->levels[i].sclk / 100; in sumo_program_at()
421 m_a = asi * pi->boost_pl.sclk / 100; in sumo_program_at()
555 pl->sclk, false, &dividers); in sumo_program_power_level()
671 pi->boost_pl.sclk = pi->sys_info.boost_sclk; in sumo_patch_boost_state()
790 pi->acpi_pl.sclk, in sumo_program_acpi_power_level()
844 if (new_ps->levels[new_ps->num_levels - 1].sclk >= in sumo_set_uvd_clock_before_set_eng_clock()
845 current_ps->levels[current_ps->num_levels - 1].sclk) in sumo_set_uvd_clock_before_set_eng_clock()
862 if (new_ps->levels[new_ps->num_levels - 1].sclk < in sumo_set_uvd_clock_after_set_eng_clock()
[all …]
Dbtc_dpm.c1244 u32 *sclk, u32 *mclk) in btc_skip_blacklist_clocks() argument
1248 if ((sclk == NULL) || (mclk == NULL)) in btc_skip_blacklist_clocks()
1254 if ((btc_blacklist_clocks[i].sclk == *sclk) && in btc_skip_blacklist_clocks()
1261 *sclk = btc_get_valid_sclk(rdev, max_sclk, *sclk + 1); in btc_skip_blacklist_clocks()
1263 if (*sclk < max_sclk) in btc_skip_blacklist_clocks()
1264 btc_skip_blacklist_clocks(rdev, max_sclk, max_mclk, sclk, mclk); in btc_skip_blacklist_clocks()
1274 if ((pl->mclk == 0) || (pl->sclk == 0)) in btc_adjust_clock_combinations()
1277 if (pl->mclk == pl->sclk) in btc_adjust_clock_combinations()
1280 if (pl->mclk > pl->sclk) { in btc_adjust_clock_combinations()
1281 if (((pl->mclk + (pl->sclk - 1)) / pl->sclk) > rdev->pm.dpm.dyn_state.mclk_sclk_ratio) in btc_adjust_clock_combinations()
[all …]
Drv740_dpm.c121 RV770_SMC_SCLK_VALUE *sclk) in rv740_populate_sclk_value() argument
176 sclk->sclk_value = cpu_to_be32(engine_clock); in rv740_populate_sclk_value()
177 sclk->vCG_SPLL_FUNC_CNTL = cpu_to_be32(spll_func_cntl); in rv740_populate_sclk_value()
178 sclk->vCG_SPLL_FUNC_CNTL_2 = cpu_to_be32(spll_func_cntl_2); in rv740_populate_sclk_value()
179 sclk->vCG_SPLL_FUNC_CNTL_3 = cpu_to_be32(spll_func_cntl_3); in rv740_populate_sclk_value()
180 sclk->vCG_SPLL_SPREAD_SPECTRUM = cpu_to_be32(cg_spll_spread_spectrum); in rv740_populate_sclk_value()
181 sclk->vCG_SPLL_SPREAD_SPECTRUM_2 = cpu_to_be32(cg_spll_spread_spectrum_2); in rv740_populate_sclk_value()
382 table->ACPIState.levels[0].sclk.vCG_SPLL_FUNC_CNTL = cpu_to_be32(spll_func_cntl); in rv740_populate_smc_acpi_state()
383 table->ACPIState.levels[0].sclk.vCG_SPLL_FUNC_CNTL_2 = cpu_to_be32(spll_func_cntl_2); in rv740_populate_smc_acpi_state()
384 table->ACPIState.levels[0].sclk.vCG_SPLL_FUNC_CNTL_3 = cpu_to_be32(spll_func_cntl_3); in rv740_populate_smc_acpi_state()
[all …]
Dkv_dpm.c535 u32 index, u32 sclk) in kv_set_divider_value() argument
542 sclk, false, &dividers); in kv_set_divider_value()
547 pi->graphics_level[index].SclkFrequency = cpu_to_be32(sclk); in kv_set_divider_value()
724 if (table->entries[i].clk == pi->boot_pl.sclk) in kv_program_bootup_state()
738 if (table->entries[i].sclk_frequency == pi->boot_pl.sclk) in kv_program_bootup_state()
1717 if ((table->entries[i].clk >= new_ps->levels[0].sclk) || in kv_set_valid_clock_range()
1725 if (table->entries[i].clk <= new_ps->levels[new_ps->num_levels - 1].sclk) in kv_set_valid_clock_range()
1731 if ((new_ps->levels[0].sclk - table->entries[pi->highest_valid].clk) > in kv_set_valid_clock_range()
1732 (table->entries[pi->lowest_valid].clk - new_ps->levels[new_ps->num_levels - 1].sclk)) in kv_set_valid_clock_range()
1742 if (table->entries[i].sclk_frequency >= new_ps->levels[0].sclk || in kv_set_valid_clock_range()
[all …]
Drv6xx_dpm.c439 state->low.sclk; in rv6xx_calculate_engine_speed_stepping_parameters()
441 state->medium.sclk; in rv6xx_calculate_engine_speed_stepping_parameters()
443 state->high.sclk; in rv6xx_calculate_engine_speed_stepping_parameters()
1027 rv6xx_calculate_t(state->low.sclk, in rv6xx_calculate_ap()
1028 state->medium.sclk, in rv6xx_calculate_ap()
1035 rv6xx_calculate_t(state->medium.sclk, in rv6xx_calculate_ap()
1036 state->high.sclk, in rv6xx_calculate_ap()
1426 old_state->low.sclk, in rv6xx_generate_transition_stepping()
1427 new_state->low.sclk, in rv6xx_generate_transition_stepping()
1439 new_state->low.sclk, in rv6xx_generate_low_step()
[all …]
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/subdev/clk/
Dgk104.c68 u32 sclk; in read_pll() local
77 sclk = device->crystal; in read_pll()
81 sclk = read_pll(clk, 0x132020); in read_pll()
85 sclk = read_div(clk, 0, 0x137320, 0x137330); in read_pll()
92 sclk = read_div(clk, (pll & 0xff) / 0x20, 0x137120, 0x137140); in read_pll()
101 sclk = (sclk * N) + (((u16)(fN + 4096) * sclk) >> 13); in read_pll()
102 return sclk / (M * P); in read_pll()
121 u32 sclk = read_vco(clk, dsrc + (doff * 4)); in read_div() local
123 return (sclk * 2) / sdiv; in read_div()
149 u32 sclk, sdiv; in read_clk() local
[all …]
Dgf100.c67 u32 sclk; in read_pll() local
75 sclk = device->crystal; in read_pll()
79 sclk = nvkm_clk_read(&clk->base, nv_clk_src_mpllsrc); in read_pll()
82 sclk = nvkm_clk_read(&clk->base, nv_clk_src_mpllsrcref); in read_pll()
88 sclk = read_div(clk, (pll & 0xff) / 0x20, 0x137120, 0x137140); in read_pll()
94 return sclk * N / M / P; in read_pll()
102 u32 sclk, sctl, sdiv = 2; in read_div() local
112 sclk = read_vco(clk, dsrc + (doff * 4)); in read_div()
126 return (sclk * 2) / sdiv; in read_div()
138 u32 sclk, sdiv; in read_clk() local
[all …]
/Linux-v5.10/drivers/tty/serial/8250/
D8250_em.c24 struct clk *sclk; member
100 priv->sclk = devm_clk_get(&pdev->dev, "sclk"); in serial8250_em_probe()
101 if (IS_ERR(priv->sclk)) { in serial8250_em_probe()
103 return PTR_ERR(priv->sclk); in serial8250_em_probe()
114 clk_prepare_enable(priv->sclk); in serial8250_em_probe()
115 up.port.uartclk = clk_get_rate(priv->sclk); in serial8250_em_probe()
126 clk_disable_unprepare(priv->sclk); in serial8250_em_probe()
140 clk_disable_unprepare(priv->sclk); in serial8250_em_remove()
/Linux-v5.10/sound/soc/cirrus/
Dep93xx-i2s.c75 struct clk *sclk; member
115 clk_enable(info->sclk); in ep93xx_i2s_enable()
160 clk_disable(info->sclk); in ep93xx_i2s_disable()
326 * EP93xx I2S module can be setup so SCLK / LRCLK value can be in ep93xx_i2s_hw_params()
327 * 32, 64, 128. MCLK / SCLK value can be 2 and 4. in ep93xx_i2s_hw_params()
328 * We set LRCLK equal to `rate' and minimum SCLK / LRCLK in ep93xx_i2s_hw_params()
343 err = clk_set_rate(info->sclk, clk_get_rate(info->mclk) / sdiv); in ep93xx_i2s_hw_params()
347 err = clk_set_rate(info->lrclk, clk_get_rate(info->sclk) / lrdiv); in ep93xx_i2s_hw_params()
460 info->sclk = clk_get(&pdev->dev, "sclk"); in ep93xx_i2s_probe()
461 if (IS_ERR(info->sclk)) { in ep93xx_i2s_probe()
[all …]
/Linux-v5.10/sound/soc/meson/
Daxg-tdm-formatter.c20 struct clk *sclk; member
99 * If sclk is inverted, it means the bit should latched on the in axg_tdm_formatter_enable()
104 ret = clk_set_phase(formatter->sclk, invert ? 0 : 180); in axg_tdm_formatter_enable()
116 ret = clk_prepare_enable(formatter->sclk); in axg_tdm_formatter_enable()
122 clk_disable_unprepare(formatter->sclk); in axg_tdm_formatter_enable()
141 clk_disable_unprepare(formatter->sclk); in axg_tdm_formatter_disable()
198 ret = clk_set_parent(formatter->sclk_sel, ts->iface->sclk); in axg_tdm_formatter_power_up()
293 formatter->sclk = devm_clk_get(dev, "sclk"); in axg_tdm_formatter_probe()
294 if (IS_ERR(formatter->sclk)) { in axg_tdm_formatter_probe()
295 ret = PTR_ERR(formatter->sclk); in axg_tdm_formatter_probe()
[all …]
/Linux-v5.10/drivers/gpu/drm/armada/
Darmada_510.c94 * Armada510 specific SCLK register selection.
95 * This gets called with sclk = NULL to test whether the mode is
96 * supportable, and again with sclk != NULL to set the clocks up for
101 const struct drm_display_mode *mode, uint32_t *sclk) in armada510_crtc_compute_clock() argument
118 if (sclk) { in armada510_crtc_compute_clock()
121 *sclk = res.div | armada510_clk_sels[idx]; in armada510_crtc_compute_clock()
/Linux-v5.10/sound/soc/intel/skylake/
Dskl-nhlt.c192 * sclk/sclkfs.
200 struct skl_ssp_clk *sclk, *sclkfs; in skl_get_ssp_clks() local
211 sclk = &ssp_clks[SKL_SCLK_OFS]; in skl_get_ssp_clks()
229 * But the sclk rate will be generated for the total in skl_get_ssp_clks()
247 /* check if the rate is added already to the given SSP's sclk */ in skl_get_ssp_clks()
249 (sclk[id].rate_cfg[j].rate != 0); j++) { in skl_get_ssp_clks()
250 if (sclk[id].rate_cfg[j].rate == rate) { in skl_get_ssp_clks()
256 /* Fill rate and parent for sclk/sclkfs */ in skl_get_ssp_clks()
280 sclk[id].rate_cfg[rate_index].rate = rate; in skl_get_ssp_clks()
281 sclk[id].rate_cfg[rate_index].config = fmt_cfg; in skl_get_ssp_clks()
[all …]
/Linux-v5.10/drivers/power/reset/
Dat91-poweroff.c55 struct clk *sclk; member
164 at91_shdwc.sclk = devm_clk_get(&pdev->dev, NULL); in at91_poweroff_probe()
165 if (IS_ERR(at91_shdwc.sclk)) in at91_poweroff_probe()
166 return PTR_ERR(at91_shdwc.sclk); in at91_poweroff_probe()
168 ret = clk_prepare_enable(at91_shdwc.sclk); in at91_poweroff_probe()
203 clk_disable_unprepare(at91_shdwc.sclk); in at91_poweroff_probe()
215 clk_disable_unprepare(at91_shdwc.sclk); in at91_poweroff_remove()
/Linux-v5.10/arch/arm64/boot/dts/amlogic/
Dmeson-g12.dtsi21 clock-names = "mclk", "sclk", "lrclk";
32 clock-names = "mclk", "sclk", "lrclk";
43 clock-names = "mclk", "sclk", "lrclk";
208 clock-names = "pclk", "sclk", "sclk_sel",
224 clock-names = "pclk", "sclk", "sclk_sel",
240 clock-names = "pclk", "sclk", "sclk_sel",
256 clock-names = "pclk", "sclk", "sclk_sel",
298 clock-names = "pclk", "sclk", "sclk_sel",
313 clock-names = "pclk", "sclk", "sclk_sel",
328 clock-names = "pclk", "sclk", "sclk_sel",
/Linux-v5.10/Documentation/devicetree/bindings/rtc/
Dmoxa,moxart-rtc.txt6 - gpio-rtc-sclk : RTC sclk gpio, with zero flags
14 gpio-rtc-sclk = <&gpio 5 0>;

12345678910>>...14