/openbmc/linux/drivers/pwm/ |
H A D | pwm-xilinx.c | 105 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() 144 tlr0 = xilinx_timer_tlr_cycles(priv, tcsr0, period_cycles); in xilinx_pwm_apply()
|
H A D | pwm-lpc32xx.c | 34 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 D | pwm-ep93xx.c | 69 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 D | pwm-tiehrpwm.c | 111 unsigned long period_cycles[NUM_PWM_CHANNEL]; member 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[pwm->hwpwm] = period_cycles; in ehrpwm_pwm_config() 269 if (set_prescale_div(period_cycles/PERIOD_MAX, &ps_divval, in ehrpwm_pwm_config() 281 period_cycles = period_cycles / ps_divval; in ehrpwm_pwm_config() [all …]
|
H A D | pwm-pxa.c | 73 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 D | pwm-imx27.c | 221 unsigned long period_cycles, duty_cycles, prescale, period_us, tmp; in pwm_imx27_apply() local 237 period_cycles = c; in pwm_imx27_apply() 239 prescale = period_cycles / 0x10000 + 1; in pwm_imx27_apply() 241 period_cycles /= prescale; in pwm_imx27_apply() 251 if (period_cycles > 2) in pwm_imx27_apply() 252 period_cycles -= 2; in pwm_imx27_apply() 254 period_cycles = 0; in pwm_imx27_apply() 355 val + c >= period_cycles) in pwm_imx27_apply() 362 writel(period_cycles, imx->mmio_base + MX3_PWMPR); in pwm_imx27_apply()
|
H A D | pwm-omap-dmtimer.c | 156 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 D | pwm-vt8500.c | 74 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 D | pwm-tiecap.c | 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 D | pwm-bcm2835.c | 67 unsigned long long period_cycles; in bcm2835_pwm_apply() local 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 D | pwm-mxs.c | 52 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 D | pwm-rz-mtu3.c | 115 u64 period_cycles) in rz_mtu3_pwm_calculate_prescale() argument 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()
|
/openbmc/u-boot/drivers/pwm/ |
H A D | pwm-imx.c | 30 unsigned long period_cycles, duty_cycles, prescale; in pwm_config() local 36 pwm_imx_get_parms(period_ns, duty_ns, &period_cycles, &duty_cycles, in pwm_config() 47 writel(period_cycles, &pwm->pr); in pwm_config()
|