Armando
868c68bf89
adc: fix legacy oneshot driver clock gating issue on c3
2023-03-06 10:50:36 +08:00
Armando
984ee9dd38
adc: no longer support adc2 oneshot mode on esp32c3
...
Due to HW limitation, we don't support this anymore. On c3, ADC2 under oneshot mode is not stable.
However, you can enable CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 to force use
ADC2.
Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2023-02-08 09:04:28 +00:00
Armando
9b4986dd2c
adc: no longer support adc2 continuous mode on esp32c3
...
Due to HW limitation, we don't support this anymore. On c3, ADC2 under continuous mode is not stable.
However, you can enable CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 to force use
ADC2.
Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2023-02-08 09:04:28 +00:00
Armando
f8c098658c
adc: fix adc digital not reset issue
2022-04-21 19:29:15 +08:00
Armando
f48346f22f
adc: apply adc power API to adc driver
2021-03-26 17:41:20 +08:00
Armando
8fe99aff96
adc: add implementation of missed public API
...
Added ``adc1_pad_get_io_num``, ``adc2_pad_get_io_num`` and
``adc_vref_to_gpio``.
2021-03-26 13:26:19 +08:00
Armando
a6ed4611a2
adc: update lock scope on esp32c3
2021-03-26 13:26:19 +08:00
Armando
1509264f2e
adc: add pm_lock to adc driver on esp32c3
2021-03-26 13:26:19 +08:00
Armando
f1be501271
adc: refactor adc single read api on esp32c3
2021-03-26 13:26:19 +08:00
Armando
ea20966c29
adc: seperate hal layer and driver layer
2021-03-26 13:26:18 +08:00
Armando
f25c996b06
adc: remove unused functions on esp32c3
2021-03-26 13:26:18 +08:00
Armando
41bee7831f
adc: apply gdma api to adc on esp32c3
2021-02-25 18:53:32 +08:00
Michael (XIAO Xufeng)
351ba5ff9e
adc: fixed the issue that ADC power is left on after the calibration is done
...
Also refactor the locks in the adc_common.c file.
2021-02-05 14:17:52 +08:00
Michael (XIAO Xufeng)
2b83418141
adc: add fallback calibration method
...
Also:
1. Separate static configuration into init phase to improve
performance
2. Add a init code config layer to avoid duplicated configuration
3. Add a HW_CALIBRATION_V1 caps
2021-01-25 20:30:42 +08:00
Armando
f9ec7ddda3
adc: add comment for ADC sampling frequency
2021-01-25 04:51:40 +00:00
Armando
d8a4b247b9
adc_digi: update_adc_api_for_5M_freq_limit
...
The ``adc_digi_config_t`` struct is modified on esp32c3: configuration
of clock divider factors are not provided anymore. The SARADC sampling
frequency is provided instead. In this way, we can handle the frequency
limit better.
2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
90fc3e7030
adc: update the monitor and filter in the HAL on C3
...
On C3 ADC has no enable bit for monitor and filter. However we can use context variables to implement one
2021-01-25 04:51:40 +00:00
fuzhibo
19fb11549b
driver(adc): update adc ll and hal driver for esp32c3
2021-01-25 04:51:40 +00:00
Armando
2b737c1927
adc: fix adc invalid data issue by update adc_reset
2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
d7d1dee208
system: reset dma when soft reset
2021-01-25 04:51:40 +00:00
Armando
b38f4646de
adc_digi: add dma drivers
2021-01-25 04:51:40 +00:00
Armando
2d37bfa126
driver: Add adc_digi single conversion mode
...
- add lock for single read and continuous read APIs
- update onetime read start singal delay for hardware limitation[*]
- move adc_caps to soc_caps.h
- update license dates
[*] There is a hardware limitation. If the APB clock frequency is high, the
step of this reg signal: ``onetime_start`` may not be captured by the
ADC digital controller (when its clock frequency is too slow). A rough
estimate for this step should be at least 3 ADC digital controller
clock cycle.
2020-12-23 09:53:24 +11:00
Angus Gratton
f09b8ae7a4
driver: Add esp32c3 ADC driver
...
Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00