Home
last modified time | relevance | path

Searched full:dividers (Results 1 – 25 of 385) sorted by relevance

12345678910>>...16

/openbmc/linux/drivers/gpu/drm/radeon/
H A Drv740_dpm.c123 struct atom_clock_dividers dividers; in rv740_populate_sclk_value() local
136 engine_clock, false, &dividers); in rv740_populate_sclk_value()
140 reference_divider = 1 + dividers.ref_div; in rv740_populate_sclk_value()
142 tmp = (u64) engine_clock * reference_divider * dividers.post_div * 16384; in rv740_populate_sclk_value()
147 spll_func_cntl |= SPLL_REF_DIV(dividers.ref_div); in rv740_populate_sclk_value()
148 spll_func_cntl |= SPLL_PDIV_A(dividers.post_div); in rv740_populate_sclk_value()
159 u32 vco_freq = engine_clock * dividers.post_div; in rv740_populate_sclk_value()
198 struct atom_clock_dividers dividers; in rv740_populate_mclk_value() local
204 memory_clock, false, &dividers); in rv740_populate_mclk_value()
208 ibias = rv770_map_clkf_to_ibias(rdev, dividers.whole_fb_div); in rv740_populate_mclk_value()
[all …]
H A Drv730_dpm.c42 struct atom_clock_dividers dividers; in rv730_populate_sclk_value() local
55 engine_clock, false, &dividers); in rv730_populate_sclk_value()
59 reference_divider = 1 + dividers.ref_div; in rv730_populate_sclk_value()
61 if (dividers.enable_post_div) in rv730_populate_sclk_value()
62 post_divider = ((dividers.post_div >> 4) & 0xf) + in rv730_populate_sclk_value()
63 (dividers.post_div & 0xf) + 2; in rv730_populate_sclk_value()
72 if (dividers.enable_post_div) in rv730_populate_sclk_value()
77 spll_func_cntl |= SPLL_REF_DIV(dividers.ref_div); in rv730_populate_sclk_value()
78 spll_func_cntl |= SPLL_HILEN((dividers.post_div >> 4) & 0xf); in rv730_populate_sclk_value()
79 spll_func_cntl |= SPLL_LOLEN(dividers.post_div & 0xf); in rv730_populate_sclk_value()
[all …]
H A Drv6xx_dpm.c142 struct atom_clock_dividers dividers; in rv6xx_convert_clock_to_stepping() local
145 clock, false, &dividers); in rv6xx_convert_clock_to_stepping()
149 if (dividers.enable_post_div) in rv6xx_convert_clock_to_stepping()
150 step->post_divider = 2 + (dividers.post_div & 0xF) + (dividers.post_div >> 4); in rv6xx_convert_clock_to_stepping()
526 struct atom_clock_dividers *dividers, in rv6xx_calculate_vco_frequency() argument
529 return ref_clock * ((dividers->fb_div & ~1) << fb_divider_scale) / in rv6xx_calculate_vco_frequency()
530 (dividers->ref_div + 1); in rv6xx_calculate_vco_frequency()
553 struct atom_clock_dividers dividers; in rv6xx_program_engine_spread_spectrum() local
560 …if (radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, clock, false, &dividers) == 0) { in rv6xx_program_engine_spread_spectrum()
561 vco_freq = rv6xx_calculate_vco_frequency(ref_clk, &dividers, in rv6xx_program_engine_spread_spectrum()
[all …]
H A Drv770_dpm.c322 struct atom_clock_dividers *dividers, in rv770_calculate_fractional_mpll_feedback_divider() argument
334 post_divider = dividers->post_div; in rv770_calculate_fractional_mpll_feedback_divider()
335 reference_divider = dividers->ref_div; in rv770_calculate_fractional_mpll_feedback_divider()
404 struct atom_clock_dividers dividers; in rv770_populate_mclk_value() local
412 memory_clock, false, &dividers); in rv770_populate_mclk_value()
416 if ((dividers.ref_div < 1) || (dividers.ref_div > 5)) in rv770_populate_mclk_value()
421 &dividers, &clkf, &clkfrac); in rv770_populate_mclk_value()
423 ret = rv770_encode_yclk_post_div(dividers.post_div, &postdiv_yclk); in rv770_populate_mclk_value()
434 mpll_ad_func_cntl |= CLKR(encoded_reference_dividers[dividers.ref_div - 1]); in rv770_populate_mclk_value()
440 if (dividers.vco_mode) in rv770_populate_mclk_value()
[all …]
H A Dcypress_dpm.c493 struct atom_clock_dividers dividers; in cypress_populate_mclk_value() local
500 memory_clock, strobe_mode, &dividers); in cypress_populate_mclk_value()
508 dividers.post_div = 1; in cypress_populate_mclk_value()
511 ibias = cypress_map_clkf_to_ibias(rdev, dividers.whole_fb_div); in cypress_populate_mclk_value()
518 mpll_ad_func_cntl |= CLKR(dividers.ref_div); in cypress_populate_mclk_value()
519 mpll_ad_func_cntl |= YCLK_POST_DIV(dividers.post_div); in cypress_populate_mclk_value()
520 mpll_ad_func_cntl |= CLKF(dividers.whole_fb_div); in cypress_populate_mclk_value()
521 mpll_ad_func_cntl |= CLKFRAC(dividers.frac_fb_div); in cypress_populate_mclk_value()
524 if (dividers.vco_mode) in cypress_populate_mclk_value()
535 mpll_dq_func_cntl |= CLKR(dividers.ref_div); in cypress_populate_mclk_value()
[all …]
/openbmc/linux/drivers/clk/baikal-t1/
H A DKconfig12 configurable and fixed clock dividers. Enable this option to be able
13 to select Baikal-T1 CCU PLLs and Dividers drivers.
27 CPUs, DDR, etc.) or passed over the clock dividers to be only
31 bool "Baikal-T1 CCU Dividers support"
35 Enable this to support the CCU dividers used to distribute clocks
37 SoC. CCU dividers can be either configurable or with fixed divider,
38 either gateable or ungateable. Some of the CCU dividers can be as well
/openbmc/linux/Documentation/devicetree/bindings/clock/ti/
H A Ddivider.txt30 Additionally an array of valid dividers may be supplied like so:
32 ti,dividers = <4>, <8>, <0>, <16>;
45 unless the divider array is provided, min and max dividers. Optionally
63 - ti,dividers : array of integers defining divisors
68 if ti,dividers is not defined.
70 only valid if ti,dividers is not defined.
72 only valid if ti,dividers is not defined.
116 ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
/openbmc/linux/drivers/gpu/drm/amd/display/modules/color/
H A Dcolor_gamma.c286 struct dividers { struct
1175 struct dividers dividers) in scale_gamma() argument
1211 dividers.divider1); in scale_gamma()
1213 dividers.divider1); in scale_gamma()
1215 dividers.divider1); in scale_gamma()
1220 dividers.divider2); in scale_gamma()
1222 dividers.divider2); in scale_gamma()
1224 dividers.divider2); in scale_gamma()
1229 dividers.divider3); in scale_gamma()
1231 dividers.divider3); in scale_gamma()
[all …]
/openbmc/linux/Documentation/devicetree/bindings/clock/
H A Dbaikal,bt1-ccu-div.yaml8 title: Baikal-T1 Clock Control Unit Dividers
19 by means of an embedded into CCU PLLs and gateable/non-gateable dividers. The
26 3) AXI-bus clock dividers (AXI) - described in this binding file.
27 4) System devices reference clock dividers (SYS) - described in this binding
51 then passed over CCU dividers to create signals required for the target clock
52 domain (like AXI-bus or System Device consumers). The dividers have the
71 peculiarities the dividers may lack of some functionality depicted on the
76 The clock dividers, which output clock is then consumed by the SoC individual
78 Similarly the dividers with output clocks utilized as AXI-bus reference clocks
H A Dbaikal,bt1-ccu-pll.yaml19 by means of PLLs and gateable/non-gateable dividers embedded into the CCU.
24 3) AXI-bus clock dividers (AXI).
25 4) System devices reference clock dividers (SYS).
73 the binding supports the PLL dividers configuration in accordance with a
H A Ddove-divider-clock.txt3 Marvell Dove has a 2GHz PLL, which feeds into a set of dividers to provide
4 high speed clocks for a number of peripherals. These dividers are part of
H A Dmediatek,mt8188-sys-clock.yaml15 dividers -->
21 The topckgen provides dividers and muxes which provide the clock source to other IP blocks.
/openbmc/linux/sound/soc/codecs/
H A Dwm8510.h61 /* DAC clock dividers */
65 /* ADC clock dividers */
69 /* PLL Out dividers */
75 /* BCLK clock dividers */
83 /* MCLK clock dividers */
H A Dwm8940.h74 /* MCLK clock dividers */
84 /* BCLK clock dividers */
92 /* PLL Out Dividers */
H A Dwm8974.h59 /* PLL Out dividers */
65 /* BCLK clock dividers */
73 /* MCLK clock dividers */
H A Dwm8753.h87 /* PCM clock dividers */
96 /* BCLK clock dividers */
103 /* VXCLK clock dividers */
/openbmc/linux/drivers/gpu/drm/amd/pm/powerplay/hwmgr/
H A Dppatomctrl.c390 pp_atomctrl_clock_dividers_kong *dividers) in atomctrl_get_engine_pll_dividers_kong() argument
403 dividers->pll_post_divider = pll_parameters.ucPostDiv; in atomctrl_get_engine_pll_dividers_kong()
404 dividers->real_clock = le32_to_cpu(pll_parameters.ulClock); in atomctrl_get_engine_pll_dividers_kong()
413 pp_atomctrl_clock_dividers_vi *dividers) in atomctrl_get_engine_pll_dividers_vi() argument
427 dividers->pll_post_divider = in atomctrl_get_engine_pll_dividers_vi()
429 dividers->real_clock = in atomctrl_get_engine_pll_dividers_vi()
432 dividers->ul_fb_div.ul_fb_div_frac = in atomctrl_get_engine_pll_dividers_vi()
434 dividers->ul_fb_div.ul_fb_div = in atomctrl_get_engine_pll_dividers_vi()
437 dividers->uc_pll_ref_div = in atomctrl_get_engine_pll_dividers_vi()
439 dividers->uc_pll_post_div = in atomctrl_get_engine_pll_dividers_vi()
[all …]
H A Dppatomfwctrl.c244 * @param dividers output parameter:Clock dividers
248 struct pp_atomfwctrl_clock_dividers_soc15 *dividers) in pp_atomfwctrl_get_gpu_pll_dividers_vega10() argument
266 dividers->ulClock = le32_to_cpu(pll_output->gpuclock_10khz); in pp_atomfwctrl_get_gpu_pll_dividers_vega10()
267 dividers->ulDid = le32_to_cpu(pll_output->dfs_did); in pp_atomfwctrl_get_gpu_pll_dividers_vega10()
268 dividers->ulPll_fb_mult = le32_to_cpu(pll_output->pll_fb_mult); in pp_atomfwctrl_get_gpu_pll_dividers_vega10()
269 dividers->ulPll_ss_fbsmult = le32_to_cpu(pll_output->pll_ss_fbsmult); in pp_atomfwctrl_get_gpu_pll_dividers_vega10()
270 dividers->usPll_ss_slew_frac = le16_to_cpu(pll_output->pll_ss_slew_frac); in pp_atomfwctrl_get_gpu_pll_dividers_vega10()
271 dividers->ucPll_ss_enable = pll_output->pll_ss_enable; in pp_atomfwctrl_get_gpu_pll_dividers_vega10()
/openbmc/linux/drivers/clk/samsung/
H A Dclk-cpu.c119 * rate. Although there exist certain dividers inside the CPU in exynos_cpuclk_recalc_rate()
133 * Helper function to set the 'safe' dividers for the CPU clock. The parameters
135 * dividers to be programmed.
170 * the values for DIV_COPY and DIV_HPM dividers need not be set. in exynos_cpuclk_pre_rate_change()
183 * the armclk speed is more than the old_prate until the dividers are in exynos_cpuclk_pre_rate_change()
184 * set. Also workaround the issue of the dividers being set to lower in exynos_cpuclk_pre_rate_change()
211 /* alternate parent is active now. set the dividers */ in exynos_cpuclk_pre_rate_change()
261 * Helper function to set the 'safe' dividers for the CPU clock. The parameters
263 * dividers to be programmed.
305 * the armclk speed is more than the old_prate until the dividers are in exynos5433_cpuclk_pre_rate_change()
[all …]
/openbmc/linux/drivers/gpu/drm/renesas/rcar-du/
H A Drcar_dw_hdmi.c17 #define RCAR_HDMI_PHY_OPMODE_PLLCFG 0x06 /* Mode of operation and PLL dividers */
19 #define RCAR_HDMI_PHY_PLLDIVCTRL 0x11 /* PLL dividers */
23 u16 opmode_div; /* Mode of operation and PLL dividers */
25 u16 div; /* PLL dividers */
/openbmc/linux/drivers/clk/rockchip/
H A Dclk-cpu.c48 * @rate_table: pll-rates and their associated dividers
103 /* alternate parent is active now. set the dividers */ in rockchip_cpuclk_set_dividers()
176 * the armclk speed is more than the old_rate until the dividers are in rockchip_cpuclk_pre_rate_change()
180 /* calculate dividers */ in rockchip_cpuclk_pre_rate_change()
189 * Change parents and add dividers in a single transaction. in rockchip_cpuclk_pre_rate_change()
192 * dividing the primary parent by the extra dividers that were in rockchip_cpuclk_pre_rate_change()
244 * post-rate change event, re-mux to primary parent and remove dividers. in rockchip_cpuclk_post_rate_change()
247 * primary parent by the extra dividers that were needed for the alt. in rockchip_cpuclk_post_rate_change()
263 /* remove dividers */ in rockchip_cpuclk_post_rate_change()
/openbmc/u-boot/drivers/clk/mvebu/
H A Darmada-37xx-periph.c81 unsigned dividers : 2; member
121 .dividers = 2, \
135 .dividers = 1, \
148 .dividers = 1, \
168 .dividers = 1, \
184 .dividers = 2, \
311 /* divide the parent rate by dividers */ in periph_clk_get_rate()
313 for (i = 0; i < clk->dividers; ++i) in periph_clk_get_rate()
408 if (!periph_clk->can_gate || !periph_clk->dividers) in armada_37xx_periph_clk_set_rate()
416 if (periph_clk->dividers > 1) in armada_37xx_periph_clk_set_rate()
[all …]
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_atombios.c1000 struct atom_clock_dividers *dividers) in amdgpu_atombios_get_clock_dividers() argument
1007 memset(dividers, 0, sizeof(struct atom_clock_dividers)); in amdgpu_atombios_get_clock_dividers()
1023 dividers->post_div = args.v3.ucPostDiv; in amdgpu_atombios_get_clock_dividers()
1024 dividers->enable_post_div = (args.v3.ucCntlFlag & in amdgpu_atombios_get_clock_dividers()
1026 dividers->enable_dithen = (args.v3.ucCntlFlag & in amdgpu_atombios_get_clock_dividers()
1028 dividers->whole_fb_div = le16_to_cpu(args.v3.ulFbDiv.usFbDiv); in amdgpu_atombios_get_clock_dividers()
1029 dividers->frac_fb_div = le16_to_cpu(args.v3.ulFbDiv.usFbDivFrac); in amdgpu_atombios_get_clock_dividers()
1030 dividers->ref_div = args.v3.ucRefDiv; in amdgpu_atombios_get_clock_dividers()
1031 dividers->vco_mode = (args.v3.ucCntlFlag & in amdgpu_atombios_get_clock_dividers()
1043 dividers->post_div = args.v5.ucPostDiv; in amdgpu_atombios_get_clock_dividers()
[all …]
/openbmc/linux/sound/soc/pxa/
H A Dpxa-ssp.h16 /* SSP audio dividers */
21 /* SSP ACDS audio dividers values */
/openbmc/linux/Documentation/devicetree/bindings/arm/mediatek/
H A Dmediatek,mt8186-sys-clock.yaml15 dividers -->
21 The topckgen provides dividers and muxes which provide the clock source to other IP blocks.

12345678910>>...16