diff options
Diffstat (limited to 'arch/arm/plat-s3c24xx')
| -rw-r--r-- | arch/arm/plat-s3c24xx/clock-dclk.c | 2 | ||||
| -rw-r--r-- | arch/arm/plat-s3c24xx/pwm.c | 4 | 
2 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/plat-s3c24xx/clock-dclk.c b/arch/arm/plat-s3c24xx/clock-dclk.c index 5b75a797b5a..0afb217a775 100644 --- a/arch/arm/plat-s3c24xx/clock-dclk.c +++ b/arch/arm/plat-s3c24xx/clock-dclk.c @@ -129,7 +129,7 @@ static int s3c24xx_clkout_setparent(struct clk *clk, struct clk *parent)  	/* calculate the MISCCR setting for the clock */ -	if (parent == &clk_xtal) +	if (parent == &clk_mpll)  		source = S3C2410_MISCCR_CLK0_MPLL;  	else if (parent == &clk_upll)  		source = S3C2410_MISCCR_CLK0_UPLL; diff --git a/arch/arm/plat-s3c24xx/pwm.c b/arch/arm/plat-s3c24xx/pwm.c index 0120b760315..82a6d4de02a 100644 --- a/arch/arm/plat-s3c24xx/pwm.c +++ b/arch/arm/plat-s3c24xx/pwm.c @@ -246,6 +246,10 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns)  	tcmp = duty_ns / tin_ns;  	tcmp = tcnt - tcmp; +	/* the pwm hw only checks the compare register after a decrement, +	   so the pin never toggles if tcmp = tcnt */ +	if (tcmp == tcnt) +		tcmp--;  	pwm_dbg(pwm, "tin_ns=%lu, tcmp=%ld/%lu\n", tin_ns, tcmp, tcnt);  |