houwenxiang
2f1247e1c4
driver: support I2S on ESP32-S3 & ESP32-C3
...
1. refactor I2S driver.
2. support TDM mode for esp2s3 & esp32c3.
2021-08-04 10:20:03 +08:00
SalimTerryLi
f4314af913
MCPWM: expose API to set timer resolution
...
Closes https://github.com/espressif/esp-idf/issues/1101
2021-07-30 18:52:17 +08:00
morris
f907009056
Merge branch 'refactor/cleanup_mcpwm_examples' into 'master'
...
mcpwm: more clean up (example + LL + doc)
Closes IDF-3295
See merge request espressif/esp-idf!12798
2021-07-29 10:41:07 +00:00
Michael (XIAO Xufeng)
5569dedd7f
Merge branch 'bugfix/i2c_example_esp32s3' into 'master'
...
i2c: bringup on ESP32-S3
Closes IDF-3232 and IDF-3292
See merge request espressif/esp-idf!13985
2021-07-29 07:01:38 +00:00
morris
88c87bfe56
mcpwm: update hal and soc naming
2021-07-26 22:32:45 +08:00
Omar Chebib
b8c6c5334f
i2c: modify examples to work out of the box on ESP32S3
...
On ESP32S3, the default I2C pins of the examples are already used by USB.
This commit changes the default pins.
2021-07-21 11:04:16 +08:00
Omar Chebib
a6e14c37b2
SPI: chip select can now be kept active if the bus has been acquired
...
The user can now request the chip select to remain active after the current
transfer. In order to do so, he MUST acquire the bus first with `spi_device_acquire_bus()`
function, else, an error is returned.
2021-07-21 10:39:45 +08:00
Michael (XIAO Xufeng)
ded74889da
Merge branch 'bugfix/spi_slave_wrong_miso_mosi' into 'master'
...
spi_slave: Fix MOSI/MISO inconsistent references on the SPI Slave drivers.
See merge request espressif/esp-idf!13645
2021-07-15 08:51:41 +00:00
Michael (XIAO Xufeng)
5986b204c6
Merge branch 'feature/i2c_add_static_buffer_transfers' into 'master'
...
i2c: add `i2c_cmd_link_create_static()` to create commands from a given buffer
Closes IDFGH-3087
See merge request espressif/esp-idf!13013
2021-07-02 14:00:03 +00:00
Michael (XIAO Xufeng)
e8ff60544d
Merge branch 'bugfix/channel_clk_independent' into 'master'
...
rmt: clean up and support esp32-s3 (no DMA support)
Closes IDF-3296 and IDFGH-5350
See merge request espressif/esp-idf!13244
2021-07-01 04:37:07 +00:00
Gustavo Henrique Nihei
8f822db28c
spi: Fix SPI Slave TX/RX bitlen configuring wrong registers
...
The maximum input length for the SPI Slave should be applied to the read
buffer configuration, not for the write buffer. Similarly, the output
configuration should also target the write buffer.
2021-06-28 18:58:59 -03:00
Michael (XIAO Xufeng)
99988fa454
Merge branch 'refactor/emac_hal' into 'master'
...
hal/emac_hal: refactor of emac_hal
Closes IDF-3155
See merge request espressif/esp-idf!13500
2021-06-22 15:34:51 +00:00
morris
a1494809b2
rmt: clean up LL driver
2021-06-22 15:29:11 +08:00
morris
9afdf54748
hal: added HAL_ASSERT
2021-06-22 11:28:01 +08:00
laokaiyao
fe354f1c50
hal/emac_hal: refactord emac_hal
2021-06-16 09:48:21 +08:00
Omar Chebib
cfcbca1271
i2c: optimize space allocated for read or write buffers
...
Only a single command will be allocated now when a read or write is
prepared in the command list. The size of a command's buffer is not
limited to 255 bytes anymore.
2021-06-09 15:21:20 +08:00
morris
d4fe219c49
mcpwm: refactor driver
2021-06-09 12:27:01 +08:00
Michael (XIAO Xufeng)
afe9b42cbf
Merge branch 'typo_fix/fix_typo_in_comment_in_uart_ll' into 'master'
...
Fix typo in `include/hal/uart_ll.h`
Closes IDFGH-5320
See merge request espressif/esp-idf!13826
2021-06-09 02:13:36 +00:00
Andrey Starodubtsev
8488055711
Fix typo in include/hal/uart_ll.h
...
s/final state machine/finite-state machine/g
Signed-off-by: bizhuangyang <bizhuangyang@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/7076
2021-06-02 15:37:30 +08:00
Cao Sen Miao
08f1bbe0c7
spi_flash: fix cs line setup to make the flash driver more stable
2021-06-01 16:41:41 +08:00
Sergey Gorban
850de61e34
Fixed error in "touch_ll_get_sleep_time" function for ESP32
...
Merges https://github.com/espressif/esp-idf/pull/6895
2021-05-26 16:23:18 +08:00
laokaiyao
e66f25caf2
driver/mcpwm: fix the misleading of mcpwm_capture_enable parameters
...
closes https://github.com/espressif/esp-idf/issues/5032
2021-05-13 12:23:19 +08:00
Cao Sen Miao
0d81edb174
spi_flash: refactoring flash encryption into new api
2021-04-25 17:09:25 +08:00
Ivan Grokhotkov
ea7d020f20
Merge branch 'feature/ubsan' into 'master'
...
system: add option to enable undefined behavior sanitizer (UBSAN)
Closes IDF-166 and IDF-1824
See merge request espressif/esp-idf!11318
2021-04-23 09:27:42 +00:00
Angus Gratton
0be81903cc
Merge branch 'bugfix/hal_duplicated_interrupt_functions' into 'master'
...
[hal]: merged duplicated HAL layer functions
Closes IDF-2308
See merge request espressif/esp-idf!12444
2021-04-23 07:47:51 +00:00
Ivan Grokhotkov
e449728b7d
hal: fix planted break instruction for Xtensa targets
...
On Xtensa, "break 0, 0" encodes a software breakpoint which is placed
into the program by the debug monitor. Planted breakpoints (added in
the code to trap into debugger) should be encoded as "break 1, 15".
See table "Breakpoint Instruction Operand Conventions" in the ISA
Reference manual.
2021-04-22 23:33:47 +02:00
Ivan Grokhotkov
da90775d98
hal: mpu: fix signed overflow error
2021-04-22 23:33:47 +02:00
Ivan Grokhotkov
9069f70db3
system: add option to enable undefined behavior sanitizer (UBSAN)
...
Closes https://github.com/espressif/esp-idf/issues/1574
2021-04-22 23:33:45 +02:00
Darian Leung
44bc5411b7
TWAI: Fix incorrect CAP name
...
Fixes a bug where SOC_TWAI_BRP_DIV_SUPPORTED was mistyped preventing
slower bit rates from being enabled on ESP32 revision 2 and 3 chips
2021-04-16 18:18:37 +08: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
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
aleks
193f1f9b4e
driver: fix uart handler in iram calls inline uart_ll_is_tx_idle
2021-03-31 14:39:59 +00: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
Angus Gratton
fa2946d651
Merge branch 'feature/support_esp32s3_beta_3' into 'master'
...
Support ESP32S3 beta 3 target
Closes IDF-2908
See merge request espressif/esp-idf!12661
2021-03-23 10:17:58 +00:00
Marius Vikhammer
2aead8ba57
Support ESP32S3 Beta 3 target
...
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
morris
5a520cacf1
timer_group: correct timer_ll_set_divider
2021-03-16 17:56:37 +08:00
Angus Gratton
fd164b82b6
Merge branch 'refactor/move_from_xtensa' into 'master'
...
Movements from xtensa
Closes IDF-2164
See merge request espressif/esp-idf!10556
2021-03-11 00:24:25 +00:00
fuzhibo
cfe59031a5
fix: clear interrupt in touch sensor initialization
2021-03-01 03:57:01 +00:00
Renz Bagaporo
1efdcd69d9
xtensa: move out trax
2021-02-26 19:45:48 +08:00
morris
7b37158ede
rmt: distinguish group and channel in HAL layer
2021-02-25 12:42:23 +08:00
morris
6dc7f95342
mcpwm: fix wrong meta information
2021-02-22 20:23:35 +08: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
Michael (XIAO Xufeng)
da4b4fc565
Merge branch 'bugfix/mcpwm_can_set_two_falut_signal' into 'master'
...
mcpwm: fix second fault line broken issue
Closes IDFGH-4194
See merge request espressif/esp-idf!12119
2021-01-27 11:36:30 +08:00
Michael (XIAO Xufeng)
3d7da2c8ff
adc: simplify LL on C3
2021-01-25 15:08:55 +08:00
morris
ceab7daea8
mcpwm: fix wrong capture edge
2021-01-22 16:17:59 +08:00
Li Shuai
a43de3a44b
fix set UART_FORCE_XOFF
can't stop new Tx request issue
2021-01-19 14:51:22 +08:00
Li Shuai
355dd10257
light sleep: dfs support for esp32c3
2021-01-19 14:50:58 +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
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
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
morris
9e7d2c0065
esp32c3: format and clean up interrupt and os port code
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
09bc1580be
intr_allocator: add abstractions for priority, type and edge-ack interrupt controller functions
2021-01-05 15:39:46 +08: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
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)
af992c26bc
Merge branch 'bugfix/fix_x32k_startup_slow_bug' into 'master'
...
bugfix: Fix xtal 32k not oscillate or oscillate too slowly issue for esp32
See merge request espressif/esp-idf!10519
2020-11-24 17:37:29 +08: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
Armando
9c507982aa
spi: fix spi_ll.h func name
...
On esp32 and esp32s2:
``spi_ll_dma_set_out_eof_generation`` is modified to
``spi_ll_dma_set_rx_eof_generation``.
``spi_dma_ll_set_rx_eof_generation`` is modified to
``spi_dma_ll_set_out_eof_generation``.
Because on ESP32S3, this bit ``out_eof_mode`` is moved to DMA related
registers.
2020-11-19 19:33:02 +08:00
Michael (XIAO Xufeng)
caf83b88ba
Merge branch 'feature/bringup_i2c_for_s3' into 'master'
...
I2C: Add support for esp32s3 and add source clock allocator
Closes IDF-2011
See merge request espressif/esp-idf!10923
2020-11-12 22:12:58 +08:00
Cao Sen Miao
6eee601cf6
i2c: Add supports on esp32s3
2020-11-12 11:32:45 +08:00
morris
deea402cf4
timer: pooling update bit before reading count value
2020-11-12 10:31:38 +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
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)
3bacf35310
esp_flash: support high capacity flash chips (32-bit address)
2020-10-29 18:20:11 +08:00
Armando
f7e91ef6c1
spi: esp32s3 bringup for spi
2020-10-26 11:28:34 +08:00
Renz Bagaporo
e7460c1f00
soc: remove unecessary headers in dport_access.h
2020-10-22 19:42:34 +08:00
morris
74d78148bc
pcnt: add pcnt peripheral signal connections
...
pcnt: fix bug in clear interrupt status
2020-10-19 11:56:18 +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
Michael (XIAO Xufeng)
fe37db3271
esp_flash: fix the incorrect check_idle logic in LL and chip_driver
2020-10-02 05:34:36 +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
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
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
Wielebny666
db6fbba73e
spi_master: correctly set cs polarity
...
All devices must be added to the same spi line before use.
Partly solve this problem: https://github.com/espressif/esp-idf/pull/5490
2020-09-17 12:05:57 +00: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
Ivan Grokhotkov
3a51584fbb
Merge branch 'bugfix/uart_read_o2' into 'master'
...
hal: workaround for UART FIFO read on ESP32 with -O2 optimization
Closes IDFCI-97
See merge request espressif/esp-idf!10263
2020-09-08 00:01:48 +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
Ivan Grokhotkov
c3008e8ae1
hal: workaround for UART FIFO read on ESP32 with -O2 optimization
2020-09-03 12:13:11 +02: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