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)
8cfcf6da7a
Merge branch 'bugfix/enable_gpio18_gpio19_esp32c3' into 'master'
...
gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3
Closes IDF-2964
See merge request espressif/esp-idf!12753
2021-04-12 09:39:55 +00: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
Omar Chebib
cd79f3907d
gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3
...
When `DIS_USB_JTAG` eFuse is NOT burned (`False`), it is not possible
to set pins 18 and 19 as GPIOs. This commit solves this by manually
disabling USB JTAG when using pins 18 or 19.
The functions shall use `gpio_hal_iomux_func_sel` instead of
`PIN_FUNC_SELELECT`.
2021-04-08 14:01:18 +08:00
Armando
9b9ea71ff9
spi: remove HSPI macro on esp32c3 and esp32s3
2021-04-06 13:42:49 +08:00
Jakob Hasse
b23c9142d5
[hal]: cleaned up interrupt mask functions
...
* Functions for setting and clearing interrupts
as well as function to read interrupt mask
should be clearer now.
* Using hal layer interrupt set and clear
functions in esp_wifi component
2021-04-06 11:54:13 +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
cc6bfcd9ac
adc: apply adc power API to adc driver
...
Closes https://github.com/espressif/esp-idf/issues/6269
Closes https://github.com/espressif/esp-idf/issues/6682
2021-03-26 17:58:00 +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
00a3f48bd8
adc: refactor adc single read api on esp32c3
2021-03-26 12:04:46 +08:00
Armando
69a0f8b9bb
adc: seperate hal layer and driver layer
2021-03-26 12:04:46 +08:00
Michael (XIAO Xufeng)
4028d4e083
Merge branch 'feature/mcpwm_add_peripheral_signal_list' into 'master'
...
mcpwm: added peripheral signal description list
See merge request espressif/esp-idf!12480
2021-03-18 10:07:59 +00:00
Jiang Jiang Jian
d38eabf0c2
Merge branch 'bugfix/spi_flash_compatible_with_rom_c3_and_s3' into 'master'
...
spi_flash: make spiflash compatible with ESP32C3 and ESP32S3 ROM
See merge request espressif/esp-idf!12713
2021-03-18 04:08:06 +00:00
morris
f5ca47c0fc
mcpwm: rename macros related to soc capbility
2021-03-16 21:53:59 +08:00
morris
d0be56b8fe
lcd: add LL driver for esp32-s3
2021-03-13 22:31:30 +08:00
jiangguangming
ae04518a32
spi_flash: make spiflash compatible with ESP32C3 and ESP32S3 ROM
2021-03-12 17:31:13 +08:00
Darian Leung
424e1e1886
Add USB HCD
...
This commit adds the USB HCD (Host Controller Driver) and accompanying unit tests.
2021-02-26 23:13:42 +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
7b37158ede
rmt: distinguish group and channel in HAL layer
2021-02-25 12:42:23 +08:00
Armando
346dea206e
spi_slv_hd: add hal_trans_finish comments for clarifying risk
2021-02-24 12:01:31 +08:00
Armando
8d90d3072c
spi_slave_hd: refactor the hal append api to remove the spinlock
2021-02-24 12:01:31 +08:00
Omar Chebib
727481d71c
gpio: enable GPIO19 on ESP32C3 boards
2021-02-22 08:44:55 +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
Marius Vikhammer
04df1f3a42
CI: enable example builds for C3
...
Enables building C3 examples in CI.
Fixes related warnings/errors and disables examples that cannot run.
2021-02-09 12:04:02 +08:00
Marius Vikhammer
548fd02d10
docs: initial update of programming guide for C3
...
Updates "front page" content, get-started, and api-guides with C3 content
Enable building and publishing of C3 docs in CI
2021-02-01 15:40:02 +08:00
Ivan Grokhotkov
bb1f75179b
Merge branch 'bugfix/freertos_systimer_stall_when_cpu_halted' into 'master'
...
freertos: stall systimer while CPU is in debug mode
See merge request espressif/esp-idf!12063
2021-01-29 07:02:30 +08:00
Krzysztof Budzynski
9a5bd86d54
Merge branch 'docs/update_docs_based_on_the_second_batch_of_customer_feedbacks' into 'master'
...
docs: update documents based on doc-855, doc-885, doc-889, doc-897
See merge request espressif/esp-idf!12124
2021-01-26 16:21:26 +08:00
Michael (XIAO Xufeng)
c99e891201
Merge branch 'feature/sync_adc_changes_from_c3_to_master_last' into 'master'
...
adc: sync adc changes from c3 to master (last time)
Closes IDF-2694
See merge request espressif/esp-idf!12134
2021-01-26 12:52:20 +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
Wang Fang
7df1cad1d6
docs: This MR does the following updates:
...
1. Provided more information regarding I2S_COMM_FORMAT_STAND_PCM_SHORT and I2S_COMM_FORMAT_STAND_PCM_LONG
2. Added --output flag for partition table read instructions
3. Reordered the header files for esp-ble-mesh
4. Reordered the setup instructions for Ubuntu and CentOS
2021-01-25 11:10:08 +00:00
Michael (XIAO Xufeng)
7a20ea5f0e
Merge branch 'feature/support_flash_sus_res_c3' into 'master'
...
spi_flash: Add flash auto-suspend auto-resume mode on esp32c3
Closes IDF-2591
See merge request espressif/esp-idf!11888
2021-01-25 17:41:32 +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
fuzhibo
19fb11549b
driver(adc): update adc ll and hal driver for esp32c3
2021-01-25 04:51:40 +00:00
Armando
02600309c8
adc: fix some regression issues
2021-01-25 04:51:40 +00:00
Armando
b38f4646de
adc_digi: add dma drivers
2021-01-25 04:51:40 +00:00
Cao Sen Miao
f3e79ca166
spi_flash(c3): add boya chip support for suspend feature
2021-01-25 11:14:06 +08:00
Cao Sen Miao
9905da46e0
spi_flash: Add auto suspend mode on esp32c3
2021-01-25 11:14:02 +08:00
KonstantinKondrashov
1f37a5f162
spi_flash(esp32-s2): Add the workaround of a reboot issue when SPI HW suspend is enabled
2021-01-25 11:13:38 +08:00
Ivan Grokhotkov
d7bac619ec
freertos: stall systimer while CPU is in debug mode
2021-01-24 11:32:17 +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
Li Shuai
f168ac3b39
light sleep: add cpu power down support for esp32c3
2021-01-19 14:51:50 +08:00
Li Shuai
355dd10257
light sleep: dfs support for esp32c3
2021-01-19 14:50:58 +08:00
Marius Vikhammer
51169b0e0c
AES/SHA: use GDMA driver instead of LL
2021-01-19 11:02:51 +08:00
ninh
27aa6c289f
components/pm: Add slp gpio configure workaround
2021-01-15 15:34:45 +08:00
Angus Gratton
19883d9799
Merge branch 'bugfix/fix_sign_conversion_warnign' into 'master'
...
freertos: Silence sign-conversion warning
Closes IDFGH-3949
See merge request espressif/esp-idf!10724
2021-01-15 14:40:59 +08:00
Michael (XIAO Xufeng)
2d3f22918f
Merge branch 'feature/gdma_channel_allocator' into 'master'
...
gdma channel allocator
Closes IDF-2124
See merge request espressif/esp-idf!11570
2021-01-14 10:52:49 +08:00
Renz Bagaporo
ff2d9fd96c
[freertos] Silence sign-conversion warning
2021-01-14 10:54:15 +11:00
Angus Gratton
f683db7aea
Merge branch 'feature/c3_IDF-2554' into 'master'
...
global: Uses CCOUNT API instead of XTHAL macro
Closes IDF-2554
See merge request espressif/esp-idf!11954
2021-01-13 12:55:21 +08:00
morris
e6d23a35ec
gdma: dynamic alloc DMA channels
2021-01-13 10:52:27 +08:00
KonstantinKondrashov
dada7cd035
global: Uses CCOUNT API instead of XTHAL macro
2021-01-12 16:24:23 +08:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
Michael (XIAO Xufeng)
caf1e9d570
Merge branch 'bugfix/soc_caps_implicit_inc' into 'master'
...
HAL: explicitly include soc_caps.h
Closes IDFGH-4547
See merge request espressif/esp-idf!11895
2021-01-11 14:18:10 +08:00
Angus Gratton
5b68cf9de4
Merge branch 'feature/c3_ds' into 'master'
...
ESP32-C3 Digital Signature, HAL layer for DS.
Closes IDF-2111
See merge request espressif/esp-idf!10813
2021-01-07 13:07:28 +08:00
Marius Vikhammer
58c3f6a421
hal: explicitly include soc_caps.h
...
Many files in the HAL layer depended on SOC_ macros without
explicitly including soc_caps.h
2021-01-07 10:13:17 +08:00
Felipe Neves
72e4655d4e
interrupt: removed descriptor table from esp32c3 interrupt hal.
2021-01-05 15:39:46 +08:00
Felipe Neves
5d316ac142
interrupt: added INTC FLEXIBLE capabillity to esp32c3 CPU caps
2021-01-05 15:39:46 +08:00
Felipe Neves
544a3f7df5
interrupt-allocator: reject vector allocation if its marked as not-implemented. and search to next available
2021-01-05 15:39:46 +08:00
Felipe Neves
09bc1580be
intr_allocator: add abstractions for priority, type and edge-ack interrupt controller functions
2021-01-05 15:39:46 +08:00
Jakob Hasse
e532a29288
[Peripheral/Security] DS peripheral driver
2021-01-05 12:26:59 +08:00
Omar Chebib
c218f669ba
panic on RISC-V: Take into account Merge Request comments
2020-12-31 15:46:17 +08:00
Omar Chebib
b6a450f824
panic: Add support for SoC-level panic
...
SoC level exceptions such as watchdog timer and cache errors are now supported.
Such exceptions now triggers a panic, giving more information about how
and when it happened.
2020-12-31 15:46:17 +08:00
Darian Leung
602a747b31
Add USB Host registers and types and LL layer
...
This commit adds the register struct, Low Level Layer, and
protocol types for USB Host
2020-12-24 19:43:42 +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
Marius Vikhammer
dc0e80a4c8
Docs: fix doxygen warnings
2020-12-16 14:37:14 +08:00
Marius Vikhammer
457ce080ae
AES: refactor and add HAL layer
...
Refactor the AES driver and add HAL, LL and caps.
Add better support for running AES-GCM fully in hardware.
2020-12-10 09:04:47 +00:00
Angus Gratton
7c08be5771
hal: Add initial ESP32-C3 support
...
From internal commit 7761d6e8
2020-11-30 15:23:15 +11:00
Armando
05a4a8d864
uart: seperate sclk and baudrate setting
2020-11-24 19:12:52 +08:00
Armando
fb8b905539
uart: add uart support on esp32s3
2020-11-24 19:12:51 +08:00
Michael (XIAO Xufeng)
099fca515d
Merge branch 'bugfix/move_crypto_caps' into 'master'
...
SHA/RSA: moved all caps to soc_caps.h
Closes IDF-2300
See merge request espressif/esp-idf!11032
2020-11-13 11:06:44 +08:00
Cao Sen Miao
6eee601cf6
i2c: Add supports on esp32s3
2020-11-12 11:32:45 +08:00
Marius Vikhammer
488f46acf5
SHA/RSA: moved all caps to soc_caps.h
2020-11-12 02:15:46 +00: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
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
chenjianqiang
9465af0066
rmt: support esp32s3
2020-11-05 19:00:55 +08:00
morris
e4c8ec6174
timergroup: move interrupt index into peripheral description file
...
1. Added timer_group_periph.c file, describing module global signals
(e.g. interrupt index)
2. Added more caps in soc_caps.h
2020-11-03 18:16:50 +08:00
Michael (XIAO Xufeng)
35faecea1d
Merge branch 'feature/support_sigma_delta_on_s3' into 'master'
...
sigma_delta: add periph signal list and support esp32-s3
See merge request espressif/esp-idf!10945
2020-10-30 17:22:02 +08:00
Michael (XIAO Xufeng)
3bacf35310
esp_flash: support high capacity flash chips (32-bit address)
2020-10-29 18:20:11 +08:00
morris
17808b3ff8
sigma_delta: add periph signal list and support esp32-s3
2020-10-29 11:06:28 +08:00
Renz Bagaporo
79887fdc6c
soc: descriptive part occupy whole component
2020-10-28 07:21:29 +08:00
Renz Bagaporo
0aa9ee5b24
esp32s3: delete duplicate esp32s3
2020-10-22 20:01:59 +11:00
Renz Bagaporo
e19f5d8955
hal: fix wrong description on rtc io hal
...
Closes https://github.com/espressif/esp-idf/issues/5770
2020-10-22 20:01:41 +11: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
Marius Vikhammer
949fb8e63a
SHA: add HAL layer and refactor driver
...
Add a LL and HAL layer for SHA.
2020-10-09 08:24:08 +00:00
Angus Gratton
83a7891f84
Merge branch 'feature/intr_alloc' into 'master'
...
feature/intr_alloc: moved interrupt allocator to the esp-system and refactored it moving all platform specific code to its place
Closes IDF-1913
See merge request espressif/esp-idf!10267
2020-09-30 07:44:12 +08:00
Felipe Neves
2e826b7a8f
intr_alloc: split interrupt allocator into common-code and platform-code
...
esp_system: removed repeated interrupt allocator code and moved common code to esp_system
xtens: moved xtensa specific code from freertos to the xtensa component
hal/interrupt_controller: added interrupt controller hal and ll files
docs: update the doxyfile with new location of esp_itr_alloc.h file
xtensa: fixed dangerous relocation problem after moving xtensa interrupt files out of freertos
docs: removed Xtensa reference from intr_allocator api-reference
xtensa: pushed the interrupt function that manages non iram interrupts to the xtensa layer
esp_system/test: fixed platform dependent setting for intr_allocator tests
hal: rename the functions used to manage non iram interrupt mask.
2020-09-30 07:44:12 +08:00
Michael (XIAO Xufeng)
c7264f04c6
Merge branch 'bugfix/fix_incorrect_i2s_pdm_clk_issue' into 'master'
...
Bugfix(I2S): Fix I2S PDM clock incorrect issue when using APLL.
Closes IDFGH-3423 and IDFGH-3106
See merge request espressif/esp-idf!9101
2020-09-28 11:35:31 +08:00
Armando
1e1beb69aa
spi: fix build fail issue when target is esp32s3
2020-09-24 10:51:23 +08:00
Michael (XIAO Xufeng)
4b95f7efa8
Merge branch 'feature/spi_dma_hal_ll_refactor' into 'master'
...
spi: refactor DMA ll layer functions
Closes IDFGH-3538 and IDFGH-2555
See merge request espressif/esp-idf!9929
2020-09-23 15:32:41 +08:00
Renz Bagaporo
2bcf99527c
soc: move out rtc_hal to hal component
2020-09-23 02:53:03 +00:00
morris
75a372a9f0
unit_test: support reference clock, test delay function
2020-09-22 15:15:03 +08:00
morris
61f89b97c6
bringup esp32-s3 on FPGA
2020-09-22 15:15:03 +08:00
Armando
59e350b195
spi: seperate the pointer for the TX and RX DMA
2020-09-21 20:33:56 +08:00
Armando
27a6f2666a
spi_master: refactor hal context structures
...
This commit seperates the hal context into different configuration
structures based on their members' definitions. Through refactoring
spi_master.c, the device related configuration should be passed in and
set each time before a new transaction. The transaction related
configuration now is a local variable in case of the fact that error
occurs without any notice when user forgets to pass new transaction
configuration in (which means the old driver will use the trans_config
that is saved from last transaction).
Besides, via above refactor, this commit fixs a bug which leads to
wrong cs polarity setting.
Closes https://github.com/espressif/esp-idf/pull/5490
Moreover, via above refactor, this commit also fixs a bug about duplex
mode switching when multiple devices are added to the bus.
Closes https://github.com/espressif/esp-idf/issues/4641
2020-09-21 20:32:41 +08:00
morris
a3cc43485f
async memcpy: support async memcopy on esp32s2/s3
...
Added async memory copy API:
on esp32-s2, the implementation is based on CP_DMA
on esp32-s3, the implementation is based on GDMA
2020-09-16 21:30:54 +08:00
Marius Vikhammer
b2f390df01
hal: update link to HAL readme.md
...
The HAL readme was moved during refactoring, but links were not updated.
2020-09-11 15:48:08 +08:00
Zhang Hu
6a5faa0fd7
Driver(I2S): Fix I2S PDM clock incorrect issue when using APLL.
...
closes https://github.com/espressif/esp-idf/issues/5127
closes https://github.com/espressif/esp-idf/issues/5386
2020-09-07 08:08:22 +00: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)
5425ef4ee4
hal: extract hal component from soc component
2020-09-01 13:25:32 +08:00