Commit Graph

4 Commits (606551b4785c676a3e78dab247641e569cba78f2)

Author SHA1 Message Date
AndreiGrozav 344ca6fc3d axi_pwm_gen: New features and fixes
New features:

1. External sync force the phase align. The external sync was used to align
   the phases of enabled pwms, but only after being armed by a
   load_config signal toggle.
   This feature lets the user decide between using load_config to
   arm and wait for a neg-edge of sync or automatic phase align trigger
   on the ext_sync neg-edge.
2. Force align. Lets the user chose between immediately stopping the
   active pulses and realigning them, or waiting for all running pulse
   periods end, before realigning.
3. Start at sync. When this feature is activated, the pulses will start immediately
   after the trigger event. Otherwise, each pulse will start after a period
   equal to the one for which it is set.
4. Use parameters to set the default status after reset of the
   - soft reset
   - start at sync
   - force align
   - ext sync align

Update regmap.

Fixes:

1. The polarity on disabled channels was staying high instead of low.
2. Fix 0 and 100 proc duty cycle configuration.

Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
Signed-off-by: Alin-Tudor Sferle <Alin-Tudor.Sferle@analog.com>
2024-04-19 15:23:55 +03:00
PIoandan 86cd484865
lib/axi_pwm_gen: Update pause_cnt logic (#1271)
Signed-off-by: Ioan-daniel Pop <Pop.Ioan-daniel@analog.com>
2024-02-07 11:16:40 +02:00
AndreiGrozav e7dd5ce394 axi_pwm_gen: Offset mecanism fix
When leaving the offset equal to zero for a pwm
channel. That pwm channel was not waiting for all
channels to get in sync after a load config.

Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
2023-12-15 15:03:07 +02:00
Alin-Tudor Sferle 119d4e43a3 axi_pwm_gen: Add support for 16 channels
Signed-off-by: Alin-Tudor Sferle <Alin-Tudor.Sferle@analog.com>
Signed-off-by: AndreiGrozav <andrei.grozav@analog.com>
2023-12-15 15:03:07 +02:00