Home
last modified time | relevance | path

Searched refs:period_cycles (Results 1 - 22 of 22) sorted by relevance

/kernel/linux/linux-6.6/drivers/pwm/
H A Dpwm-xilinx.c105 u64 period_cycles, duty_cycles; in xilinx_pwm_apply() local
120 period_cycles = min_t(u64, state->period, U32_MAX * NSEC_PER_SEC); in xilinx_pwm_apply()
121 period_cycles = mul_u64_u32_div(period_cycles, rate, NSEC_PER_SEC); in xilinx_pwm_apply()
122 period_cycles = min_t(u64, period_cycles, priv->max + 2); in xilinx_pwm_apply()
123 if (period_cycles < 2) in xilinx_pwm_apply()
135 if (duty_cycles >= period_cycles) in xilinx_pwm_apply()
136 duty_cycles = period_cycles - 1; in xilinx_pwm_apply()
140 duty_cycles = period_cycles; in xilinx_pwm_apply()
[all...]
H A Dpwm-ep93xx.c69 unsigned long period_cycles; in ep93xx_pwm_apply() local
118 period_cycles = c; in ep93xx_pwm_apply()
120 c = period_cycles; in ep93xx_pwm_apply()
125 if (period_cycles < 0x10000 && duty_cycles < 0x10000) { in ep93xx_pwm_apply()
129 if (period_cycles > term) { in ep93xx_pwm_apply()
130 writew(period_cycles, base + EP93XX_PWMx_TERM_COUNT); in ep93xx_pwm_apply()
134 writew(period_cycles, base + EP93XX_PWMx_TERM_COUNT); in ep93xx_pwm_apply()
H A Dpwm-lpc32xx.c34 int period_cycles, duty_cycles; in lpc32xx_pwm_config() local
39 period_cycles = div64_u64(c * period_ns, in lpc32xx_pwm_config()
41 if (!period_cycles || period_cycles > 256) in lpc32xx_pwm_config()
43 if (period_cycles == 256) in lpc32xx_pwm_config()
44 period_cycles = 0; in lpc32xx_pwm_config()
56 val |= (period_cycles << 8) | duty_cycles; in lpc32xx_pwm_config()
H A Dpwm-tiehrpwm.c111 unsigned long period_cycles[NUM_PWM_CHANNEL]; member
215 * period_ns = 10^9 * (ps_divval * period_cycles) / PWM_CLK_RATE
222 u32 period_cycles, duty_cycles; in ehrpwm_pwm_config() local
233 period_cycles = (unsigned long)c; in ehrpwm_pwm_config()
235 if (period_cycles < 1) { in ehrpwm_pwm_config()
236 period_cycles = 1; in ehrpwm_pwm_config()
250 if (pc->period_cycles[i] && in ehrpwm_pwm_config()
251 (pc->period_cycles[i] != period_cycles)) { in ehrpwm_pwm_config()
266 pc->period_cycles[pw in ehrpwm_pwm_config()
[all...]
H A Dpwm-pxa.c73 unsigned long period_cycles, prescale, pv, dc; in pxa_pwm_config() local
81 period_cycles = c; in pxa_pwm_config()
83 if (period_cycles < 1) in pxa_pwm_config()
84 period_cycles = 1; in pxa_pwm_config()
85 prescale = (period_cycles - 1) / 1024; in pxa_pwm_config()
86 pv = period_cycles / (prescale + 1) - 1; in pxa_pwm_config()
H A Dpwm-imx27.c220 unsigned long period_cycles, duty_cycles, prescale; in pwm_imx27_apply() local
234 period_cycles = c; in pwm_imx27_apply()
236 prescale = period_cycles / 0x10000 + 1; in pwm_imx27_apply()
238 period_cycles /= prescale; in pwm_imx27_apply()
248 if (period_cycles > 2) in pwm_imx27_apply()
249 period_cycles -= 2; in pwm_imx27_apply()
251 period_cycles = 0; in pwm_imx27_apply()
268 writel(period_cycles, imx->mmio_base + MX3_PWMPR); in pwm_imx27_apply()
H A Dpwm-omap-dmtimer.c156 u32 period_cycles, duty_cycles; in pwm_omap_dmtimer_config() local
198 period_cycles = pwm_omap_dmtimer_get_clock_cycles(clk_rate, period_ns); in pwm_omap_dmtimer_config()
201 if (period_cycles < 2) { in pwm_omap_dmtimer_config()
214 } else if (duty_cycles >= period_cycles) { in pwm_omap_dmtimer_config()
219 duty_cycles = period_cycles - 1; in pwm_omap_dmtimer_config()
225 DIV_ROUND_CLOSEST_ULL((u64)NSEC_PER_SEC * period_cycles, in pwm_omap_dmtimer_config()
228 load_value = (DM_TIMER_MAX - period_cycles) + 1; in pwm_omap_dmtimer_config()
H A Dpwm-vt8500.c74 unsigned long period_cycles, prescale, pv, dc; in vt8500_pwm_config() local
87 period_cycles = c; in vt8500_pwm_config()
89 if (period_cycles < 1) in vt8500_pwm_config()
90 period_cycles = 1; in vt8500_pwm_config()
91 prescale = (period_cycles - 1) / 4096; in vt8500_pwm_config()
92 pv = period_cycles / (prescale + 1) - 1; in vt8500_pwm_config()
H A Dpwm-tiecap.c47 * period_ns = 10^9 * period_cycles / PWM_CLK_RATE
54 u32 period_cycles, duty_cycles; in ecap_pwm_config() local
61 period_cycles = (u32)c; in ecap_pwm_config()
63 if (period_cycles < 1) { in ecap_pwm_config()
64 period_cycles = 1; in ecap_pwm_config()
85 writel(period_cycles, pc->mmio_base + CAP1); in ecap_pwm_config()
93 writel(period_cycles, pc->mmio_base + CAP3); in ecap_pwm_config()
H A Dpwm-bcm2835.c67 unsigned long long period_cycles; in bcm2835_pwm_apply() local
78 * period_cycles must be a 32 bit value, so period * rate / NSEC_PER_SEC in bcm2835_pwm_apply()
97 period_cycles = DIV_ROUND_CLOSEST_ULL(state->period * rate, NSEC_PER_SEC); in bcm2835_pwm_apply()
100 if (period_cycles < PERIOD_MIN) in bcm2835_pwm_apply()
103 writel(period_cycles, pc->base + PERIOD(pwm->hwpwm)); in bcm2835_pwm_apply()
H A Dpwm-mxs.c52 unsigned int period_cycles, duty_cycles; in mxs_pwm_apply() local
83 period_cycles = c; in mxs_pwm_apply()
99 writel(PERIOD_PERIOD(period_cycles) | pol_bits | PERIOD_CDIV(div), in mxs_pwm_apply()
H A Dpwm-rz-mtu3.c115 u64 period_cycles) in rz_mtu3_pwm_calculate_prescale()
124 prescaled_period_cycles = period_cycles >> 16; in rz_mtu3_pwm_calculate_prescale()
325 u64 period_cycles; in rz_mtu3_pwm_config() local
335 period_cycles = mul_u64_u32_div(state->period, rz_mtu3_pwm->rate, in rz_mtu3_pwm_config()
337 prescale = rz_mtu3_pwm_calculate_prescale(rz_mtu3_pwm, period_cycles); in rz_mtu3_pwm_config()
352 pv = rz_mtu3_pwm_calculate_pv_or_dc(period_cycles, prescale); in rz_mtu3_pwm_config()
114 rz_mtu3_pwm_calculate_prescale(struct rz_mtu3_pwm_chip *rz_mtu3, u64 period_cycles) rz_mtu3_pwm_calculate_prescale() argument
/kernel/linux/linux-5.10/drivers/pwm/
H A Dpwm-lpc32xx.c34 int period_cycles, duty_cycles; in lpc32xx_pwm_config() local
39 period_cycles = div64_u64(c * period_ns, in lpc32xx_pwm_config()
41 if (!period_cycles || period_cycles > 256) in lpc32xx_pwm_config()
43 if (period_cycles == 256) in lpc32xx_pwm_config()
44 period_cycles = 0; in lpc32xx_pwm_config()
56 val |= (period_cycles << 8) | duty_cycles; in lpc32xx_pwm_config()
H A Dpwm-tiehrpwm.c111 unsigned long period_cycles[NUM_PWM_CHANNEL]; member
215 * period_ns = 10^9 * (ps_divval * period_cycles) / PWM_CLK_RATE
222 u32 period_cycles, duty_cycles; in ehrpwm_pwm_config() local
233 period_cycles = (unsigned long)c; in ehrpwm_pwm_config()
235 if (period_cycles < 1) { in ehrpwm_pwm_config()
236 period_cycles = 1; in ehrpwm_pwm_config()
250 if (pc->period_cycles[i] && in ehrpwm_pwm_config()
251 (pc->period_cycles[i] != period_cycles)) { in ehrpwm_pwm_config()
266 pc->period_cycles[pw in ehrpwm_pwm_config()
[all...]
H A Dpwm-ep93xx.c67 unsigned long period_cycles; in ep93xx_pwm_config() local
85 period_cycles = c; in ep93xx_pwm_config()
87 c = period_cycles; in ep93xx_pwm_config()
92 if (period_cycles < 0x10000 && duty_cycles < 0x10000) { in ep93xx_pwm_config()
96 if (period_cycles > term) { in ep93xx_pwm_config()
97 writew(period_cycles, base + EP93XX_PWMx_TERM_COUNT); in ep93xx_pwm_config()
101 writew(period_cycles, base + EP93XX_PWMx_TERM_COUNT); in ep93xx_pwm_config()
H A Dpwm-imx27.c218 unsigned long period_cycles, duty_cycles, prescale; in pwm_imx27_apply() local
232 period_cycles = c; in pwm_imx27_apply()
234 prescale = period_cycles / 0x10000 + 1; in pwm_imx27_apply()
236 period_cycles /= prescale; in pwm_imx27_apply()
246 if (period_cycles > 2) in pwm_imx27_apply()
247 period_cycles -= 2; in pwm_imx27_apply()
249 period_cycles = 0; in pwm_imx27_apply()
266 writel(period_cycles, imx->mmio_base + MX3_PWMPR); in pwm_imx27_apply()
H A Dpwm-pxa.c65 unsigned long period_cycles, prescale, pv, dc; in pxa_pwm_config() local
74 period_cycles = c; in pxa_pwm_config()
76 if (period_cycles < 1) in pxa_pwm_config()
77 period_cycles = 1; in pxa_pwm_config()
78 prescale = (period_cycles - 1) / 1024; in pxa_pwm_config()
79 pv = period_cycles / (prescale + 1) - 1; in pxa_pwm_config()
H A Dpwm-omap-dmtimer.c156 u32 period_cycles, duty_cycles; in pwm_omap_dmtimer_config() local
198 period_cycles = pwm_omap_dmtimer_get_clock_cycles(clk_rate, period_ns); in pwm_omap_dmtimer_config()
201 if (period_cycles < 2) { in pwm_omap_dmtimer_config()
214 } else if (duty_cycles >= period_cycles) { in pwm_omap_dmtimer_config()
219 duty_cycles = period_cycles - 1; in pwm_omap_dmtimer_config()
225 DIV_ROUND_CLOSEST_ULL((u64)NSEC_PER_SEC * period_cycles, in pwm_omap_dmtimer_config()
228 load_value = (DM_TIMER_MAX - period_cycles) + 1; in pwm_omap_dmtimer_config()
H A Dpwm-tiecap.c47 * period_ns = 10^9 * period_cycles / PWM_CLK_RATE
54 u32 period_cycles, duty_cycles; in ecap_pwm_config() local
64 period_cycles = (u32)c; in ecap_pwm_config()
66 if (period_cycles < 1) { in ecap_pwm_config()
67 period_cycles = 1; in ecap_pwm_config()
88 writel(period_cycles, pc->mmio_base + CAP1); in ecap_pwm_config()
96 writel(period_cycles, pc->mmio_base + CAP3); in ecap_pwm_config()
H A Dpwm-vt8500.c77 unsigned long period_cycles, prescale, pv, dc; in vt8500_pwm_config() local
90 period_cycles = c; in vt8500_pwm_config()
92 if (period_cycles < 1) in vt8500_pwm_config()
93 period_cycles = 1; in vt8500_pwm_config()
94 prescale = (period_cycles - 1) / 4096; in vt8500_pwm_config()
95 pv = period_cycles / (prescale + 1) - 1; in vt8500_pwm_config()
H A Dpwm-mxs.c52 unsigned int period_cycles, duty_cycles; in mxs_pwm_apply() local
83 period_cycles = c; in mxs_pwm_apply()
99 writel(PERIOD_PERIOD(period_cycles) | pol_bits | PERIOD_CDIV(div), in mxs_pwm_apply()
H A Dpwm-zx.c101 unsigned int period_cycles, duty_cycles; in zx_pwm_config() local
124 period_cycles = c; in zx_pwm_config()
139 zx_pwm_writel(zpc, pwm->hwpwm, ZX_PWM_PERIOD, period_cycles); in zx_pwm_config()

Completed in 11 milliseconds