Ivan Grokhotkov
2c8f413059
driver: sdmmc: add esp32s3 support
...
* Extend sdmmc_slot_config_t with GPIO pin numbers for all SD bus
signals. These new fields are available if SOC_SDMMC_USE_GPIO_MATRIX
is set.
* Add shorter "sd" and "wp" aliases for "gpio_sd" and "gpio_wp" field
names in sdmmc_slot_config_t.
* Deprecate sdmmc_host_pullup_en, prefer to enable this feature using
SDMMC_SLOT_FLAG_INTERNAL_PULLUP instead.
2021-05-10 23:21:27 +02:00
Ivan Grokhotkov
f67f7d6774
Merge branch 'bugfix/adc_channel_comment_typo' into 'master'
...
adc: fix typos in comments (Github PR)
Closes IDFGH-4774
See merge request espressif/esp-idf!13437
2021-05-06 11:49:58 +00:00
Ivan Grokhotkov
3717a318f6
Merge branch 'bugfix/gpio_isr_doc' into 'master'
...
gpio_isr_register(): Correct order of arguments in docs (Github PR)
Closes IDFGH-1780
See merge request espressif/esp-idf!13439
2021-05-06 11:49:34 +00:00
Alex Lisitsyn
ea6710ce98
soc/hal: add tinyusb support esp32s3
...
add usb hal/soc, usb_ll files and esp32s3 target for usb
move usb_hal.h into soc common folder
soc/hal: fix soc and periph for usb
tinyusb: fix tinyusb io header
hal: usb_ll fix pull up/down config for esp32s3
soc/hal: fix peripheral addresses
2021-05-06 16:20:54 +08:00
Martin Thierer
75e0c6aaf5
gpio_isr_register(): Correct order of arguments in docs
...
Make documentation order consistent with function signature.
Merges https://github.com/espressif/esp-idf/pull/3999
2021-05-05 15:56:26 +02:00
Christian Winkler
13abf1ed2e
Fix adc-channel typo
...
Merges https://github.com/espressif/esp-idf/pull/6577
2021-05-05 15:40:35 +02:00
Michael (XIAO Xufeng)
5997fcd45d
Merge branch 'feature/update_adc_programming_guide_on_c3' into 'master'
...
adc: update esp32c3 programming guide
Closes IDF-2333
See merge request espressif/esp-idf!12563
2021-04-23 12:52:07 +00:00
Armando
3177130256
adc: add adc programming guide on c3
2021-04-21 10:40:55 +08:00
Armando
85e29dace7
spi_slave_hd: add callback after data is loaded to the DMA for segment mode
2021-04-20 20:08:29 +08:00
Marius Vikhammer
826b976ba5
timer: add IRAM_ATTR to spinlock give/take API
...
Closes https://github.com/espressif/esp-idf/issues/6824
2021-04-15 09:50:06 +08:00
Michael (XIAO Xufeng)
1f29036ead
Merge branch 'feat/c3_driver_api_cleanup' into 'master'
...
driver: cleanup i2c, i2s on C3
Closes IDF-2759 and IDF-2760
See merge request espressif/esp-idf!12329
2021-04-13 09:00:11 +00:00
Michael (XIAO Xufeng)
f5f3c7143c
Merge branch 'feat/c3_driver_api_cleanup_gpio' into 'master'
...
gpio, rtcio: removed unsupported features on different targets
See merge request espressif/esp-idf!13103
2021-04-13 06:51:33 +00:00
Michael (XIAO Xufeng)
54fdaa5986
Merge branch 'docs/spi_max_transfer_sz_limit' into 'master'
...
spi_docs: Fixed the default value of max_transfer_sz.
See merge request espressif/esp-idf!13000
2021-04-13 06:51:11 +00:00
Michael (XIAO Xufeng)
6ab5b9cbf9
gpio, rtcio: removed unsupported features on different targets
2021-04-13 13:21:08 +08:00
Michael (XIAO Xufeng)
67941fc495
i2s: removed unsupported features on different targets
2021-04-12 15:51:54 +08:00
Michael (XIAO Xufeng)
82e4a2431a
i2c: removed unsupported features on different targets
2021-04-12 15:51:19 +08:00
Michael (XIAO Xufeng)
925dacd7fb
Merge branch 'bugfix/remove_HSPI_macro_on_c3' into 'master'
...
spi: remove HSPI macros on esp32c3 and esp32s3
Closes IDF-2535
See merge request espressif/esp-idf!12637
2021-04-08 09:33:18 +00:00
Armando
9b9ea71ff9
spi: remove HSPI macro on esp32c3 and esp32s3
2021-04-06 13:42:49 +08:00
Michael (XIAO Xufeng)
e89fabb963
spi_docs: Fixed the default value of max_transfer_sz.
2021-04-01 14:59:29 +08:00
Darian Leung
2f58060921
TWAI: FIFO overrun handling and errata workarounds
...
This commit adds handling for FIFO overruns and
adds workarounds for HW errats on the ESP32.
Closes https://github.com/espressif/esp-idf/issues/2519
Closes https://github.com/espressif/esp-idf/issues/4276
2021-03-30 14:17:31 +08:00
Armando
0e0baee25a
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 12:04:46 +08:00
Armando
e9995fe165
adc: add pm_lock to adc driver on esp32c3
2021-03-26 12:04:46 +08:00
Armando
a5295af829
adc: update adc header files on c3
2021-03-26 12:04:46 +08:00
morris
f5ca47c0fc
mcpwm: rename macros related to soc capbility
2021-03-16 21:53:59 +08:00
Seon Rozenblum
dd2a8e330b
Added missing ESP32-S3 target for /rom/gpio.h include
...
I know this is being depreciated in 5, but we need it working for S3 in 4.x :)
Closes https://github.com/espressif/esp-idf/pull/6666
2021-03-08 17:54:16 +08:00
Cao Sen Miao
a8343bc470
esp_system: support gpio wakeup from deep sleep on esp32c3
2021-02-26 12:26:49 +08:00
morris
efa92cb204
rmt: support invert RMT signal by GPIO matrix
2021-02-25 12:42:23 +08:00
morris
7b37158ede
rmt: distinguish group and channel in HAL layer
2021-02-25 12:42:23 +08:00
Armando
889de9ebd9
spi: add enum for spi dma channels
2021-02-22 07:06:05 +00:00
Armando
db3bf8b544
spi: refactor spi_common dma allocator
2021-02-22 07:06:05 +00:00
Armando
c438ad5d72
spi: apply gdma allocator to SPI
2021-02-22 07:06:05 +00:00
Armando
2e670bf6af
spi: add dma channel auto-alloc feature on esp32
2021-02-22 07:06:05 +00:00
Armando
5427c18781
adc: apply gdma api to adc on esp32c3
2021-02-08 11:41:21 +08:00
Michael (XIAO Xufeng)
586dd7d7cd
spi: add explaination to the modes
2021-02-03 21:56:53 +08:00
Michael (XIAO Xufeng)
9ff04b2e79
Merge branch 'feature/musical_buzzer' into 'master'
...
RMT example: musical buzzer
See merge request espressif/esp-idf!10346
2021-01-28 01:04:24 +08:00
Michael (XIAO Xufeng)
c257daa950
wifi: run adc2 calibration on C3
2021-01-25 15:08:50 +08: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
Armando
02600309c8
adc: fix some regression issues
2021-01-25 04:51:40 +00:00
Cao Sen Miao
4e6e34e3ad
adc_i2s: solve the i2s_adc issue when using wifi
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
Michael (XIAO Xufeng)
06f22fc4b0
Merge branch 'feature/new_restart_mode_driver_and_ut_for_spi_slave_hd' into 'master'
...
spi_slave_halfduplex: append mode driver
See merge request espressif/esp-idf!10845
2021-01-24 09:27:12 +08:00
Armando
0538dc2d93
spi_slave_hd: add DMA Append Mode feature
2021-01-21 18:53:53 +08:00
Angus Gratton
cfdd7f0f22
Merge branch 'feature/c3_crypto_gdma' into 'master'
...
AES/SHA: GDMA crypto driver
Closes IDF-2192 and IDF-2501
See merge request espressif/esp-idf!12014
2021-01-20 16:42:39 +08:00
Jiang Jiang Jian
26ae354dc5
Merge branch 'feature/support_esp32c3_lightsleep_master' into 'master'
...
support esp32c3 lightsleep for master
Closes IDF-2106
See merge request espressif/esp-idf!11975
2021-01-20 16:00:06 +08:00
Krzysztof Budzynski
08815671e0
Merge branch 'bugfix/adc_full_scale_voltages' into 'master'
...
docs: Update full-scale voltages for ESP32-S2 chip
Closes DOC-578
See merge request espressif/esp-idf!11214
2021-01-19 16:03:53 +08:00
Li Shuai
6d12fdd6e7
light sleep: add gpio configure workaround at slept status for esp32c3
2021-01-19 14:51:22 +08:00
Krzysztof
6df6123ff6
docs: Update full-scale voltages for ESP32-S2 chip
2021-01-19 14:47:17 +08:00
Marius Vikhammer
51169b0e0c
AES/SHA: use GDMA driver instead of LL
2021-01-19 11:02:51 +08:00
ninh
659d805411
esp_wifi: light sleep optimization
2021-01-18 15:31:03 +08:00
ninh
27aa6c289f
components/pm: Add slp gpio configure workaround
2021-01-15 15:34:45 +08:00
morris
467d44970e
rmt: support setting loop count at runtime
2021-01-14 21:26:04 +08:00
Michael (XIAO Xufeng)
ea996df725
Merge branch 'feature/rmt_support_user_context_in_translator' into 'master'
...
rmt: support user context in translator
Closes IDFGH-4135 and IDFGH-3237
See merge request espressif/esp-idf!10894
2021-01-14 19:26:26 +08:00
morris
95e712039c
rmt: add workaround to get user context in a graceful way
2021-01-14 11:01:41 +08:00
Nishanth Samala
21bb6f2334
rmt: support rmt user context in translator
...
Merges https://github.com/espressif/esp-idf/pull/6002
2021-01-14 10:51:25 +08:00
morris
e6d23a35ec
gdma: dynamic alloc DMA channels
2021-01-13 10:52:27 +08: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
Angus Gratton
27a9cf861e
driver: Add esp32c3 drivers (except ADC/DAC) and update tests
...
Some ESP32-C3 drivers are still pending.
Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00
Cao Sen Miao
d6f0b4af6f
adc_i2s: solve the i2s_adc issue when using wifi
2020-12-07 10:45:04 +08:00
Ivan Grokhotkov
d890a516a1
driver: add notes about GPIO36/39 issue (ECO 3.11) workaround
...
Closes IDFGH-1917
Closes https://github.com/espressif/esp-idf/issues/4117
2020-12-07 10:45:04 +08:00
Angus Gratton
5228d9f9ce
esp32c3: Apply one-liner/small changes for ESP32-C3
2020-12-01 10:58:50 +11:00
chaijie
a48b5246cc
ESP32: Fix xtal 32k not oscillate or oscillate too slowly issue
...
ESP32 in revision0 and revision1 uses touchpad to provide
current to oscillate xtal 32k. But revision2 and revision3
do not need to do that.
Note: touchpad can not work and toupad/ULP wakeup sources
are not available when toupad provides current to xtal 32k
2020-11-23 19:38:11 +08:00
Cao Sen Miao
6eee601cf6
i2c: Add supports on esp32s3
2020-11-12 11:32:45 +08:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
morris
1be923acb4
rmt: rename always_on to aware_dfs
2020-11-05 19:00:55 +08:00
morris
ff976867b3
rmt: split TX and RX in LL driver
...
Split TX and RX function in LL driver.
Channel number is encoded in driver layer.
Added channel signal list in periph.c
2020-11-05 19:00:55 +08:00
Michael (XIAO Xufeng)
9a394e1aa0
Merge branch 'feature/spi_bringup_esp32s3' into 'master'
...
spi: bringup on esp32s3
See merge request espressif/esp-idf!10107
2020-10-27 00:51:42 +08:00
Armando
f7e91ef6c1
spi: esp32s3 bringup for spi
2020-10-26 11:28:34 +08:00
morris
bb1369b922
dedicated gpio: add driver
2020-10-20 21:06:09 +08:00
morris
153e819e8a
pcnt: add rotary encoder example
2020-10-19 11:56:18 +08:00
Michael (XIAO Xufeng)
1966f00f0b
soc: updates caps usage
...
We should define caps as 1 if true. When use the caps macros, #if and
#if ! should be used instead of #ifdef/#ifndef.
2020-10-17 16:10:17 +08:00
Michael (XIAO Xufeng)
647dea9395
soc: combine xxx_caps.h into one soc_caps.h
...
During HAL layer refactoring and new chip bringup, we have several
caps.h for each part, to reduce the conflicts to minimum. But this is
The capabilities headers will be relataive stable once completely
written (maybe after the featues are supported by drivers).
Now ESP32 and ESP32-S2 drivers are relative stable, making it a good
time to combine all these caps.h into one soc_caps.h
This cleanup also move HAL config and pin config into separated files,
to make the responsibilities of these headers more clear. This is
helpful for the stabilities of soc_caps.h because we want to make it
public some day.
2020-10-17 16:10:15 +08:00
Michael (XIAO Xufeng)
ecca44df93
Merge branch 'bugfix/fix_adc-dma_reading_gap_for_esp32' into 'master'
...
bugfix(adc): missing ranges of ADC-DMA codes in ESP32
Closes DIG-53
See merge request espressif/esp-idf!10521
2020-10-16 23:02:35 +08:00
fuzhibo
9cd5e6f8c9
bugfix(adc): missing ranges of ADC codes in ESP32
2020-10-12 07:41:03 +00:00
Darian Leung
4c57f50fe4
TWAI: ISR runs when cache is disabled
...
This commit adds the feature where the TWAI ISR will continue to
run even if the cache is disabled. Whilst cache is disabled, any
received messages will go into the RX queue, and any pending TX
messages in the TX queue will be transmitted. This feature should
be enabled using the CONFIG_TWAI_ISR_IN_IRAM option.
2020-10-10 14:19:32 +08:00
Michael (XIAO Xufeng)
91af5eaf4f
Merge branch 'refactor/twai_hal_state' into 'master'
...
Refactor TWAI HAL to store state information
Closes IDF-1633
See merge request espressif/esp-idf!9789
2020-09-03 23:22:30 +08:00
Wu Bo Wen
658b56a690
doc/adc: modifications in the adc documentation and adc headers
2020-09-02 11:30:48 +00:00
Darian Leung
7398390049
TWAI: Track HW state in HAL
...
This commit refactors the TWAI HAL such that it
now tracks harwdare state instead of the driver
layer. Some HAL and LL cleanup was also done.
2020-09-02 13:03:41 +08:00
Michael (XIAO Xufeng)
2b323e7180
Merge branch 'bugfix/fix_dac_driver_ut' into 'master'
...
Driver(dac): fix DAC-DMA driver and unit test
Closes IDF-1407
See merge request espressif/esp-idf!8814
2020-08-31 00:05:34 +08:00
fuzhibo
0914dfbb6a
dfiver(dac): add dac dma driver and unit test
2020-08-26 06:23:24 +00:00
fuzhibo
bd92e95160
driver(adc): add adc-dma code for esp32
2020-08-26 03:54:02 +00:00
dongyou
97ae87df41
wifi, bt: move esp_phy_common_clock_disable into periph_ctrl and put it into IRAM
...
Replace periph_module_enable/disable by periph_wifi_bt_common_module_enable which are in IRAM.
AddIRAM_ATTR periph_ll_wifi_bt_module_enable_clk_clear_rstandIRAM_ATTR periph_ll_wifi_bt_module_disable_clk_set_rstto fit O0 optimization level.
Delete duplicated spinlock and counter.
2020-08-05 11:04:16 +08:00
Michael (XIAO Xufeng)
1aabab0160
Merge branch 'bugfix/i2c_const_function_signature' into 'master'
...
I2C: add const to signature of master_write function
Closes IDFGH-3324
See merge request espressif/esp-idf!9306
2020-07-27 16:31:20 +08:00
Michael (XIAO Xufeng)
f6dd63d03d
spi_slave_hd: new driver for spi slave in half duplex mode
2020-07-11 00:00:50 +08:00
Michael (XIAO Xufeng)
a50ea8ad55
spi: allow force pins being configured throug GPIO matrix
2020-07-11 00:00:47 +08:00
morris
a4d0033c03
esp_rom: extract common GPIO apis into esp_rom_gpio.h
2020-07-07 11:40:19 +08:00
Peter Schaefer
f08743e452
Added const for pointer in master_write method, so that a const array can be passed to this fcn.
...
Signed-off-by: wubowen <wubowen@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/5307
explicitly convert a const ptr to non-const because we actually don't modify it.
2020-07-06 03:37:39 +00:00
fuzhibo
8d922847af
driver(adc): esp32s2 support API adc2_vref_to_gpio
2020-07-01 06:21:45 +00:00
Darian Leung
97721d469c
TWAI: Add ESP32-S2 support
...
This commit adds TWAI driver support for the
ESP32-S2. The following features were added:
- Expanded BRP support
- Expanded CLKOUT Divider Support
- Updated example READMEs
2020-06-30 16:56:03 +08:00
Michael (XIAO Xufeng)
0d725c14cc
Merge branch 'bugfix/fix_uart_read_write_different_in_buffer_type_issue' into 'master'
...
Bugfix(driver): fix uart_read_byte and uart_write_byte different in buffer type issue
Closes IDFGH-2418
See merge request espressif/esp-idf!8925
2020-06-15 15:55:53 +08:00
Angus Gratton
1c09cb6769
Merge branch 'bugfix/doc_macro_definitions' into 'master'
...
doc: Fix macro definitions for different targets
See merge request espressif/esp-idf!8999
2020-06-12 16:37:41 +08:00
Angus Gratton
8193b188e8
driver: Fix some doxygen warnings
2020-06-12 14:31:37 +10:00
chenjianqiang
c11621e64e
timer: add return task awoken for timer callback
2020-06-11 16:02:55 +08:00
houwenxiang
61e3259f22
Driver(UART): fix uart_read_byte and uart_write_byte different in buffer type issue.
2020-06-10 16:22:06 +08:00
fuzhibo
3cc2d0e9a4
Driver(adc): Disable the synchronization operation function of ADC1 and DAC
...
Closes IDF-1585
2020-06-01 16:23:47 +08:00
houwenxiang
b35d9002f3
driver(I2S): Fix i2s_comm_format_t configuration parameter does not match the TRM bug.
...
When I2S `i2s_comm_format_t` is set to `I2S_COMM_FORMAT_I2S_MSB`, the data should launch at first BCK. But not in fact, this MR fixed this issue.
For compatibility, several nwe parameters have been added, and the old parameters will be removed in the future.
closes https://github.com/espressif/esp-idf/issues/5065
closes https://github.com/espressif/esp-idf/issues/4957
closes https://github.com/espressif/esp-idf/issues/2978
closes https://github.com/espressif/esp-idf/issues/5136
Merges https://github.com/espressif/esp-idf/pull/4522
2020-05-18 19:55:30 +08:00
Michael (XIAO Xufeng)
9d98111652
Merge branch 'bugfix/spi_bus_lock_missing_semphrstatic' into 'master'
...
spi: fix config break and reduce overhead of the bus lock on SPI1
Closes IDFGH-3017
See merge request espressif/esp-idf!8221
2020-04-27 12:57:19 +08:00
morris
e0b9f7be6d
periph_clk_gating: add reference counter
2020-04-23 19:29:15 +08:00
michael
fdf983e0c4
spi: fix config break and reduce overhead of the bus lock on SPI1
...
The SPI bus lock on SPI1 introduces two side effects:
1. The device lock for the main flash requires the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` to be selected, however this
option is disabled by default in earlier IDF versions. Some developers
may find their project cannot be built by their old sdkconfig files.
2. Usually we don't need the lock on the SPI1 bus, due to it's
restrictions. However the overhead still exists in this case, the IRAM
cost for static version of semaphore functions, and the time cost when
getting and releasing the lock.
This commit:
1. Add a CONFIG_SPI_FLASH_BYPASS_MAIN_LOCK option, which will forbid the
space cost, as well as the initialization of the main bus lock.
2. When the option is not selected, the bus lock is used, the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` will be selected explicitly.
3. Revert default value of `CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION`
to `n`.
introduced in 49a48644e4
.
Closes https://github.com/espressif/esp-idf/issues/5046
2020-04-22 16:06:13 +08:00