Armando (Dou Yiwen)
9f6f61345b
Merge branch 'feature/adc_driver_ng' into 'master'
...
ADC Driver NG
Closes IDF-4560, IDF-3908, IDF-4225, IDF-2482, IDF-4111, IDF-3610, IDF-4058, IDF-3801, IDF-3636, IDF-2537, IDF-4310, IDF-5150, IDF-5151, and IDF-4979
See merge request espressif/esp-idf!17960
2022-07-19 21:28:31 +08:00
Cao Sen Miao
53580a62b5
I2C: Fullfill the I2C clock tree, and support 26M XTAL on ESP32-C2
2022-07-19 11:41:42 +08:00
Armando
5b523a3313
esp_adc: new esp_adc component and adc drivers
2022-07-15 18:31:00 +08:00
songruojing
0c4b9a0101
gpio: Fix HAL bad bit shift operation on gpio_num_t reported from coverity
...
All gpio hal and ll functions input arguments gpio_num_t are changed to uint32_t type.
Validation of gpio num should be guaranteed from the driver layer.
2022-07-15 16:51:25 +08:00
Jiang Jiang Jian
b610b47a83
Merge branch 'feature/esp32s3_memprot_additional_improvements' into 'master'
...
[System/Security] Memprot after-merge improvements (v5.0)
Closes IDF-5263 and IDF-5208
See merge request espressif/esp-idf!18893
2022-07-13 15:48:20 +08:00
Song Ruo Jing
ea97cc93ea
Merge branch 'feature/c2_systimer_26mhz' into 'master'
...
esp32c2: 26 MHz XTAL support: Kconfig option, systimer support
Closes IDF-5412 and IDF-5413
See merge request espressif/esp-idf!18835
2022-07-11 16:17:25 +08:00
Ivan Grokhotkov
5b54ae76d4
esp_timer, hal: add support for non-integer systimer frequency
...
When ESP32-C2 is paired with a 26 MHz XTAL, the systimer tick
frequency becomes equal to 26 / 2.5 = 10.4 MHz. Previously we always
assumed that systimer tick frequency is integer (and 1 MHz * power of
two, above that!).
This commit introduces a new LL macro, SYSTIMER_LL_TICKS_PER_US_DIV.
It should be set in such a way that:
1. SYSTIMER_LL_TICKS_PER_US / SYSTIMER_LL_TICKS_PER_US_DIV equals the
actual systimer tick frequency,
2. and SYSTIMER_LL_TICKS_PER_US is integer.
For ESP32-C2 this means that SYSTIMER_LL_TICKS_PER_US = 52 and
SYSTIMER_LL_TICKS_PER_US_DIV = 5.
This introduced two possible issues:
1. Overflow when multiplying systimer counter by 5
- Should not be an issue, since systimer counter is 52-bit, so
counter * 5 is no more than 55-bit.
2. The code needs to perform:
- divide by 5: when converting from microseconds to ticks
- divide by 52: when converting from ticks to microseconds
The latter potentially introduces a performance issue for the
esp_timer_get_time function.
2022-07-11 12:24:37 +08:00
Martin Vychodil
0c87ae2a91
System/Security: Memprot API unified (ESP32S3)
...
Added missing features and improvements
2022-07-09 22:57:51 +02:00
Jiang Jiang Jian
a7bf3af687
Merge branch 'bugfix/reset_ble_hw_on_inititalization' into 'master'
...
component/bt: reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3
Closes BT-2402
See merge request espressif/esp-idf!18831
2022-07-08 16:21:41 +08:00
Michael (XIAO Xufeng)
a58362a429
Merge branch 'feature/efuse_rev_major_minor' into 'master'
...
efuse: Adds major and minor versions
See merge request espressif/esp-idf!18255
2022-07-07 11:48:54 +08:00
wangmengyang
1d55f12c2d
component/bt: reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3
...
1. Rename MACROs SYSTEM_WIFI_RST_EN register bit fields to be more recognizable
2. reset Bluetooth baseband and clock bits to fix the issue of task watchdog triggered during controller initialization due to invalid hardware state
2022-07-06 16:23:48 +08:00
Cao Sen Miao
e218723e0e
I2C: Make I2C clock frequency accurate
2022-07-06 11:58:08 +08:00
KonstantinKondrashov
0f8ff5aa15
efuse: Adds major and minor versions and others
2022-07-05 14:38:27 +08:00
Omar Chebib
cd48baf979
Refactor: move regi2c_*.h header files from esp_hw_support to soc component
...
When creating G0 layer, some regi2c_*.h headers were moved out from
esp_hw_support (G1) to soc (G0). In order to be consistent with that change,
move all the remaining regi2c_*.h headers to soc too.
2022-06-30 09:40:44 +00:00
Armando
31b3f31ef4
ext_mem: make memory region check strict
2022-06-28 14:17:44 +08:00
Cao Sen Miao
2c0651a671
Add regi2c enable/disable reference count
2022-06-23 15:36:44 +08:00
Cao Sen Miao
3a820462ac
temperature_sensor: Add temperature sensor support for ESP32-C2
2022-06-23 15:36:43 +08:00
Omar Chebib
8fae0f0753
G0: Support Xtensa targets for G0-only compilation
...
G0-only example now supports Xtensa targets. This means that G0 layer
does not depend on G1+ layers anymore
2022-06-20 11:34:20 +00:00
Omar Chebib
752026a174
Merge branch 'refactor/remove_g0_dep_on_g1_riscv' into 'master'
...
G0: RISC-V targets have now an independent G0 layer
See merge request espressif/esp-idf!17926
2022-06-16 11:53:39 +08:00
laokaiyao
28b8fc6a7e
i2s: update documents for driver-NG
2022-06-15 10:30:04 +08:00
laokaiyao
0fe3bb8ab7
i2s: update examples and unit-tests
2022-06-15 10:29:06 +08:00
laokaiyao
621d0aa942
i2s: Introduced a brand new driver
2022-06-15 10:29:06 +08:00
Darian
e213e66ba3
Merge branch 'refactor/esp_hw_support_cpu' into 'master'
...
esp_hw_support: Add new esp_cpu.h abstraction
Closes IDF-4769
See merge request espressif/esp-idf!17091
2022-06-14 21:11:30 +08:00
Omar Chebib
2fd784c97a
G0 RISC-V: Remove "private_include/regi2c_brownout.h" header as it has been moved and simplify "regi2c_ctrl.h"
2022-06-14 15:00:53 +08:00
Omar Chebib
5bcd9b2db8
G0: RISC-V targets have now an independent G0 layer
...
G0 doesn't depend on any G1+ layer for RISC-V based targets
2022-06-14 15:00:53 +08:00
Darian Leung
a8a3756b38
hal: Route CPU and Interrupt Controller HAL/LL to esp_cpu calls
...
This commit makes changes to cpu_ll.h, cpu_hal.h, and interrupt_controller_hal.h:
- Moved to esp_hw_support in order to be deprecated in the future
- HAL/LL API now route their calls to esp_cpu.h functions instead
Also updated soc_hal.h as follows:
- Removed __SOC_HAL_..._OTHER_CORES() macros as they dependend on cpu_hal.h
- Made soc_hal.h and soc_ll.h interfaces always inline, and removed soc_hal.c.
This commit also updates the XCHAL_ERRATUM_572 workaround by
- Removing it's HAL function and invoking the workaround it directly the bootloader
- Added missing workaround for the ESP32-S3
2022-06-14 14:40:03 +08:00
Darian Leung
149872131a
hal: Move dedicated GPIO LL and HAL
...
This commit moves the dedicated GPIO LL and HAL functions from
cpu_ll.h to dedic_gpio_cpu_ll.h.
- cpu_ll_enable_cycle_count() has also been removed due to lack of feasible usage scenarios
2022-06-14 14:38:29 +08:00
songruojing
c8752cee6a
clk_tree: Refactor rtc_clk.c by adding HAL layer for clock subsystem
2022-06-13 17:47:50 +08:00
Cao Sen Miao
6589daabb9
MMU: Add configurable mmu page size support on ESP32C2
2022-06-08 19:34:31 +08:00
Cao Sen Miao
6a2d3509dc
spi_flash: Making XMC flash works more stable when brownout detected
2022-06-02 10:38:55 +08:00
Konstantin Kondrashov
b824f68b35
Merge branch 'feature/move_dport_workaround_to_g0' into 'master'
...
dport_access: Move DPORT workaround to G0
Closes IDF-2177
See merge request espressif/esp-idf!17961
2022-06-01 12:11:12 +08:00
KonstantinKondrashov
c5a4ab39a7
soc: Fix description of efuse fail bits
2022-05-31 11:21:24 +00:00
KonstantinKondrashov
ac4c7d99fe
dport: Move DPORT workaround to G0
2022-05-31 13:44:18 +08:00
morris
4352c39e3e
Merge branch 'feature/cache_c2_support' into 'master'
...
cache: access error & illegal error ll functions
Closes IDF-3820
See merge request espressif/esp-idf!18203
2022-05-30 11:40:11 +08:00
Armando
8532d09259
cache: access error & illegal error ll functions
2022-05-23 15:00:47 +08:00
jiangguangming
9c6afee12f
flash mmap: abstract R/W MMU table instead of reg access
2022-05-20 16:46:27 +08:00
Omar Chebib
477bc9e64c
I2C: Fix SCL period timings on ESP targets
...
The output frequency is now more accurate as the SCL period timings have been fixed.
This fix applies for ESP32, ESP32S3, ESP32C3, ESP32C2 and ESP32H2
2022-05-18 05:36:08 +00:00
Armando
49747bb486
adc: create common adc hal layer
2022-05-07 19:20:44 +08:00
Armando (Dou Yiwen)
76be0c2624
Merge branch 'bugfix/fix_esp32_mmu_init_issue' into 'master'
...
mmu: add ll functions for mmu unmap
Closes OCD-526 and IDF-4962
See merge request espressif/esp-idf!17868
2022-05-05 22:21:18 +08:00
Armando
e09787d851
mmu: fix macro MMU_ENTRY_NUM and add new macro MMU_MAX_PADDR_PAGE_NUM
2022-04-27 11:35:07 +08:00
Armando
2764cd5682
mmu: simplify mmu_hal_init
2022-04-27 11:35:07 +08:00
jiangguangming
63ac5e4a99
mmu: add ll func used to invalidate the mmu entry
2022-04-27 11:35:07 +08:00
Simon
e4d85807ea
Merge branch 'feature/spi_flash_esp8684_support' into 'master'
...
spi_flash: refactor spi_flash clock configuration logic and support esp32c2
Closes IDF-4474, IDF-4025, and IDF-4066
See merge request espressif/esp-idf!16602
2022-04-27 11:05:45 +08:00
Konstantin Kondrashov
df30b362a8
efuse: Validates data after burning and re-burnes it if necessary
2022-04-27 01:10:41 +08:00
Cao Sen Miao
4418a855ba
spi_flash: refactor the spi_flash clock configuration, and add support for esp32c2
2022-04-26 15:22:37 +08:00
laokaiyao
b99ced08a2
i2s: fix only right case
...
Closes: https://github.com/espressif/esp-idf/issues/8538
2022-04-23 07:38:45 +00:00
Darian
7c5cf3988f
Merge branch 'bugfix/twai_ll_parse_frame_buffer_typo' into 'master'
...
TWAI: Fix twai_ll_parse_frame_buffer() typo
Closes IDFGH-7140
See merge request espressif/esp-idf!17875
2022-04-22 21:29:59 +08:00
Darian Leung
09dc46552b
twai: Fix twai_ll_parse_frame_buffer() typo
...
Closes https://github.com/espressif/esp-idf/issues/8743
2022-04-22 15:25:39 +08:00
Anton Maklakov
f4c190cadd
Merge branch 'bugfix/abs_arguments' into 'master'
...
fix warnings: abs() use again
Closes GCC-240
See merge request espressif/esp-idf!17846
2022-04-22 09:30:23 +08:00
morris
4280164be4
rmt: add more clock source caps
2022-04-21 13:59:47 +00:00
Anton Maklakov
7a066b7b56
components: correct abs() use for unsigned argument
2022-04-21 12:22:01 +07:00
morris
373d9b3dbc
Merge branch 'feature/default_clk_for_gptimer' into 'master'
...
clk_tree: added default clock source for peripherals (GPTimer, RMT, LCD, TempSensor)
Closes IDF-4894
See merge request espressif/esp-idf!17759
2022-04-19 18:02:40 +08:00
songruojing
534346f4bb
ledc: Provide support for esp32c2 and esp32h2
...
LEDC examples, unit test, and programming guide are all updated.
2022-04-14 08:15:14 +00:00
morris
f32a89826c
clk_tree: added default clock source for peripheral
2022-04-14 15:44:56 +08:00
songruo
60bb5c913d
clk_tree: prework of introducing clk subsystem control
...
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08:00
laokaiyao
f17edba20b
i2s: extract std/pdm/tdm modes
...
Type structures of these modes are defined. Driver and HAL layer are modified to fit these concepts.
2022-03-22 10:14:45 +08:00
Armando (Dou Yiwen)
36457b1346
Merge branch 'refactor/adc_unify_adc_unit' into 'master'
...
adc: adc single driver NG pre-step - unify adc_ll_num_t and adc_unit_t
See merge request espressif/esp-idf!17408
2022-03-18 20:29:36 +08:00
Armando
386363cafd
adc: unify adc_ll_num_t and adc_unit_t
2022-03-18 11:36:50 +08:00
morris
98e19b3355
Merge branch 'contrib/github_pr_8496' into 'master'
...
SPI LCD support large color transfers (GitHub PR)
Closes IDFGH-6874
See merge request espressif/esp-idf!17391
2022-03-14 22:22:00 +08:00
Michael (XIAO Xufeng)
aab535fe4a
Merge branch 'bugfix/regi2c_ctrl_spinlock_s2' into 'master'
...
hw_support: fixed regi2c not protected by lock on ESP32S2
See merge request espressif/esp-idf!16653
2022-03-13 02:47:53 +08:00
Michael (XIAO Xufeng)
d5bdf95580
hw_support: fixed regi2c not protected by lock on ESP32S2
2022-03-13 00:24:08 +08:00
Armando (Dou Yiwen)
6ed3ffbbf1
Merge branch 'refactor/remove_redundant_rom_cache_dependency' into 'master'
...
cache: remove redundant rom cache dependency in bootloader
Closes IDF-4523
See merge request espressif/esp-idf!17077
2022-03-12 10:11:39 +08:00
Armando
c1cbd7bbf6
cache/mmu: implememnt cache and mmu hal APIs in bootloader
2022-03-11 22:43:11 +08:00
morris
2c7cfdd784
spi: define tranfer max bit length in LL
2022-03-10 13:40:43 +08:00
morris
9f55712c03
rmt: document and improve LL driver
2022-03-09 10:58:12 +08:00
Zim Kalinowski
0440aca4e3
Merge branch 'feature/reevaluate_headers_include_dirs' into 'master'
...
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
See merge request espressif/esp-idf!16763
2022-03-08 01:32:24 +08:00
Simon
4bf4a020a6
Merge branch 'refactor/abstract_temperature_sensor' into 'master'
...
temperature_sensor: Refactor temperature sensor to new APIs (follow rule of driverNG) and support esp32s3
Closes IDF-3665, IDF-3367, and IDF-1793
See merge request espressif/esp-idf!16787
2022-03-07 20:17:39 +08:00
Sudeep Mohanty
a9fda54d39
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
...
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Cao Sen Miao
b248046bcb
Temperature_sensor: Create new temperature sensor API
2022-03-04 18:13:35 +08:00
songruojing
c8c137f2b7
esp32h2: support GPIO peripheral, IO_MUX, GPIO matrix.
...
Generic GPIO example is supported as well.
2022-03-04 11:25:05 +08:00
songruojing
24a60c12c6
uart: Provide support for esp32c2 and esp32h2
...
UART examples, unit test, and programming guide are all updated.
2022-03-02 11:29:13 +08:00
wuzhenghui
95418fd22e
remove esp32c3 unsupported efuse field
2022-02-28 19:37:38 +08:00
Konstantin Kondrashov
44e5ac2c59
Merge branch 'feature/efuse_hal' into 'master'
...
hal: Adds efuse hal layer
See merge request espressif/esp-idf!16354
2022-02-28 13:38:43 +08:00
KonstantinKondrashov
9605f3eb1a
soc: Adds efuse hal
...
Replaced eFuse ROM funcs with hal layer
2022-02-24 22:20:09 +08:00
Alexey Gerenkov
dea45a9d72
riscv: Use semihosting to set breakpoint and watchpoint when running under debugger
2022-02-24 08:55:40 +00:00
Marius Vikhammer
06d8a5bf33
Merge branch 'bugfix/inline_intrmask_from_isr' into 'master'
...
freertos: always inline xPortSetInterruptMaskFromISR and vPortClearInterruptMaskFromISR
Closes IDFGH-6669
See merge request espressif/esp-idf!16970
2022-02-23 01:05:40 +00:00
Marius Vikhammer
ca6f76d831
spi flash: fix cache accessed while disabled issues at -O0
...
mask_get_id and gpio_hal_iomux_func_sel were called while cache
is disabled, but were not inlined as expected at -0O.
Force these functions to always be inlined.
2022-02-07 11:33:33 +08:00
Chen Wu
35941de800
debug: esp32c3 uart1 wakeup
2022-01-25 17:43:02 +08:00
Chen Yi Qun
56e9920958
uart: add wakeup event for esp32c3
2022-01-25 17:43:02 +08:00
Ivan Grokhotkov
876f4d6a1c
vfs: add support for semihosting on ESP32-C3
2022-01-14 17:29:03 +01:00
Anton Maklakov
d500c8205e
Merge branch 'bugfix/fix_spi_cs_hold_time_issue' into 'master'
...
spi_master: fix spi cs_ena_posttrans issue
Closes IDFGH-6077
See merge request espressif/esp-idf!15925
2022-01-07 04:06:12 +00:00
morris
8cdcb4e291
rmt: move RMT item definition from soc to driver
2022-01-06 21:43:12 +08:00
Armando
56a707eef4
spi_master: fix spi cs_ena_posttrans issue
2022-01-06 17:54:58 +08:00
songruojing
e0bc3a923c
esp8684: support GPIO peripheral, IO_MUX, GPIO matrix.
...
Generic GPIO example and GPIO unit test on esp8684 are both supported as well.
2021-12-29 22:01:45 +08:00
Harshit Malpani
2c84db95d2
freertos: fix build warnings with -Wsign-conversion CFLAG
...
Closes https://github.com/espressif/esp-idf/issues/4946
2021-12-27 13:31:34 +05:30
morris
2c810f8451
timer: save alarm value in driver layer
2021-12-23 11:39:32 +08:00
Martin Vychodil
dd938eb952
System/Security: Memprot API unified (ESP32C3)
...
Unified Memory protection API for all PMS-aware chips (ESP32C3)
Closes JIRA IDF-3849
2021-12-21 01:50:36 +01:00
Armando
4dc0d6b2fe
adc: support adc dma driver on all chips
2021-12-16 00:19:15 +00:00
Omar Chebib
1e8a0909f6
LEDC: divisor calculation will now be rounded up when necessary
...
Closes https://github.com/espressif/esp-idf/issues/7722
2021-11-11 12:21:22 +08:00
Omar Chebib
aa2ca7dd94
LEDC: improved support for ESP32-C3 and refactored divisor calculation
...
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2021-11-11 12:21:15 +08:00
morris
83d16aa00c
gdma: support IRAM interrupt
2021-11-08 16:14:51 +08:00
Cao Sen Miao
09487761cf
ESP8684: add freertos, hal, esp_system support
2021-11-06 17:33:44 +08:00
Alexey Gerenkov
bb9cd84cdc
debug_stubs: Refactor and add support for RISCV
2021-11-04 01:33:24 +03:00
laokaiyao
f37595dee9
i2s: fix ws signal polarity in tdm mode
2021-10-26 11:12:30 +08:00
morris
e2275b1f63
gptimer: clean up hal and ll for driver-ng
2021-10-20 18:40:08 +08:00
Zim Kalinowski
a7c9949dd9
Fixed build problem when icluding gpio_ll.h from cpp file
2021-10-17 14:29:31 +08:00
laokaiyao
7264c0e59a
i2s_rec_example: add support for esp32s3
2021-10-01 16:05:04 +01:00
SalimTerryLi
bd89dcc683
RMT: add loop_autostop driver support for esp32s3
2021-09-24 15:24:45 +08:00
morris
20ef511d0a
Merge branch 'bugfix/fix_reg_name_charactor_err' into 'master'
...
bugfix: fix reg name character error
See merge request espressif/esp-idf!14169
2021-09-18 07:10:57 +00:00
Wu Zheng Hui
1080e4f6a2
rename APB_CTRL ro SYS_CON
...
save
2021-09-16 20:57:57 +08:00