On Mon, Sep 19, 2022 at 03:29:19PM +0100, Conor Dooley wrote: > Hey Uwe, > > On Mon, Sep 19, 2022 at 03:50:08PM +0200, Uwe Kleine-König wrote: > > On Mon, Sep 19, 2022 at 01:53:56PM +0100, Conor Dooley wrote: > > > Because I was running into conflicts between the reporting here and some > > > of the checks that I have added to prevent the PWM being put into an > > > invalid state. On boot both negedge and posedge will be zero & this was > > > preventing me from setting the period at all. > > > > I don't understood that. > > On startup, (negedge == posedge) is true as both are zero, but the reset > values for prescale and period are actually 0x8. If on reset I try to > set a small period, say "echo 1000 > period" apply() returns -EINVAL > because of a check in the pwm core in pwm_apply_state() as I am > attempting to set the period to lower than the out-of-reset duty cycle. You're supposed to keep the period for pwm#1 untouched while configuring pwm#0 only if pwm#1 already has a consumer. So if pwm#1 isn't requested, you can change the period for pwm#0. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |
Attachment:
signature.asc
Description: PGP signature