Lines Matching +full:pwm +full:- +full:output +full:- +full:frequency

2 # SPDX-License-Identifier: Apache-2.0
9 It provides six PWM outputs that can be set up to operate in several topologies
13 Each MCPWM peripheral has one clock divider (prescaler), three PWM timers, three PWM operators,
16 Every PWM operator has two PWM outputs: PWMxA and PWMxB. They can work independently, in symmetric
18 operating frequency.
25 Channel 0 -> Timer 0, Operator 0, output PWM0A
26 Channel 1 -> Timer 0, Operator 0, output PWM0B
27 Channel 2 -> Timer 1, Operator 1, output PWM1A
28 Channel 3 -> Timer 1, Operator 1, output PWM1B
29 Channel 4 -> Timer 2, Operator 2, output PWM2A
30 Channel 5 -> Timer 2, Operator 2, output PWM2B
31 Channel 6 -> Capture 0
32 Channel 7 -> Capture 1
33 Channel 8 -> Capture 2
35 Example: Use PWM0A output and capture 0:
38 compatible = "test-pwm-loopback";
39 pwms = <&mcpwm0 0 0 PWM_POLARITY_NORMAL>, #Channel 0 -> Output PWM0A
40 <&mcpwm0 6 0 PWM_POLARITY_NORMAL>; #Channel 6 -> Capture 0;
43 The mapping between the output PWMxA/B or CaptureX and GPIO is done through pinctrl:
46 pinctrl-0 = <&mcpwm0_default>;
47 pinctrl-names = "default";
58 output-enable;
66 Note: Check espressif,esp32-pinctrl.yaml for complete documentation regarding pinctrl.
68 Use the prescale-timerX property to configure the timers:
71 pinctrl-0 = <&mcpwm0_default>;
72 pinctrl-names = "default";
74 prescale-timer0 = <103>;
75 prescale-timer1 = <0>;
76 prescale-timer2 = <255>;
80 compatible: "espressif,esp32-mcpwm"
82 include: [pwm-controller.yaml, pinctrl-device.yaml, base.yaml]
92 "#pwm-cells":
95 prescale-timer0:
101 prescale-timer1:
107 prescale-timer2:
113 pwm-cells:
114 - channel
115 - period
116 - flags