Gunar Schorcht
0d451969c3
cpu/esp32: place newlib syscalls in IRAM
2020-03-01 10:01:34 +01:00
Benjamin Valentin
33d03e7b3f
cpu/stm32f1: make RTC Y2038 safe
...
Use rtc_* functions with custom EPOCH.
This buys us about 118 years.
2020-02-29 17:45:16 +01:00
Gunar Schorcht
33fd259115
cpu/esp: platform heap_stats only used with esp_idf_heap
2020-02-29 12:21:09 +01:00
Gunar Schorcht
ef248b392d
cpu/esp_comomon: rename cpu_conf.h to cpu_conf_common.h
...
To be able to define common configurations for all ESP CPUs, the CPU specific configuration cpu_conf.h has to include a common configuration. For that purpose cpu_conf.h in cpu/esp_common is renamed to cpu_conf_common.h and included in CPU specific configurations.
2020-02-29 12:07:12 +01:00
Benjamin Valentin
51fa5afef7
cpu/samd21: default 1kHz clock to same source as 32kHz clock
...
The split between GEN2_ULP32K and GEN3_ULP32K was introduced to fix
a failure in tests/periph_wdt when the external oscillator was used.
By not running the external oscillator on demand, the failure can no
longer be observed, so default GEN3_ULP32K to GEN2_ULP32K.
2020-02-27 16:01:44 +01:00
Benjamin Valentin
2d7bc9e467
cpu/samd21: don't run XOSC32K on demand
...
This significantly reduces start-up time.
The XOSC32K is only configured when needed anyway.
2020-02-27 15:59:10 +01:00
Benjamin Valentin
937c954d92
cpu/lpc2387: implement periph/i2c
...
The lpc23xx MCU has up to three I2C interfaces.
This adds a driver for it.
The peripheral works in interrupt mode, each change of the state machine
will generate an interrupt.
The response to the states are laid out in the data sheet.
This replaces the old driver that was removed in c560e28eb6
2020-02-26 23:41:38 +01:00
Peter Kietzmann
c78962a594
Merge pull request #13487 from JannesVolkens/stm32_eth_mac_filter_fix
...
cpu/stm32_common/periph: Fix multicast filtering
2020-02-26 17:16:08 +01:00
Jannes
1848b0a5c2
cpu/stm32_common/periph: Fix multicast filtering
2020-02-26 15:57:59 +01:00
benpicco
98405fe151
Merge pull request #12380 from benemorius/pr/efm32-uart-init-tx-idle
...
cpu/efm32/uart: uart_init(): begin with TX pin at idle level
2020-02-26 10:23:12 +01:00
benpicco
0edfd13df0
Merge pull request #13310 from benpicco/sam0-exti-common
...
cpu/sam0_common: use generic exti_config
2020-02-26 08:40:49 +01:00
benpicco
99f3f67e67
Merge pull request #13317 from benpicco/arm7-event_thread
...
tests/event_threads: remove arch_arm7 from blacklist
2020-02-26 08:39:00 +01:00
Benjamin Valentin
a0ac2384ac
cpu/sam0_common: samr30: add integer literal macros
...
All the more recent vendor files have them, so include them for samr30 too.
It is expected for this to become obsolete with the next vendor file update.
2020-02-25 21:52:24 +01:00
Gunar Schorcht
f688f84a15
Merge pull request #12928 from benpicco/newlib-multiheap
...
sys/newlib: enable multiple heaps in _sbrk_r()
2020-02-25 19:16:42 +01:00
Peter Kietzmann
00d4d365ce
Merge pull request #13383 from JannesVolkens/stm32_eth_mac_filter_fix
...
cpu/stm32_common/periph: Fix addr filtering
2020-02-25 18:03:19 +01:00
benpicco
2b4a8e694a
Merge pull request #13465 from gschorcht/cpu/atmega_common/fix_ndebug_problem
...
cpu/atmega_common: fix of compilation problem with NDEBUG
2020-02-25 11:56:58 +01:00
ed101a6b92
cpu: remove useless export of TARGET_ARCH
2020-02-25 09:42:11 +01:00
Gunar Schorcht
da244ffcaa
cpu/atmega_common: fix compile problem with NDEBUG
2020-02-25 09:41:24 +01:00
92f2b820cd
cpu: remove exports of UNDEF vars
2020-02-25 09:40:34 +01:00
Benjamin Valentin
442ddc1346
cpu/samd21: Switch EIC clock to slow speed on STANDBY mode
2020-02-24 12:02:27 +01:00
Juergen Fitschen
43ff72ad56
cpu/sam0*: Switch EIC clock to slow speed on STANDBY mode
2020-02-24 12:02:25 +01:00
Juergen Fitschen
1265efc785
cpu/sam0*: Wrap cortexm_sleep call
2020-02-24 11:48:13 +01:00
Juergen Fitschen
ac8a81b8f3
cpu/saml21: disable fast clock if it is not requested
2020-02-24 11:48:13 +01:00
58450c6c59
Merge pull request #13342 from wosym/pr/socketcanfix
...
cpu/native/can/candev_linux: add check for real can
2020-02-24 09:39:12 +01:00
Gunar Schorcht
817446ae54
cpu/esp32/esp_wifi: enable crypto functions for WPA2 Enterprise
2020-02-23 10:09:48 +01:00
Gunar Schorcht
3d1a895c5b
cpu/esp32/esp_wifi: wpa_supplicant files for WPA2 Enterprise mode
...
Add all files of wpa_supplicant from ESP32 SDK that are required for WPA2 Enterprise mode.
2020-02-23 10:09:48 +01:00
Gunar Schorcht
202758f400
cpu/esp32/esp_wifi: changes for wpa_supplicant in WPA2 Enterprise mode
...
`nvs_flash` functions have to be set to 0 if module `esp_idf_nvs_flash` is not enabled. Otherwise wpa_supplicant will crash in WPA2 Enterprise mode.
2020-02-23 10:09:48 +01:00
Benjamin Valentin
aac2855c7c
esp-wifi: allow connecting to open networks
...
Allow connecting to unecnrypted WiFis if `ESP_WIFI_PASS` is not set.
2020-02-22 13:45:15 +01:00
benpicco
ce947b4824
Merge pull request #12955 from gschorcht/cpu/esp/deduplicate_and_cleanup
...
cpu/esp*: code deduplication and cleanup
2020-02-22 13:03:18 +01:00
Gunar Schorcht
5b4389cf46
cpu/esp32: update of ld script for littlefs*
...
During the write access to the SPI flash, the IROM cache is not available and only code from the IRAM can be executed. Therefore, the code of file system implementations which access the SPI flash must reside in IRAM.
2020-02-22 01:35:07 +01:00
Dylan Laduranty
e74484c31f
Merge pull request #13411 from benpicco/samd5x-OSCCTRL.ONDEMAND
...
cpu/samd5x: use ONDEMAND bit to run clocks on demand
2020-02-21 23:37:07 +01:00
Dylan Laduranty
e11d3485ef
Merge pull request #13435 from benpicco/cpu/sam0/gpio-gclk-cleanup
...
cpu/sam0_common/gpio: use explicit GCLK names
2020-02-21 20:26:06 +01:00
benpicco
c32be01b7a
Merge pull request #13053 from basilfx/feature/efm32_adc_status
...
cpu/efm32: fix incorrect ADC status register
2020-02-21 18:59:53 +01:00
benpicco
8d77ec55ae
Merge pull request #13409 from aabadie/pr/cpu/nrf_gpio_t
...
cpu/nrf5x: provide gpio_t type definition
2020-02-21 18:55:46 +01:00
Benjamin Valentin
b77afadb49
cpu/sam0_common/gpio: use explicit GCLK names
...
For consistency, use named GCLKs.
- `SAM0_GCLK_32KHZ` will always be 2 for samd21
- `SAM0_GCLK_MAIN` will always be 0
So no change in functionality, just makes the code easier to understand.
2020-02-21 14:25:43 +01:00
Jannes
4bb0d8bd6c
cpu/stm32_common/periph: Fix addr filtering
...
- Set MACFFR to unicast filtering
- Change byte-order of the MAC
2020-02-21 11:41:39 +01:00
Gunar Schorcht
3230326652
cpu/esp32: fix esp_spi_ram dependency and flash mode setting
2020-02-21 10:14:03 +01:00
Wouter Symons
d477b5bc24
cpu/native/can/candev_linux: add check for real can when setting bittimings in init
2020-02-21 09:36:19 +01:00
Gunar Schorcht
e869fbd30f
cpu/esp32: remove periph_rtc from used modules
...
`periph_rtc` is no longer used by default.
2020-02-21 09:13:23 +01:00
Gunar Schorcht
350a0bbbb3
cpu/esp32: remove extra isync from periph/timer
2020-02-21 09:09:34 +01:00
Gunar Schorcht
ccae24c8b6
cpu/esp_common: enable esp_wifi as default for lwip
2020-02-21 09:09:34 +01:00
Gunar Schorcht
71682bc7de
cpu/esp32: remove unused periph_cpu.c
2020-02-21 09:09:34 +01:00
Gunar Schorcht
32c7bd8867
cpu/esp8266: remove unused function definitions
2020-02-21 09:09:34 +01:00
Gunar Schorcht
b6e9ecb9a7
cpu/esp32: remove esp_wifi
2020-02-21 09:09:34 +01:00
Gunar Schorcht
98ca108be5
cpu/esp8266: move esp_wifi to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
9723e3e3cf
cpu/esp*: move freertos/task to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
61339001e7
cpu/esp*: move common freertos code to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
922429bc3b
cpu/esp_common: add module esp_freertos_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
18659bdf26
cpu/esp*: move FreeRTOS headers to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
05faec7cf8
cpu/esp*: move periph/i2c_sw to esp/common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
0292f8b6a3
cpu/esp*: move periph/hwrng to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
d90164b19a
cpu/esp*: move perioph/spi to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
66ee155562
cpu/esp*: move periph/flash to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
b0517c6733
cpu/esp*: move periph/uart to cpu/esp_common
...
tmp
2020-02-21 09:09:34 +01:00
Gunar Schorcht
0ef723c6f7
cpu/esp_common: add module esp_periph_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
39ee806d3c
cpu/esp*: move some vendor/esp code to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
75d23e8458
cpu/esp*: common exception handling
2020-02-21 09:09:34 +01:00
Gunar Schorcht
90dc2ce846
cpu/esp*: common parts of syscalls in cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
4c466e54ec
cpu/esp*: common irq_arch in cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
43b89a61eb
cpu/esp*: move common parts of gpio_arch to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
45c71f1a31
esp/esp*: move common code to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
7d701f6fa8
cpu/esp*: move common headers to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
53a3756e0c
cpu/esp*: common Makfile* added
2020-02-21 09:09:34 +01:00
Gunar Schorcht
b132698cd5
cpu/esp*: move parition table tool to dist/tools/esptool
...
The same tool 'gen_esp32part.py' is used for the generation of partition tables on ESP8266 as well as n ESP32. The tool is therefore added to 'dist/tools/esptool'
2020-02-21 09:09:08 +01:00
Benjamin Valentin
cfd0ef415e
cpu/sam0_common: hook up low power RAM as extra heap
...
This enables unused low-lower RAM on saml21/samd5x to be used for
heap memory.
2020-02-20 17:11:25 +01:00
Benjamin Valentin
24ed1bbb70
cpu/lpc2387: hook up extra memory sections as heap
...
This enables the USB, Ethernet and Backup memory regions to be used
as heap memory.
2020-02-20 17:11:25 +01:00
Benjamin Valentin
fd9a247200
cpu/sam0_common: use generic exti_config
...
Creating an `exti_config` array for a new MCU manually is tedious and error prone.
Luckiely all information is already availiable in the vendor files.
Credit for this discovery & method goes to @Sizurka
The file was generated with
```C
int main(void) {
puts("static const int8_t exti_config[PORT_GROUPS][32] = {");
for (unsigned port = 1; port < 5; ++port) {
printf("#if PORT_GROUPS >= %d\n{\n", port);
for (unsigned pin = 0; pin < 32; ++pin) {
printf("#ifdef PIN_P%c%02uA_EIC_EXTINT_NUM\n", '@' + port, pin);
printf(" PIN_P%c%02uA_EIC_EXTINT_NUM,\n", '@' + port, pin);
printf("#else\n -1,\n#endif\n");
}
printf("},\n#endif\n\n");
}
puts("};");
return 0;
}
```
No changes in generated code are expected, but this makes adding new members
of the sam0 CPU families much easier.
2020-02-20 11:23:51 +01:00
9cebd757a2
cpu/nrf5x: update GPIO_UNDEF value
...
The gpio_t value is uint8_t so use UINT8_MAX for GPIO_UNDEF
2020-02-19 19:16:58 +01:00
f568162f9b
cpu/nrf5x: provide specific gpio_t definition
2020-02-19 19:16:58 +01:00
Benjamin Valentin
b7b52c4c57
cpu/samd5x: use ONDEMAND bit to run clocks on demand
...
Set the ONDEMAND bit so clocks are only run if they have a user configured.
This saves 390 µA on same54-xpro.
examples/default:
before: 3.88 mA
after : 3.49 mA
examples/gnrc_networking: (with REB215-XPRO EXT3)
before: 13.29 mA
after : 12.9 mA
2020-02-19 16:56:35 +01:00
Benjamin Valentin
93d536f761
cpu/sam0_common: samr30 add PIN_(.*)_EIC_EXTINT_NUM to vendor header
...
samr30 is the only MCU of this family where the vendor files do not
define the PIN_($pin)_EIC_EXTINT_NUM macro yet.
This macro is needed to create a generic EXTI configuration for all
sam0 MCUs.
The defines were generated with
sed -Ei '/define PIN_(.*)_EIC_EXTINT([0-9]*)/
{h; x;
s/define PIN_(.*)A_EIC_EXTINT([0-9]*)(.*)/
define PIN_\1A_EIC_EXTINT_NUM _L_\(\2\)
\/**< \brief EIC signal: PIN_\1 External Interrupt Line *\/
/g; G}' samr30g18a.h samr30e18a.h
2020-02-18 18:28:10 +01:00
950a206bad
cpu/cortex-m: MPU: turn into feature "cortexm_mpu"
2020-02-18 16:41:36 +01:00
d7c0102115
cpu/cortexm: move CPU_ARCH/FAM to Makefile.features
2020-02-17 16:02:48 +01:00
1a75f26133
cpu/*: update to PM_BLOCKER_INITIAL as single value
2020-02-14 12:06:05 +01:00
Bas Stottelaar
3141e91380
Merge pull request #13174 from fjmolinas/pr_efm32_cleanup
...
cpu/efm32: cleanup
2020-02-12 22:42:10 +01:00
Dylan Laduranty
cc17d3c2ba
Merge pull request #13350 from benpicco/saml21-asf
...
cpu/sam0_common: update saml21 vendor files to version 1.2.125
2020-02-12 14:27:39 +01:00
Francisco Molina
9a7ddde05a
cpu/efm32/families: remove cpus.txt
2020-02-12 12:56:00 +01:00
Francisco Molina
ae1c54b045
cpu/efm32/efm32-info: use efm32-info instead of cpus.txt
2020-02-12 12:55:59 +01:00
Bas Stottelaar
8cf186c913
cpu/efm32/families: add efm32-info.mk
2020-02-12 12:55:59 +01:00
Francisco Molina
a0462488e8
cpu/efm32: add families/%/Makefile.include
...
Move INCLUDES and VECTORS_O to Makefile.include duplicate EFM32_HEADER
while cpu.txt is not migrated.
2020-02-12 12:55:58 +01:00
Francisco Molina
5715f13323
cpu/efm32/Makefile: DIRS based on USEMODULE
2020-02-12 12:55:57 +01:00
Benjamin Valentin
1333a5698c
cpu/sam0_common: update saml21 vendor files to version 1.2.125
...
This release adds EXTINT defines compatible with later versions of
the sam0 series of MCUs.
2020-02-12 11:46:36 +01:00
Benjamin Valentin
6f2cdb95da
cpu/saml21: pm: don't check individual part numbers
...
Just check if the define is availiable instead.
2020-02-12 11:44:20 +01:00
Francisco Molina
67ec9a298d
cpu/efm32: remove exports
2020-02-11 22:46:53 +01:00
Francisco Molina
7cc65c9b62
cpu/efm32/Makefile.include: remove CPU_FAM and CPU_ARCH
2020-02-11 22:46:52 +01:00
Francisco Molina
085665ff23
cpu/efm32/Makefile.features: fix typo
2020-02-11 22:46:51 +01:00
Francisco Molina
95f8de8030
cpu/efm32: move dependency resolution to makefile.dep
2020-02-11 22:46:48 +01:00
Dylan Laduranty
03b6658721
Merge pull request #13313 from benpicco/samd21-asf
...
cpu/sam0_common: update samd21 vendor files to version 1.3.395
2020-02-11 21:50:56 +01:00
3ac25c3ac9
Merge pull request #12556 from bergzand/wip/stusbdev
...
stm32_common: Add USB OTG FS/HS usbdev peripheral driver
2020-02-11 20:39:46 +01:00
benpicco
de89f3a459
Merge pull request #13319 from maribu/avr-reboot
...
cpu/atmega_common: Fix reboot issues
2020-02-11 17:18:12 +01:00
bd844435af
stm32: Add dw USB OTG FS usbdev driver
2020-02-11 15:50:18 +01:00
benpicco
628aa1197e
Merge pull request #13331 from btcven/2020_02_10-sram-size
...
cc26x2_cc13x2: use correct RAM value
2020-02-11 15:43:38 +01:00
Benjamin Valentin
ceee5b1809
cpu/lpc2387: don't define interrupt stack size in linkerscript
...
Define the interrupt stacks in C code like it is done for Cortex-M.
2020-02-11 15:39:34 +01:00
c30df3cac9
Merge pull request #7572 from kaspar030/zptr
...
core: add pointer compression header
2020-02-11 15:25:24 +01:00
benpicco
33291ad675
Merge pull request #13306 from fjmolinas/pr_samr21_use_xosc
...
boards/sam[r/d]21-xpro: prefer XOSC32K for RTC/RTT (GCLK2)
2020-02-11 15:18:36 +01:00
bbf274aecc
cpu/kinetis: immediately convert shell expansion of RAM_BASE_ADDR
2020-02-11 13:59:59 +01:00
496ae49692
Merge pull request #13091 from bergzand/pr/mpu/enable_once
...
cortexm_common/mpu: Only enable during low low level init
2020-02-11 11:11:13 +01:00
Jean Pierre Dudey
de50518146
cc26x2_cc13x2: use correct RAM value
...
Previous value was 20 K, now it's 80 K. The older family of these MCUs
(cc13x0, cc26x0) had that size, currently for cc13x2 and cc26x2 it's
80 K.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-02-10 18:38:15 -05:00
Benjamin Valentin
9f4920329b
cpu/lpc2387: clear BODR if POR is set
...
From the data sheet:
> **Note:** Only in case when a reset occurs and the POR = 0, the BODR bit
indicates if the V DD(DCDC)(3V3) voltage was below 2.6 V or not.
So the value of BODR is undefined if POR is set.
Clear it to bring it to a defined state.
2020-02-10 23:04:47 +01:00
Benjamin Valentin
76e19602a2
cpu/lpc2387: rename cpu_woke_from_backup()
...
The function would always return `true` after early boot, so it
is not very useful for applications.
Now it will only (but always) return true when we woke from Deep Sleep
*after* early boot. This makes it behave the same ways as the function
of the same name on SAME54.
Rename the existing function to cpu_backup_ram_is_initialized() to better
match it's semantics.
2020-02-10 23:04:47 +01:00
Benjamin Valentin
64107dd3a9
cpu/lpc2387: rtc: only initialize RTC after cold boot or external reset
...
On the MCB2388 plugging the power will result in both the POR and EXTR
bit being set.
Not sure if this is a property of the board, but it means RTC is also
reset after programming, so it behaves just like Backup RAM.
If we woke from Deep Sleep the POR bit will be cleared, so the RTC is not
reset.
2020-02-10 23:04:47 +01:00
Benjamin Valentin
80dde82c86
cpu/lpc2387: clear POR bit if we woke from Deep Sleep
...
RSIR is 0x1 (POR) if we woke from Deep Sleep.
This makes it hard to distinguish between real power-on and waking from
Deep Sleep, which is why the Backup RAM signature was introduced.
However, calling cpu_woke_from_backup() a second time will always return
true, as the signature will have been set up by early boot then.
Thus, clear the POR bit if the signature was already in place.
The result is:
RSIR == 0 -> woke from sleep
RSIR == 1 -> cold boot
2020-02-10 23:04:46 +01:00
Benjamin Valentin
6dbbc8f33a
cpu/lpc2387: rtc: remove _rtc_set()
...
Calling localtime() adds considerable overhead.
There are easier ways to set the date to 1970.
For tests/periph_rtc this results in this ROM change:
master:
text data bss dec hex
31328 240 98064 129632 1fa60
with this patch:
text data bss dec hex
20036 140 98168 118344 1ce48
2020-02-10 23:04:46 +01:00
Francisco
e2dc125fb3
Merge pull request #13308 from maribu/atmega_state_cleanup
...
cpu/atmega_common: Cleanup state flags
2020-02-10 17:37:24 +01:00
Marian Buschsieweke
60ee8cd513
cpu/atmega_common: Fix pm_reboot with LTO
...
The reboot process for ATmegas is to enable the watchdog timer and loop until
the wdt reboots this MCU. However, this reboot will keep the wdt configuration,
so that the wdt needs to be disabled during boot. This is done in get_mcusr,
but without the attribute "used" it will be optimized out in LTO builds. This
commits adds the attribute "used" to get_mcusr.
Also simplified the backward compatibility with older ATmegas (currently not
supported by RIOT) on outdated versions of avrlibc.
2020-02-10 17:08:09 +01:00
benpicco
b44cf48a87
Merge pull request #13246 from benpicco/lpc23xx-spi
...
cpu/lpc2387: make SPI configurable
2020-02-10 17:01:41 +01:00
Benjamin Valentin
13e578bc84
cpu/lpc2387: implement periph/adc
...
lpc23xx has a 10 bit ADC with up to 8 channels.
The ADC should be clocked at 4.5 MHz or less, so it uses
(72MHz CCLK / 8) / 2.
2020-02-10 13:25:26 +01:00
Benjamin Valentin
e03780c8ca
cpu/sam0_common: update samd21 vendor files to version 1.3.395
...
This release adds EXTINT defines compatible with later versions of
the sam0 series of MCUs.
2020-02-08 03:28:14 +01:00
Dylan Laduranty
b5bb846d3a
Merge pull request #13312 from benpicco/cpu/sam0-vendor_cleanup
...
cpu/sam0_common: use vendor provided MCU header dispatch
2020-02-07 20:33:45 +01:00
Francisco Molina
238d56e474
cpu/samd21/cpu: reset GCLK before configuring them
2020-02-07 16:11:42 +01:00
Francisco Molina
2e542a2488
cpu/samd21: cleanup XOSC32K initialization
2020-02-07 15:54:56 +01:00
Francisco Molina
9ab22b6926
cpu/samd21: add GEN3_ULP32K selector
2020-02-07 15:53:32 +01:00
benpicco
dfcf155aa6
Merge pull request #13311 from benpicco/cpu/samr21-asf
...
cpu/sam0_common: update samr21 vendor files to version 1.1.72
2020-02-07 13:06:11 +01:00
Benjamin Valentin
b0078b1a98
cpu/sam0_common: update samr21 vendor files to version 1.1.72
...
This release adds EXTINT defines compatible with later versions of
the sam0 series of MCUs.
2020-02-07 12:14:45 +01:00
benpicco
66c7c63c94
Merge pull request #13061 from gschorcht/cpu/esp32/rtc_xtal_32k
...
cpu/esp32: allow external 32 kHz crystal for the RTC hardware timer
2020-02-07 10:24:22 +01:00
Gunar Schorcht
4c0cfdcc8e
cpu/esp32: allow external 32 kHz crystal for RTC
2020-02-07 00:46:16 +01:00
Benjamin Valentin
bd1953dd80
cpu/sam0_common: use vendor files to dispatch MCU headers
...
Instead of manually re-creating the files from ASF, just use
the vendor provided dispatch headers and ease the maintainance
burden.
2020-02-06 19:52:05 +01:00
Benjamin Valentin
fd793b8917
cpu/samd51: add common header file from ASF
...
Somehow I forgot to commit this.
2020-02-06 19:49:50 +01:00
benpicco
24fb7a9aae
Merge pull request #12933 from maribu/atmega_pcint_cleanup
...
cpu/atmega_common/periph/gpio: Clean up PCINT support
2020-02-06 18:29:15 +01:00
Marian Buschsieweke
1879f58512
cpu/atmega_common: Cleanup state flags
...
- Use one byte of RAM to track both IRQ and UART TX state
- Fix incorrect use of volatile
2020-02-06 15:41:41 +01:00
0cb13186cc
cpu/atmega32u4: remove obsolete -DCOREIF_NG=1
2020-02-05 15:08:13 +01:00
benpicco
9b33e1ca92
Merge pull request #13271 from kfessel/patch-shed
...
core/sched: sched.h: remove not needed bitarithm include to avoid conflict
2020-02-05 14:44:08 +01:00
Karl Fessel
4445faaa3a
core/shed: remove not needed bitarithm include add missing
...
bitarithm.h is not needed for the interface of shed but may cause conflicts
due to different definitions of SETBIT and CLRBIT
common implementations are: (value, offset) xor (value, mask) bitarithm
implements the later
frac.c and nrf52/usbdev.c use bitarithm.h but where missing the include
sam0/rtt.c defined a bit using mask from bitarithm,
changed that to the soulution used in sam0/rtc.c
2020-02-05 12:45:29 +01:00
Benjamin Valentin
38b6ee56f3
cpu/sam0: use defines for GCLK IDs
...
Give the clocks explicit names to better identify their meaning.
2020-02-04 21:16:54 +01:00
Benjamin Valentin
df33ffd0d3
cpu/samd21: only configure one 32kHz GCLK
...
Use the same 32 kHz GCLK to feed the PLL and the RTT, etc.
2020-02-04 21:16:54 +01:00
Benjamin Valentin
1496149bba
cpu/sam0: don't hard-code peripheral clocks
...
Instead of hard-coding the peripheral clocks to CLOCK_CORECLOCK
introduce helper functions to return the frequency of the individual
GCLKs and use those for baud-rate calculations.
This requires the GCLK to be part of the peripheral's config struct.
While this is already the case for most peripherals, this also adds
it for those where it wasn't used before.
As it defaults to 0 (CLOCK_CORECLOCK) no change is to be expected.
2020-02-04 21:06:21 +01:00
Benjamin Valentin
a51d167a43
cpu/sam0: use GCLK ID instead of bitmask
...
To simplify board definitions and for unification between samd2x and
newer models, don't use the GCLK bitmask in board definitions.
Instead use the GCLK index and generate the bitmask when needed.
2020-02-04 21:06:21 +01:00
benpicco
4fb2770fe8
Merge pull request #13279 from benpicco/cc430-rtc-cleanup
...
cpu/cc430: rtc: remove dead code
2020-02-04 16:56:44 +01:00
Benjamin Valentin
5d96bcf0a0
cpu/cc13x2: fix leftover from cc26x2_cc13x2 rename
...
A files was forgotten to move and one doxygen group was not renamed.
2020-02-04 14:37:43 +01:00
Benjamin Valentin
1155172106
cpu/cc430: rtc: remove dead code
...
The commented-out block does provide no value and is confusing
when using `grep`.
2020-02-04 13:20:56 +01:00
benpicco
cc90a896c7
Merge pull request #13166 from jeandudey/2020_01_19-cc26x2-cc13x2
...
cpu/cc13x2: rename cpu to cc26x2_cc13x2.
2020-02-04 11:45:59 +01:00
Gunar Schorcht
668e05ed4f
cpu/atmega: fix PWM compilation error with NDEBUG
...
When NDEBUG macro is defined during compilation, the assert macro produces empty code. The dev parameter is then unused.
2020-02-03 00:14:32 +01:00
benpicco
5d1bf26f0c
Merge pull request #13076 from gschorcht/boards/esp32/ttgo_t_beam_gps
...
boards/esp32: enable GPS module on ESP32 TTGO T-Beam V1.0
2020-02-01 23:25:55 +01:00
Gunar Schorcht
3208207ec5
cpu/esp32: change order of board and periph init
...
To be able to access periphals to initialize board specific hardware, the board_init function has to be called after periph_init.
2020-02-01 16:12:05 +01:00
Benjamin Valentin
3f01f4b183
cpu/lpc2387: make periph/spi configurable
2020-01-31 12:01:09 +01:00
benpicco
d48471a120
Merge pull request #12967 from gschorcht/pkg/lwip/fix_esp_wifi
...
cpu/esp*: remove dependencies on GNRC for ESP network device drivers
2020-01-31 10:38:08 +01:00
benpicco
cdb427b760
Merge pull request #12475 from francois-berder/wifire-gpio-refactor
...
cpu: mips_pic32_common: Refactor GPIO peripheral
2020-01-31 09:46:57 +01:00
Gunar Schorcht
208174a006
cpu/esp_common/esp_now: consistent netif thread naming
2020-01-31 09:32:23 +01:00
Gunar Schorcht
e4be9b4b36
cpu/esp8266/esp_wifi: move gnrc specific code to separate file
2020-01-31 09:32:23 +01:00
Gunar Schorcht
058c710cba
cpu/esp8266/esp_wifi: remove gnrc specific code
2020-01-31 09:32:23 +01:00
Gunar Schorcht
0a5ab84363
cpu/esp32/esp_wifi: move gnrc specific code to separate file
2020-01-31 09:32:23 +01:00
Gunar Schorcht
845411e4d3
cpu/esp32/esp_wifi: remove gnrc specific code
2020-01-31 09:32:23 +01:00
Gunar Schorcht
fc0845b09c
cpu/esp32/esp_eth: move gnrc specific code to separate file
2020-01-31 09:32:23 +01:00
Gunar Schorcht
ace3107975
cpu/esp32/esp_eth: remove gnrc specific code
2020-01-31 09:32:23 +01:00
Gunar Schorcht
f14c4c8c2f
cpu/esp32: remove static dependency from gnrc
2020-01-31 09:32:23 +01:00
Benjamin Valentin
a0d188fd6b
cpu/lpc2387: convert periph/spi to struct based operation
2020-01-31 08:55:29 +01:00
benpicco
57db6b7313
Merge pull request #13059 from gschorcht/cpu/esp32/fix_xtal_freq
...
cpu/esp32: activate automatic XTAL detection
2020-01-31 08:36:28 +01:00
Martine Lenders
8d749dc024
Merge pull request #13148 from chrysn-pull-requests/usb-default-vidpid
...
USB: Use default VID/PID for RIOT-included peripherals
2020-01-30 17:37:52 +01:00
Martine Lenders
3d4977cca1
Merge pull request #13232 from kfessel/master
...
cpu/stm32/eth: Use luid_get_eui48 to generate local, non group EUI
2020-01-30 17:37:25 +01:00
chrysn
e65f3f372b
USB VID/PID: Set whitelist define for internals that use usb.h
...
This list is probably incomplete as it was created experimentally.
2020-01-30 15:04:10 +01:00
05b409c85d
Merge pull request #13239 from gschorcht/periph/i2c/fix_ndebug
...
cpu: fix I2C compilation problems with NDEBUG for several CPUs
2020-01-30 13:03:16 +01:00
Gunar Schorcht
4911868746
cpu/cc26x0: fix I2C compilation error with NDEBUG
...
When NDEBUG macro is defined during compilation, the assert macro produces empty code. The dev parameter is then unused.
2020-01-30 11:57:56 +01:00
Gunar Schorcht
42db6861e1
cpu/cc2538: fix I2C compilation error with NDEBUG
...
When NDEBUG macro is defined during compilation, the assert macro produces empty code. The dev parameter is then unused.
2020-01-30 11:57:36 +01:00
Gunar Schorcht
2051167176
cpu/atmega: fix I2C compilation error with NDEBUG
...
When NDEBUG macro is defined during compilation, the assert macro produces empty code. The dev parameter is then unused.
2020-01-30 11:46:31 +01:00
596d02387f
Merge pull request #13229 from nmeum/pr/hifive_link_fix
...
fe310: fix power management configuration
2020-01-30 11:23:37 +01:00
Sören Tempel
bd2f5fe110
fe310: fix power management configuration
2020-01-30 10:43:01 +01:00
Benjamin Valentin
c24fb242ef
cpu/lpc2387: rtc: set rtc callback arg
...
`_cb_arg` was never set, it was simply ignored in `rtc_set_alarm()`.
The fix is trivial: just set `_cb_arg` to the assigned argument.
2020-01-29 19:49:18 +01:00
Karl Fessel
b4b9ffe362
cpu/stm32/eth: luid_get_eui48 match type information
...
changed type of hwaddr to eui48
moved hwaddr declaration where it is needed
2020-01-29 16:58:36 +01:00
Karl Fessel
7483826356
cpu/stm32/eth: Use luid_get_eui48 to generate local, non group EUI
...
luid_get may generate non compliant EUI (MAC-address) luid_get_eui48
fixes that.
2020-01-29 15:57:54 +01:00
Gunar Schorcht
ddd7cb0a7d
Merge pull request #12898 from aabadie/pr/cpu/dependencies_cleanup
...
cpu: move cpu level dependencies in dedicated Makefile.dep files
2020-01-28 17:57:02 +01:00
Sebastian Meiling
91cff05a15
doc: use @name for doxygen groups
2020-01-28 15:46:09 +01:00
Sebastian Meiling
2eae1952f7
doc: fix doxygen groups for atmega cpus
2020-01-28 15:44:29 +01:00
e969b2fcd5
cpu/atmega_common: move common dependencies
2020-01-28 13:20:53 +01:00
9b7f06034e
cpu/efm32: move some dependencies to Makefile.dep
2020-01-28 13:20:52 +01:00
90e10d3009
cpu/atmega_common: move avr-libc-extra dependency to Makefile.dep
2020-01-28 13:20:52 +01:00
3869397ed3
cpu/fe310: move dependencies to Makefile.dep
2020-01-28 13:20:52 +01:00
32525b7728
cpu/lpc1768: move dependencies to Makefile.dep
2020-01-28 13:20:52 +01:00
98780ea023
cpu/armv7: move dependencies to Makefile.dep
2020-01-28 13:20:52 +01:00
1ae5a08ec7
cpu/cc26xx_cc13xx: move dependencies to Makefile.dep
2020-01-28 13:20:52 +01:00
6d46621610
cpu/msp430: move dependencies to Makefile.dep
2020-01-28 13:20:51 +01:00
e3b3ea0403
cpu/mips*: move dependencies to Makefile.dep
...
This commit also removes not needed use of export
2020-01-28 13:20:51 +01:00
66d903c209
cpu/nrf5x: move dependencies to Makefile.dep
2020-01-28 13:18:39 +01:00
925445d0ff
cpu/sam0: factorize dependencies in Makefile.dep
2020-01-28 13:18:39 +01:00
a32c1074ad
cpu/stm32: move all dependencies to Makefile.dep
2020-01-28 13:18:39 +01:00
Sebastian Meiling
32f1178ff0
native: fix c11_atomic sizes on FreeBSD
...
There is size difference for atomic_int_fast8 and atomiic_uint_fast8
on FreeBSD, i.e., they match uint32_t with size of 4 bytes instead of
uint8_t with size of 8. Hence, tests/c11_atomics_cpp_compat buildtest
fails on FreeBSD.
2020-01-23 13:23:02 +01:00
309995513e
Merge pull request #13181 from fjmolinas/pr_efm32_series1_rtc_normalize
...
cpu/efm32/periph/rtc_series1: normalize time
2020-01-22 19:07:13 +01:00
65f0391b1e
Merge pull request #13184 from nmeum/pr/ssp_feature
...
Add CPU feature for stack smash protections
2020-01-22 16:47:08 +01:00
Sören Tempel
5ef5ab7e4b
Add CPU feature for stack smash protections
2020-01-22 15:59:02 +01:00
Francisco Molina
e700a78cd3
cpu/efm32/periph/rtc_series1: normalize time
2020-01-22 10:03:49 +01:00
Jose Alamos
709c1aac30
Kconfig: Expose NRF802154 configurations
2020-01-21 11:29:00 +01:00
Jose Alamos
f652564eb1
nrf802154: implement CCA
2020-01-21 11:06:20 +01:00
Jose Alamos
09c79f07e7
nrf802154: use correct ED_RSSIOFFS sign
2020-01-21 11:06:20 +01:00
Jean Pierre Dudey
a73f3809cc
cpu/cc13x2: rename cc13x2
cpu to cc26x2_cc13x2
...
The CC26x2 and CC13x2 share the same register definitions, and both are
treated equally in the TI's technical reference manual. [1]
- To avoid confusions in the future I renamed it to `cc26x2_cc13x2`.
- Documentation was updated.
- The `cc1312-launchpad` board that uses the `cc13x2` MCU was updated.
- The `cc1352-launchpad` board that uses the `cc13x2` MCU was updated.
[1]: https://www.ti.com/lit/ug/swcu185d/swcu185d.pdf
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-01-20 09:31:48 -05:00
benpicco
24559ed3ea
Merge pull request #13142 from gschorcht/cpu/esp32/fix_compilation_esp_gdb
...
cpu/esp32: fix compilation when esp_gdb is enabled
2020-01-17 13:07:48 +01:00
Gunar Schorcht
20835aecd9
cpu/esp32: fix compilation when esp_gdb is enabled
2020-01-16 14:27:18 +01:00
Gunar Schorcht
416e8ce8e6
cpu/esp32: fix C linkage compilatio error
...
With the new toolchain version required to fix issue #13133 , the compilation of `examples/posix_socket` fails due to a C linkage error in `atomic_base.h`. The reason is that including `drivers/include/mtd.h` in `boards/esp32/board_common.h` inside the `extern C` block finally leads to including `atomic_base.h` inside the `extern C` block which in turn to the C linkage error for the template definitions in this file.
2020-01-16 13:03:49 +01:00
benpicco
3672502f6f
Merge pull request #12998 from gschorcht/cpu/esp/common_sdk_log_output
...
cpu/esp: cleanup of ESP SDK log outputs
2020-01-15 15:08:02 +01:00
benpicco
da703b9a5b
Merge pull request #11116 from niziak/stm32f030cc
...
cpu/stm32f0: Add support for stm32f030cc CPU
2020-01-15 14:49:17 +01:00
76b9cfb677
Merge pull request #12973 from fjmolinas/pr_atmega_tx_isr
...
cpu/atmega_common/periph/uart: use TX_ISR to check TX end
2020-01-15 11:51:22 +01:00
Francisco Molina
70c6df9330
cpu/atmega_common/periph/uart: use TX_ISR to check TX end
...
For atmega boards a TX has not actually completed until UDRn is empty
as well as the Transmit Shift Register.
To avoid resetting an UART before a TX has completed we use the TXCn
flash and ISR to set a variables that indicates TX is ongoing. This
allows not reseting the UART while there are ongoing TX pending.
This fixes an issue where part of the last byte is not shifted out
of the TX shift register causing rubish on the first TX following an
uart_init.
2020-01-15 10:02:40 +01:00
Bas Stottelaar
0e3480e3f0
cpu/efm32: fix incorrect ADC status register
...
The ADC_STATUS_SINGLEACT indicates that an operation is active, while
the ADC_STATUS_SINGLEDV indicates that data is valid.
This fixes ADC returning values of unfinished reads.
2020-01-14 22:44:54 +01:00
Martine Lenders
7430ea98ed
Merge pull request #13096 from nmeum/pr/fix_asan_target
...
boards/native: fix all-asan Makefile target
2020-01-14 13:43:22 +01:00
Francisco
f76f7c73ce
Merge pull request #12957 from aabadie/pr/cpu/fe310_spi
...
cpu/fe310: add spi peripheral driver
2020-01-14 10:54:47 +01:00
Francisco
a6cf5cf3f9
Merge pull request #12946 from aabadie/pr/cpu/fe310_i2c
...
cpu/fe310: add i2c peripheral driver
2020-01-14 10:20:11 +01:00
Francisco
1977423e9b
Merge pull request #13048 from maribu/adc-int32_t
...
periph/adc: Change return type of `adc_sample()` to `int32_t`
2020-01-13 12:56:09 +01:00
MichelRottleuthner
53cb3b087c
Merge pull request #9530 from Hyungsin/forupstream_xtimer
...
sys: xtimer concurrency/robustness improvement
2020-01-13 08:24:15 +01:00
Sören Tempel
e2b8231796
boards/native: fix crash with all-asan
...
Without this change a RIOT application compiled with all-asan will
segfault as RIOT provides its own malloc by default. Add a define for
disabling custom malloc, calloc and realloc implementations and use it
when compiling with all-asan.
2020-01-12 16:17:48 +01:00
c1cd286ec5
mpu: remove harmful assertion
2020-01-11 13:37:20 +01:00
88bdf166ec
cortexm_common: Enable the mpu only in the low level init
2020-01-11 13:36:23 +01:00
benpicco
ab246a853d
Merge pull request #13004 from gschorcht/cpu/esp/lwip_default_esp_wifi
...
cpu/esp*: esp_wifi used as default netdev for lwip
2020-01-11 13:16:40 +01:00
Tristan Bruns
532cdc64ff
cpu/fe310: implement SPI
2020-01-11 13:06:39 +01:00
298d573280
cpu/fe310: provide i2c driver
2020-01-11 13:06:10 +01:00
Hyungsin
6eed5b9d43
remove XTIMER_OVERHEAD
2020-01-10 13:22:11 -08:00
Hyungsin
8661205c6d
cpu/esp32: reflecting xtimer's member change
2020-01-10 13:21:33 -08:00
a953b74bc7
cpu/fe310: restore flash initialization in cpu_init
2020-01-10 16:51:10 +01:00
3f29eb9efb
cpu/fe310: use CLOCK_CORECLOCK macro to get cpu freq
2020-01-10 16:41:33 +01:00
fc911bf6c5
cpu/fe310: rework clock initialization
2020-01-10 16:41:33 +01:00
97e1c7ba7e
cpu/fe310: reorganize files and includes
2020-01-10 16:41:33 +01:00
Marian Buschsieweke
fabbae8b05
cpu/stm32l1/periph: adc_sample() now returns int32_t
2020-01-10 14:13:16 +01:00
Marian Buschsieweke
b3c8339c2c
cpu/stm32l4/periph: adc_sample() now returns int32_t
2020-01-10 14:13:16 +01:00
Marian Buschsieweke
cff0d4033e
cpu/stm32l0/periph: adc_sample() now returns int32_t
2020-01-10 14:13:15 +01:00
Marian Buschsieweke
eaf2eeaf84
cpu/stm32f4/periph: adc_sample() now returns int32_t
2020-01-10 14:13:15 +01:00
Marian Buschsieweke
7dbd9e3e56
cpu/stm32f2/periph: adc_sample() now returns int32_t
2020-01-10 14:13:15 +01:00
Marian Buschsieweke
05d1ce6b58
cpu/stm32f1/periph: adc_sample() now returns int32_t
2020-01-10 14:13:15 +01:00
Marian Buschsieweke
09b45066ce
cpu/stm32f0/periph: adc_sample() now returns int32_t
2020-01-10 14:13:15 +01:00
Marian Buschsieweke
2247263a78
cpu/sam3/periph: adc_sample() now returns int32_t
2020-01-10 14:13:15 +01:00
Marian Buschsieweke
47cb59e6e5
cpu/sam0_common/periph: adc_sample() now returns int32_t
2020-01-10 14:13:15 +01:00
Marian Buschsieweke
186d2ccfa4
cpu/nrf52/periph: adc_sample() now returns int32_t
2020-01-10 14:13:15 +01:00
Marian Buschsieweke
a468af79a4
cpu/nrf51/periph: adc_sample() now returns int32_t
2020-01-10 14:13:14 +01:00
Marian Buschsieweke
c332501eb8
cpu/lm4f120/periph: adc_sample() now returns int32_t
2020-01-10 14:13:14 +01:00
Marian Buschsieweke
7387cd43d9
cpu/kinetis/periph: adc_sample() now returns int32_t
2020-01-10 14:13:14 +01:00
Marian Buschsieweke
55dc429d11
cpu/esp8266/periph: adc_sample() now returns int32_t
2020-01-10 14:13:14 +01:00
Marian Buschsieweke
746e4d2fba
cpu/esp32/periph: adc_sample() now returns int32_t
2020-01-10 14:13:14 +01:00
Marian Buschsieweke
80787d523e
cpu/efm32/periph: adc_sample() now returns int32_t
2020-01-10 14:13:14 +01:00
Marian Buschsieweke
c4a84f01c0
cpu/cc2538/periph: adc_sample() now returns int32_t
2020-01-10 14:13:14 +01:00
Marian Buschsieweke
3c7d95de02
cpu/atmega_common/periph: adc_sample() now returns int32_t
2020-01-10 14:13:13 +01:00
Gunar Schorcht
528512d9af
cpu/esp32: activate automatic XTAL detection
...
ESP32 can be clocked with either a 40 MHz or 26 MHz crystal. Since most boards use a 40 MHz crystal, the configuration was previously fixed to a 40 MHz crystal. This commit changes the crystal from 40 MHz to automatic detection, allowing boards with a 26 MHz crystal like the Sparkfun ESP32 Thing DEV to be used.
2020-01-09 15:34:18 +01:00
82d1d40042
cpu/cc2538: define radio irq prio at cpu level
2020-01-08 14:41:01 +01:00
ce0bb35587
Merge pull request #12993 from fjmolinas/pr_cc2538_rtt
...
cpu/cc2538: add periph_rtt
2020-01-08 09:55:45 +01:00
Francisco Molina
1801f4f085
cpu/cc2538: add periph_rtt
2020-01-08 09:16:49 +01:00
4eba1427d2
cpu/fe310: uart_init(): drain RX fifo before enabling RX IRQ
2020-01-07 13:16:02 +01:00
e2f88abe63
cpu/fe310: periph_uart: only call rx_cb if set
2020-01-07 13:14:08 +01:00
benpicco
0d4d621f99
Merge pull request #13013 from Hoernchen20/stm32f1_rtc_stop_mode
...
cpu/stm32f1: improve rtc irq
2020-01-04 21:45:48 +01:00
Hoernchen20
3b966cc260
cpu/stm32f1: improve rtc irq
2020-01-04 19:59:14 +01:00
Francisco
f6f4469542
Merge pull request #11889 from miri64/tapsetup/enh/sudo
...
tapsetup: require to be executed with sudo
2020-01-04 10:43:06 +01:00
Martine S. Lenders
bacef29086
native: adapt doc on tapsetup for new sudo requirement
2020-01-03 21:00:54 +01:00
e45dc52c7b
Merge pull request #11422 from fjmolinas/pr_kinetis_w_flashpage
...
cpu/kinetis: add flashpage for W & K series
2020-01-03 14:18:29 +01:00
francisco
7d11e40eac
cpu/kinetis: add flashpage for W & K series
2020-01-03 09:57:24 +01:00
9ae1cc9d74
cpu/stm32: remove use of export for LINKFLAGS
2020-01-02 09:50:35 +01:00
98b5487802
cpu/sam_common: remove use of export for LINKFLAGS
2020-01-02 09:50:14 +01:00
1e8528d6e8
cpu/mips: remove use of export for LINKFLAGS
2020-01-02 09:48:46 +01:00
410dfbe7c7
cpu/armv7: remove use of export for LINKFLAGS
2020-01-02 09:48:02 +01:00
Dylan Laduranty
29664c1995
Merge pull request #13001 from dylad/pr/sam0_uart_hw_fc
...
sam0/uart: add hardware flow control support
2019-12-26 20:12:39 +01:00
benpicco
676d0d399c
Merge pull request #11982 from gschorcht/cpu/esp32/fix_cleanup_rtc
...
cpu/esp32: fixes, improvements and cleanups of periph_rtc
2019-12-26 19:32:08 +01:00
Gunar Schorcht
6e31a0cb92
cpu/esp*: esp_wifi used as default netdev for lwip
2019-12-26 19:02:04 +01:00
Gunar Schorcht
25d04c4742
cpu/esp32: fixes and cleanups of RTC timer
...
- Unecessary definitions are removed.
- Since the 48-bit RTC hardware timer uses a RC oscillator as clock, it is pretty inaccurate and leads to a RTC time deviation of up to 3 seconds per minute. Therefore, a calibration during the boot time determines a correction factor for the 48-bit RTC hardware timer. Function _rtc_time_to_us uses now this correction factor and converts a raw 48-bit RTC time to a corrected time in microseconds. Thus, the 48-bit RTC timer becomes much more accurate, but it can't still reach the accuracy of the PLL driven 64-bit system timer. The Advantage of using RTC over 64-bit sydtem timer is that it also continues in deep sleep mode and after software reset.
- If the 64-bit system timer is used to emulate the RTC timer, it uses the RTC hardware timer to continue its operation after software .
2019-12-26 18:13:10 +01:00
Gunar Schorcht
21b2c8d334
cpu/esp32: introduce pseudomodule esp_rtc_timer
...
It is possible to use different timers as RTC timer for the periph_rtc module. Either the 48-bit RTC hardware timer is used directly or the PLL driven 64-bit system timer emulates a RTC timer. The latter one is much more accurate. Pseudomodule esp_rtc_timer controlls which timer is used. Only if esp_rtc_timer is enabled explicitly, the 48-bit RTC hardware timer is used. Otherwise the 64-bit sytstem timer is used to emulate the RTC timer.
2019-12-25 09:47:52 +01:00
Gunar Schorcht
9cf103e055
cpu/esp32: fix rtc_init and displaying system time
...
The explicit call of rtc_init during the CPU start was removed because rtc_init is called within the function periph_init. The display of the system time at startup had to be placed after the call to periph_init.
2019-12-25 09:47:52 +01:00
Gunar Schorcht
9b3095fd6b
cpu/esp32: system_get_time_ms cleanup
...
There is an existing function that returns the system time in us as a 64 bit value. Converting this 64 value in us to a 32 bit value in ms is more easier and uses the complete 32 bit range. Using only the low part of the 64 bit system time in us and dividing it by 1e3 cuts the 32 bit range.
2019-12-24 14:35:37 +01:00
dylad
bd06772980
sam0/uart: add support for hardware flow control
2019-12-20 21:19:44 +01:00