@@ -348,6 +348,7 @@ const char *pwm_mode_desc(struct pwm_device *pwm, unsigned long mode)
"invalid",
"normal",
"complementary",
+ "push-pull",
};
if (!pwm_mode_valid(pwm, mode))
@@ -29,11 +29,14 @@ enum pwm_polarity {
* PWM modes capabilities
* @PWMC_MODE_NORMAL_BIT: PWM has one output
* @PWMC_MODE_COMPLEMENTARY_BIT: PWM has 2 outputs with opposite polarities
+ * @PWMC_MODE_PUSH_PULL_BIT: PWM has 2 outputs with same polarities and the
+ * edges are complementary delayed for one period
* @PWMC_MODE_CNT: PWM modes count
*/
enum {
PWMC_MODE_NORMAL_BIT,
PWMC_MODE_COMPLEMENTARY_BIT,
+ PWMC_MODE_PUSH_PULL_BIT,
PWMC_MODE_CNT,
};
Add push-pull mode support. In push-pull mode the channels' outputs have same polarities and the edges are complementary delayed for one period. Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com> --- drivers/pwm/core.c | 1 + include/linux/pwm.h | 3 +++ 2 files changed, 4 insertions(+)