Home
last modified time | relevance | path

Searched refs:clk_div (Results 1 - 25 of 168) sorted by relevance

1234567

/kernel/linux/linux-5.10/drivers/pwm/
H A Dpwm-crc.c44 int clk_div; in crc_pwm_calc_clk_div() local
46 clk_div = PWM_BASE_CLK_MHZ * period_ns / (256 * NSEC_PER_USEC); in crc_pwm_calc_clk_div()
47 /* clk_div 1 - 128, maps to register values 0-127 */ in crc_pwm_calc_clk_div()
48 if (clk_div > 0) in crc_pwm_calc_clk_div()
49 clk_div--; in crc_pwm_calc_clk_div()
51 return clk_div; in crc_pwm_calc_clk_div()
102 int clk_div = crc_pwm_calc_clk_div(state->period); in crc_pwm_apply() local
106 clk_div | pwm_output_enable); in crc_pwm_apply()
129 unsigned int clk_div, clk_div_reg, duty_cycle_reg; in crc_pwm_get_state() local
144 clk_div in crc_pwm_get_state()
[all...]
/kernel/linux/linux-6.6/drivers/pwm/
H A Dpwm-crc.c44 int clk_div; in crc_pwm_calc_clk_div() local
46 clk_div = PWM_BASE_CLK_MHZ * period_ns / (256 * NSEC_PER_USEC); in crc_pwm_calc_clk_div()
47 /* clk_div 1 - 128, maps to register values 0-127 */ in crc_pwm_calc_clk_div()
48 if (clk_div > 0) in crc_pwm_calc_clk_div()
49 clk_div--; in crc_pwm_calc_clk_div()
51 return clk_div; in crc_pwm_calc_clk_div()
102 int clk_div = crc_pwm_calc_clk_div(state->period); in crc_pwm_apply() local
106 clk_div | pwm_output_enable); in crc_pwm_apply()
129 unsigned int clk_div, clk_div_reg, duty_cycle_reg; in crc_pwm_get_state() local
144 clk_div in crc_pwm_get_state()
[all...]
H A Dpwm-mtk-disp.c74 u32 clk_div, period, high_width, value; in mtk_disp_pwm_apply() local
109 * Find period, high_width and clk_div to suit duty_ns and period_ns. in mtk_disp_pwm_apply()
112 * period_ns = 10^9 * (clk_div + 1) * (period + 1) / PWM_CLK_RATE in mtk_disp_pwm_apply()
113 * duty_ns = 10^9 * (clk_div + 1) * high_width / PWM_CLK_RATE in mtk_disp_pwm_apply()
115 * period = (PWM_CLK_RATE * period_ns) / (10^9 * (clk_div + 1)) - 1 in mtk_disp_pwm_apply()
116 * high_width = (PWM_CLK_RATE * duty_ns) / (10^9 * (clk_div + 1)) in mtk_disp_pwm_apply()
119 clk_div = mul_u64_u64_div_u64(state->period, rate, NSEC_PER_SEC) >> in mtk_disp_pwm_apply()
121 if (clk_div > PWM_CLKDIV_MAX) { in mtk_disp_pwm_apply()
129 div = NSEC_PER_SEC * (clk_div + 1); in mtk_disp_pwm_apply()
152 clk_div << PWM_CLKDIV_SHIF in mtk_disp_pwm_apply()
179 u32 clk_div, pwm_en, con0, con1; mtk_disp_pwm_get_state() local
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/xilinx/
H A Dll_temac_mdio.c69 int clk_div; in temac_mdio_setup() local
81 clk_div = 0x3f; /* worst-case default setting */ in temac_mdio_setup()
83 clk_div = bus_hz / (2500 * 1000 * 2) - 1; in temac_mdio_setup()
84 if (clk_div < 1) in temac_mdio_setup()
85 clk_div = 1; in temac_mdio_setup()
86 if (clk_div > 0x3f) in temac_mdio_setup()
87 clk_div = 0x3f; in temac_mdio_setup()
92 temac_indirect_out32(lp, XTE_MC_OFFSET, 1 << 6 | clk_div); in temac_mdio_setup()
H A Dxilinx_axienet_mdio.c127 u32 clk_div, host_clock; in axienet_mdio_enable() local
154 /* clk_div can be calculated by deriving it from the equation: in axienet_mdio_enable()
155 * fMDIO = fHOST / ((1 + clk_div) * 2) in axienet_mdio_enable()
158 * fHOST / ((1 + clk_div) * 2) <= 2500000 in axienet_mdio_enable()
161 * 1 / ((1 + clk_div) * 2) <= (2500000 / fHOST) in axienet_mdio_enable()
164 * 1 / (1 + clk_div) <= ((2500000 * 2) / fHOST) in axienet_mdio_enable()
167 * 1 / (1 + clk_div) <= (5000000 / fHOST) in axienet_mdio_enable()
170 * (1 + clk_div) >= (fHOST / 5000000) in axienet_mdio_enable()
173 * clk_div >= (fHOST / 5000000) - 1 in axienet_mdio_enable()
179 clk_div in axienet_mdio_enable()
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/xilinx/
H A Dll_temac_mdio.c70 int clk_div; in temac_mdio_setup() local
82 clk_div = 0x3f; /* worst-case default setting */ in temac_mdio_setup()
84 clk_div = bus_hz / (2500 * 1000 * 2) - 1; in temac_mdio_setup()
85 if (clk_div < 1) in temac_mdio_setup()
86 clk_div = 1; in temac_mdio_setup()
87 if (clk_div > 0x3f) in temac_mdio_setup()
88 clk_div = 0x3f; in temac_mdio_setup()
94 temac_indirect_out32(lp, XTE_MC_OFFSET, 1 << 6 | clk_div); in temac_mdio_setup()
H A Dxilinx_axienet_mdio.c162 u32 clk_div; in axienet_mdio_enable() local
198 /* clk_div can be calculated by deriving it from the equation: in axienet_mdio_enable()
199 * fMDIO = fHOST / ((1 + clk_div) * 2) in axienet_mdio_enable()
202 * fHOST / ((1 + clk_div) * 2) <= 2500000 in axienet_mdio_enable()
205 * 1 / ((1 + clk_div) * 2) <= (2500000 / fHOST) in axienet_mdio_enable()
208 * 1 / (1 + clk_div) <= ((2500000 * 2) / fHOST) in axienet_mdio_enable()
211 * 1 / (1 + clk_div) <= (5000000 / fHOST) in axienet_mdio_enable()
214 * (1 + clk_div) >= (fHOST / 5000000) in axienet_mdio_enable()
217 * clk_div >= (fHOST / 5000000) - 1 in axienet_mdio_enable()
223 clk_div in axienet_mdio_enable()
[all...]
/kernel/linux/linux-5.10/drivers/mfd/
H A Dfsl-imx25-tsadc.c103 unsigned clk_div; in mx25_tsadc_setup_clk() local
115 clk_div = DIV_ROUND_UP(clk_get_rate(tsadc->clk), 1750000); in mx25_tsadc_setup_clk()
116 dev_dbg(&pdev->dev, "Setting up ADC clock divider to %u\n", clk_div); in mx25_tsadc_setup_clk()
119 clk_div -= 2; in mx25_tsadc_setup_clk()
120 clk_div /= 2; in mx25_tsadc_setup_clk()
126 clk_div = max_t(unsigned, 4, clk_div); in mx25_tsadc_setup_clk()
129 clk_get_rate(tsadc->clk) / (2 * clk_div + 2)); in mx25_tsadc_setup_clk()
133 MX25_TGCR_ADCCLKCFG(clk_div)); in mx25_tsadc_setup_clk()
/kernel/linux/linux-6.6/drivers/mfd/
H A Dfsl-imx25-tsadc.c103 unsigned clk_div; in mx25_tsadc_setup_clk() local
115 clk_div = DIV_ROUND_UP(clk_get_rate(tsadc->clk), 1750000); in mx25_tsadc_setup_clk()
116 dev_dbg(&pdev->dev, "Setting up ADC clock divider to %u\n", clk_div); in mx25_tsadc_setup_clk()
119 clk_div -= 2; in mx25_tsadc_setup_clk()
120 clk_div /= 2; in mx25_tsadc_setup_clk()
126 clk_div = max_t(unsigned, 4, clk_div); in mx25_tsadc_setup_clk()
129 clk_get_rate(tsadc->clk) / (2 * clk_div + 2)); in mx25_tsadc_setup_clk()
133 MX25_TGCR_ADCCLKCFG(clk_div)); in mx25_tsadc_setup_clk()
/kernel/linux/linux-5.10/drivers/clk/mxs/
H A Dclk-div.c12 * struct clk_div - mxs integer divider clock
21 struct clk_div { struct
28 static inline struct clk_div *to_clk_div(struct clk_hw *hw) in to_clk_div()
32 return container_of(divider, struct clk_div, divider); in to_clk_div()
38 struct clk_div *div = to_clk_div(hw); in clk_div_recalc_rate()
46 struct clk_div *div = to_clk_div(hw); in clk_div_round_rate()
54 struct clk_div *div = to_clk_div(hw); in clk_div_set_rate()
73 struct clk_div *div; in mxs_clk_div()
/kernel/linux/linux-6.6/drivers/clk/mxs/
H A Dclk-div.c12 * struct clk_div - mxs integer divider clock
21 struct clk_div { struct
28 static inline struct clk_div *to_clk_div(struct clk_hw *hw) in to_clk_div()
32 return container_of(divider, struct clk_div, divider); in to_clk_div()
38 struct clk_div *div = to_clk_div(hw); in clk_div_recalc_rate()
46 struct clk_div *div = to_clk_div(hw); in clk_div_round_rate()
54 struct clk_div *div = to_clk_div(hw); in clk_div_set_rate()
73 struct clk_div *div; in mxs_clk_div()
/kernel/linux/linux-5.10/arch/mips/ath25/
H A Dar2315.c208 unsigned int clk_div; in ar2315_sys_clk() local
221 clk_div = ATH25_REG_MS(pllc_ctrl, AR2315_PLLC_CLKM_DIV); in ar2315_sys_clk()
222 clk_div = pllc_divide_table[clk_div]; in ar2315_sys_clk()
225 clk_div = ATH25_REG_MS(pllc_ctrl, AR2315_PLLC_CLKC_DIV); in ar2315_sys_clk()
226 clk_div = pllc_divide_table[clk_div]; in ar2315_sys_clk()
230 clk_div = 1; in ar2315_sys_clk()
237 return pllc_out / (clk_div * cpu_div); in ar2315_sys_clk()
/kernel/linux/linux-6.6/arch/mips/ath25/
H A Dar2315.c208 unsigned int clk_div; in ar2315_sys_clk() local
221 clk_div = ATH25_REG_MS(pllc_ctrl, AR2315_PLLC_CLKM_DIV); in ar2315_sys_clk()
222 clk_div = pllc_divide_table[clk_div]; in ar2315_sys_clk()
225 clk_div = ATH25_REG_MS(pllc_ctrl, AR2315_PLLC_CLKC_DIV); in ar2315_sys_clk()
226 clk_div = pllc_divide_table[clk_div]; in ar2315_sys_clk()
230 clk_div = 1; in ar2315_sys_clk()
237 return pllc_out / (clk_div * cpu_div); in ar2315_sys_clk()
/kernel/linux/linux-5.10/drivers/spi/
H A Dspi-axi-spi-engine.c133 unsigned int clk_div; in spi_engine_get_clk_div() local
135 clk_div = DIV_ROUND_UP(clk_get_rate(spi_engine->ref_clk), in spi_engine_get_clk_div()
137 if (clk_div > 255) in spi_engine_get_clk_div()
138 clk_div = 255; in spi_engine_get_clk_div()
139 else if (clk_div > 0) in spi_engine_get_clk_div()
140 clk_div -= 1; in spi_engine_get_clk_div()
142 return clk_div; in spi_engine_get_clk_div()
166 struct spi_engine *spi_engine, unsigned int clk_div, in spi_engine_gen_sleep()
185 t = DIV_ROUND_UP(delay * spi_clk, (clk_div + 1) * 2); in spi_engine_gen_sleep()
210 int clk_div, new_clk_di in spi_engine_compile_message() local
165 spi_engine_gen_sleep(struct spi_engine_program *p, bool dry, struct spi_engine *spi_engine, unsigned int clk_div, struct spi_transfer *xfer) spi_engine_gen_sleep() argument
[all...]
/kernel/linux/linux-6.6/drivers/spi/
H A Dspi-axi-spi-engine.c133 unsigned int clk_div; in spi_engine_get_clk_div() local
135 clk_div = DIV_ROUND_UP(clk_get_rate(spi_engine->ref_clk), in spi_engine_get_clk_div()
137 if (clk_div > 255) in spi_engine_get_clk_div()
138 clk_div = 255; in spi_engine_get_clk_div()
139 else if (clk_div > 0) in spi_engine_get_clk_div()
140 clk_div -= 1; in spi_engine_get_clk_div()
142 return clk_div; in spi_engine_get_clk_div()
166 struct spi_engine *spi_engine, unsigned int clk_div, in spi_engine_gen_sleep()
181 t = DIV_ROUND_UP(delay * spi_clk, (clk_div + 1) * 2); in spi_engine_gen_sleep()
206 int clk_div, new_clk_di in spi_engine_compile_message() local
165 spi_engine_gen_sleep(struct spi_engine_program *p, bool dry, struct spi_engine *spi_engine, unsigned int clk_div, struct spi_transfer *xfer) spi_engine_gen_sleep() argument
[all...]
H A Dspi-hisi-kunpeng.c117 u16 clk_div; /* baud rate divider */ member
119 /* clk_div = (1 + div_post) * div_pre */
282 if (chip->clk_div % chip->div_pre == 0) in __hisi_calc_div_reg()
288 if (chip->div_pre > chip->clk_div) in __hisi_calc_div_reg()
289 chip->div_pre = chip->clk_div; in __hisi_calc_div_reg()
291 chip->div_post = (chip->clk_div / chip->div_pre) - 1; in __hisi_calc_div_reg()
300 chip->clk_div = DIV_ROUND_UP(host->max_speed_hz, speed_hz) + 1; in hisi_calc_effective_speed()
301 chip->clk_div &= 0xfffe; in hisi_calc_effective_speed()
302 if (chip->clk_div > CLK_DIV_MAX) in hisi_calc_effective_speed()
303 chip->clk_div in hisi_calc_effective_speed()
[all...]
/kernel/linux/linux-5.10/sound/soc/ti/
H A Ddavinci-i2s.c161 int clk_div; member
372 dev->clk_div = div; in davinci_i2s_dai_set_clkdiv()
383 unsigned int rcr, xcr, srgr, clk_div, freq, framesize; in davinci_i2s_hw_params() local
410 clk_div = 256; in davinci_i2s_hw_params()
412 framesize = (freq / (--clk_div)) / in davinci_i2s_hw_params()
416 (clk_div)); in davinci_i2s_hw_params()
417 clk_div--; in davinci_i2s_hw_params()
421 clk_div = freq / (mcbsp_word_length * 16) / in davinci_i2s_hw_params()
426 clk_div &= 0xFF; in davinci_i2s_hw_params()
427 srgr |= clk_div; in davinci_i2s_hw_params()
[all...]
/kernel/linux/linux-6.6/sound/soc/ti/
H A Ddavinci-i2s.c161 int clk_div; member
372 dev->clk_div = div; in davinci_i2s_dai_set_clkdiv()
383 unsigned int rcr, xcr, srgr, clk_div, freq, framesize; in davinci_i2s_hw_params() local
410 clk_div = 256; in davinci_i2s_hw_params()
412 framesize = (freq / (--clk_div)) / in davinci_i2s_hw_params()
416 (clk_div)); in davinci_i2s_hw_params()
417 clk_div--; in davinci_i2s_hw_params()
421 clk_div = freq / (mcbsp_word_length * 16) / in davinci_i2s_hw_params()
426 clk_div &= 0xFF; in davinci_i2s_hw_params()
427 srgr |= clk_div; in davinci_i2s_hw_params()
[all...]
/kernel/linux/linux-5.10/drivers/i2c/busses/
H A Di2c-mt7621.c64 u32 clk_div; member
95 iowrite32(((i2c->clk_div << 16) & SM0CTL0_CLK_DIV_MASK) | SM0CTL0_EN | in mtk_i2c_reset()
262 i2c->clk_div = clk_get_rate(i2c->clk) / i2c->bus_freq - 1; in mtk_i2c_init()
263 if (i2c->clk_div < 99) in mtk_i2c_init()
264 i2c->clk_div = 99; in mtk_i2c_init()
265 if (i2c->clk_div > SM0CTL0_CLK_DIV_MAX) in mtk_i2c_init()
266 i2c->clk_div = SM0CTL0_CLK_DIV_MAX; in mtk_i2c_init()
H A Di2c-sun6i-p2wi.c192 int clk_div; in p2wi_probe() local
292 clk_div = parent_clk_freq / clk_freq; in p2wi_probe()
293 if (!clk_div) { in p2wi_probe()
297 clk_div = 1; in p2wi_probe()
298 } else if (clk_div > P2WI_CCR_MAX_CLK_DIV) { in p2wi_probe()
302 clk_div = P2WI_CCR_MAX_CLK_DIV; in p2wi_probe()
305 writel(P2WI_CCR_SDA_OUT_DELAY(1) | P2WI_CCR_CLK_DIV(clk_div), in p2wi_probe()
/kernel/linux/linux-6.6/drivers/i2c/busses/
H A Di2c-mt7621.c65 u32 clk_div; member
96 iowrite32(((i2c->clk_div << 16) & SM0CTL0_CLK_DIV_MASK) | SM0CTL0_EN | in mtk_i2c_reset()
263 i2c->clk_div = clk_get_rate(i2c->clk) / i2c->bus_freq - 1; in mtk_i2c_init()
264 if (i2c->clk_div < 99) in mtk_i2c_init()
265 i2c->clk_div = 99; in mtk_i2c_init()
266 if (i2c->clk_div > SM0CTL0_CLK_DIV_MAX) in mtk_i2c_init()
267 i2c->clk_div = SM0CTL0_CLK_DIV_MAX; in mtk_i2c_init()
H A Di2c-sun6i-p2wi.c192 int clk_div; in p2wi_probe() local
286 clk_div = parent_clk_freq / clk_freq; in p2wi_probe()
287 if (!clk_div) { in p2wi_probe()
291 clk_div = 1; in p2wi_probe()
292 } else if (clk_div > P2WI_CCR_MAX_CLK_DIV) { in p2wi_probe()
296 clk_div = P2WI_CCR_MAX_CLK_DIV; in p2wi_probe()
299 writel(P2WI_CCR_SDA_OUT_DELAY(1) | P2WI_CCR_CLK_DIV(clk_div), in p2wi_probe()
H A Di2c-pasemi-platform.c32 data->smbus.clk_div = DIV_ROUND_UP(clk_rate, 16 * frequency); in pasemi_platform_i2c_calc_clk_div()
33 if (data->smbus.clk_div < 4) in pasemi_platform_i2c_calc_clk_div()
37 if (data->smbus.clk_div > 0xff) in pasemi_platform_i2c_calc_clk_div()
/kernel/linux/linux-6.6/include/linux/dma/
H A Dqcom-gpi-dma.h26 * @clk_div: source clock divider
43 u32 clk_div; member
61 * @clk_div: source clock divider
77 u16 clk_div; member
/kernel/linux/linux-6.6/drivers/clk/
H A Dclk-versaclock3.c601 static struct vc3_hw_data clk_div[5]; variable
605 { .hw = &clk_div[VC3_DIV2].hw }
805 static struct vc3_hw_data clk_div[] = { variable
908 &clk_div[VC3_DIV5].hw,
909 &clk_div[VC3_DIV4].hw
924 &clk_div[VC3_DIV5].hw,
925 &clk_div[VC3_DIV4].hw
940 &clk_div[VC3_DIV2].hw,
941 &clk_div[VC3_DIV4].hw
956 &clk_div[VC3_DIV
[all...]

Completed in 13 milliseconds

1234567