Commit Graph

36 Commits

Author SHA1 Message Date
morris
3234ee3f9e refactor(mcpwm): add RCC related LL functions 2023-09-15 13:33:01 +08:00
morris
47e499de52 feat(mcpwm): clean up MCPWM ETM driver 2023-09-11 16:53:34 +08:00
Chen Jichang
7638235311 feat(mcpwm): MCPWM event comparator driver
In esp32p4, the MCPWM has a new feature, mainly ETM-oriented.
Each operator has two event comparators, can generate an event
when the count value of the timer that operator connects is equal
to the value of event comparator.
2023-09-11 16:53:34 +08:00
Chen Jichang
fc80d3e568 feat(mcpwm): Set group clock prescale dynamically
MCPWM group clock pre scale was originally fixed to 2, which is
inconvenient. Set group clock prescale dynamically. Now the maximum
resolution of the MCPWM timer is up to 160MHz(when the prescale set
to 1). And add a resulotion config for MCPWM capture.
2023-09-08 11:57:29 +08:00
morris
fa58d2c6b0 feat(mcpwm): default clock source setting can leave empty 2023-08-23 18:36:02 +08:00
Chen Jichang
713324ff9d feat(MCPWM): Support set interrupt priority 2023-08-23 10:44:34 +08:00
Chen Jichang
97d5db32ae feat(MCPWM): Add mcpwm carrier clk source
The MCPWM carrier is part of the operator and can work independently
without the MCPWM timer being enabled. This commit add the MCPWM
carrier clk source.
2023-08-15 13:04:11 +08:00
Chen Jichang
72f66b6d1d feat(mcpwm): add support for ESP32P4 2023-08-08 18:12:58 +08:00
morris
ed36b91517 Merge branch 'feature/mcpwm_trigger_driver' into 'master'
feature(MCPWM): Add MCPWM trigger driver

Closes IDF-3613

See merge request espressif/esp-idf!24829
2023-07-25 18:50:57 +08:00
Chen Jichang
5ab755915b feature(MCPWM): Add MCPWM trigger driver and test
Each MCPWM operator has two Trigger (named T0 and T1), and they can be
routed to GPIO fault signal or timer sync event.Generator can be set up
to perform different action on Trigger event.
This commit add a trigger driver and a test for the driver.
2023-07-25 14:44:41 +08:00
morris
b589355a10 feat(mcpwm): support open drain output for generator IO
Closes https://github.com/espressif/esp-idf/issues/11877
2023-07-19 11:32:35 +08:00
Anne Brondijk
aa2c0a10c3 feat(mcpwm): Allow for pull up/down to be configurable on generators 2023-07-14 21:44:03 +02:00
morris
5680d28b0e mcpwm: fix bldc example force output level inverted
set_force_level can only set the generator level before the deadtime module.
if the deadtime module enables the inverter, then the real output level is inverted accordingly
2023-05-10 19:17:21 +08:00
morris
72d0f5b35b mcpwm: can't apply the same delay module to multiple generators
This is a hardware limitation, one delay module can only be used by one generator at one time.

Closes https://github.com/espressif/esp-idf/issues/11327
2023-05-09 16:41:47 +08:00
Song Ruo Jing
a4e8960ab4 esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx, add compilation warning to clk_tree.h 2023-04-25 14:12:06 +08:00
morris
d9f82baca7 driver: fix typo "destroy" 2023-03-01 00:43:14 +00:00
Cao Sen Miao
8cc6a535b2 mcpwm: modify wrong config name 2023-02-14 11:12:08 +08:00
Kevin (Lao Kaiyao)
421e5e6416 Merge branch 'refactor/pack_driver_source_files' into 'master'
components/driver: pack peripherals

See merge request espressif/esp-idf!22173
2023-02-07 10:20:57 +08:00
morris
15b9352f60 mcpwm: support esp32h2 2023-02-02 19:05:31 +08:00
laokaiyao
f27cd67c00 driver: pack peripherals 2023-02-02 18:19:58 +08:00
morris
c83d1db2ed Merge branch 'feature/mcpwm_cap_not_reset_io_at_exit' into 'master'
mcpwm: support not reset GPIO config at exit

Closes IDFGH-8916

See merge request espressif/esp-idf!21568
2023-01-12 13:20:47 +08:00
morris
592673b052 mcpwm: support non-varg version of generator functions
Closes https://github.com/espressif/esp-idf/issues/10449
2023-01-03 14:42:49 +08:00
morris
f0bea3ce51 mcpwm: support not reset GPIO config at exit
By default, the driver will reset the GPIO used by the MCPWM capture
channel at exit. But in some special use cases, the same gpio may also
be used by another device, which shares the same gpio configuration,
resetting the gpio is not expected.

Closes https://github.com/espressif/esp-idf/issues/10327
2022-12-12 17:50:06 +08:00
morris
f997b81242 mcpwm: support esp32c6 2022-10-20 11:55:03 +08:00
morris
7b425cbcd7 mcpwm: new function to fetch capture resolution 2022-10-20 11:30:14 +08:00
morris
ad376e2d99 mcpwm: allow compare equals to period 2022-10-11 11:25:33 +08:00
morris
c99edc6715 mcpwm: make set_compare_value iram safe
Closes https://github.com/espressif/esp-idf/issues/9793
2022-09-21 13:37:49 +00:00
morris
1fc458b3f7 mcpwm: check sync direction is valid 2022-09-14 11:49:37 +08:00
morris
2c5a866ea3 mcpwm: don't use keyword operator
Closes https://github.com/espressif/esp-idf/issues/9510
2022-08-17 06:31:50 +00:00
morris
1d4c08cef4 mcpwm: added enable/disable functions
Closes https://github.com/espressif/esp-idf/pull/9523
2022-08-15 14:46:56 +08:00
morris
970d4cab09 driver: add doc on how to unregister event callbacks
Closes https://github.com/espressif/esp-idf/pull/9523
2022-08-15 14:46:56 +08:00
morris
0d881fc9e0 driver: specify the interrupt priority
Closes https://github.com/espressif/esp-idf/issues/9520
2022-08-15 14:46:56 +08:00
morris
f24983a942 unity_utils: added helper function to disable cache and run user function 2022-08-12 11:29:52 +08:00
morris
d91c8759c0 driver: remove -Wno-format flag 2022-08-08 08:30:09 +00:00
morris
480f80868a mcpwm: test iram safe interrupt 2022-08-02 23:07:06 +08:00
morris
1571417679 mcpwm: new driver implementation 2022-07-27 15:22:24 +08:00