Lucas Saavedra Vaz
674b480198
arch/xtensa/esp32s2: Add initial support for touch pad polling
2023-01-12 22:23:42 +08:00
Lucas Saavedra Vaz
749d0dfe84
arch/xtensa/esp32s2: Add RTC GPIOs configuration functions
2023-01-12 22:23:42 +08:00
Lucas Saavedra Vaz
cdd0787b54
arch/xtensa/esp32: Fix typo and check PU/PD registers
2023-01-12 22:23:42 +08:00
Lucas Saavedra Vaz
3dad6b273e
arch/xtensa/esp32s2: Add missing SENS and RTCCNTL registers
2023-01-12 22:23:42 +08:00
Lucas Saavedra Vaz
2b7d8981e2
arch/xtensa/esp32s3: Add initial support for touch pad polling
2023-01-11 02:00:41 +08:00
Lucas Saavedra Vaz
24995f6918
arch/xtensa/esp32s3: Add RTC GPIOs configuration functions
2023-01-11 02:00:41 +08:00
Lucas Saavedra Vaz
c8dd4b068d
arch/xtensa/esp32s3: Add missing registers and definitions
2023-01-11 02:00:41 +08:00
Dong Heng
07342f7957
xtensa/esp32: SPI support to configure as R/W/RW mode
2023-01-11 01:54:36 +08:00
Dong Heng
67ccee2c4f
xtensa/esp32: ESP32 SPI Flash encryption supports 16-bytes align writing
2023-01-10 01:10:10 +08:00
chenwen@espressif.com
eed2cce3f2
xtensa/esp32: Optimize WLAN device buffer
2023-01-07 13:46:37 +08:00
chenwen@espressif.com
933d1a0a80
xtensa/esp32: Add Wi-Fi softap event
2023-01-06 12:25:36 -03:00
Dong Heng
f137a7b552
xtensa/esp32: Fix macro "CONFIG_NETDEV_IOCTL" control range error
2023-01-06 20:40:53 +08:00
Dong Heng
7097cfd000
xtensa/esp32: Add option to enable ETH PHY reset pin
2023-01-06 20:40:53 +08:00
anjiahao
c02fea36d8
arch:change tcbinfo regs num
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-05 23:36:12 +08:00
Xiang Xiao
779a610ca3
Remove the unnecessary NULL fields in global instance definition of file_operations
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-04 00:32:13 +02:00
Alan Carvalho de Assis
e3748be0e5
esp32s3: Clear the timer interrupt to avoid losing the next one
2022-12-28 09:45:29 +08:00
Alan Carvalho de Assis
e67b968f15
esp32s2: Clear the timer interrupt to avoid losing the next one
2022-12-28 09:45:29 +08:00
Alan Carvalho de Assis
1ab8c1ea01
esp32: Clear the timer interrupt to avoid losing the next one
2022-12-28 09:45:29 +08:00
Xiang Xiao
b9d7d00943
arch: Remove the unused arch color function variant
...
up_check_tcbstack_remain, up_check_stack, up_check_stack_remain and up_check_intstack_remain
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-24 22:40:52 +02:00
zhangyuan21
45394eb6dc
arch: save user context in assert common code
...
This is the work continue with #7875
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2022-12-24 13:02:56 +08:00
Petro Karashchenko
3e36f40130
compiler.h: rename printflike to printf_like
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-12-21 10:56:45 +08:00
Petro Karashchenko
b107e4f417
nuttx: unify MIN, MAX and ABS macro definition across the code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-12-21 09:31:28 +08:00
Xiang Xiao
fd0d6a9bf5
compiler.h: Add _ between format|printf|syslog|scanf|strftime and like
...
align with other macro naming style
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-21 01:05:19 +02:00
Xiang Xiao
d5689e070b
net/arp: Remove nuttx/net/arp.h
...
1.move ARPHRD_ETHER to netinet/arp.h
1.move arp_entry_s to net/arp/arp.h
2.move arp_input to nuttx/net/netdev.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-16 22:10:59 +02:00
zhangyuan21
453a1a7332
arch: move stack and task dump to common code
...
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2022-12-17 01:59:35 +08:00
zhangyuan21
632d87ee71
arch: remove up_release_pending function
...
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2022-12-16 21:29:57 +08:00
Lucas Saavedra Vaz
077c790830
arch: Make REG_[GET/SET]_FIELD thread safe for ESP SOCs
2022-12-16 13:32:43 +08:00
Almir Okato
8f3c425067
xtensa/esp32s3: Enable booting from MCUboot bootloader
...
Add support for booting from MCUboot bootloader on ESP32-S3.
Signed-off-by: Almir Okato <almir.okato@espressif.com>
2022-12-15 00:42:13 +08:00
Lucas Saavedra Vaz
773e3fad43
arch/xtensa/esp32: Add initial support for touch pad polling
2022-12-14 22:38:10 +08:00
Lucas Saavedra Vaz
b8ef8daef9
arch/xtensa/esp32: Add missing macros to iomux
2022-12-14 22:38:10 +08:00
Lucas Saavedra Vaz
2280b33eea
arch/xtensa/esp32: Add functions to get RTC clock
2022-12-14 22:38:10 +08:00
Lucas Saavedra Vaz
f9a9512d3c
arch/xtensa/esp32: Fix typo in SENS registers
2022-12-14 22:38:10 +08:00
Lucas Saavedra Vaz
15dadd0099
arch/xtensa/esp32: Remove redundant RTC registers
2022-12-14 22:38:10 +08:00
chao an
47fbfa215e
fs/hostfs: mode_t of mkdir(2) should use the nuttx prototype
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-12-13 18:16:20 +08:00
田昕
0382b63f5d
move common assert logic together.
...
Signed-off-by: 田昕 <tianxin7@xiaomi.com>
2022-12-12 17:05:02 +08:00
Alan Carvalho de Assis
fbdd246878
esp32: Fix maximum I2C FIFO size (now SSD1306 will work)
2022-12-09 02:23:28 +08:00
Gustavo Henrique Nihei
236ee5c80d
xtensa/esp32: Rename linker scripts into more meaningful names
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-08 21:55:29 +08:00
Gustavo Henrique Nihei
1ecaa4e672
xtensa/esp32s3: Configure the PMS peripheral for Protected Mode
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-07 03:07:45 +08:00
Gustavo Henrique Nihei
bfc40c74d0
xtensa/esp32s3: Add support for Protected Mode
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-07 03:07:45 +08:00
Lucas Saavedra Vaz
4320eed4a1
arch/xtensa/esp32: Optimize macros and ensure overwrite protection
2022-12-07 00:02:28 +08:00
Lucas Saavedra Vaz
9cdbec3769
arch/xtensa/esp32: Modify REG_[GET/SET]_FIELD to use [get/set]reg32
2022-12-06 10:53:06 +08:00
Xiang Xiao
c6e9edcbb6
net: Rename arp_arpin to arp_input
...
align with other similar function(e.g. ipv4_input and ipv6_input)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-04 20:39:21 +08:00
Xiang Xiao
6d30726a1b
Remove the unnecessary "return;" at the end of function
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-27 22:23:50 +01:00
chao an
6fa60627eb
net/devif/ip: build l2 header on the IP layer
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-27 12:13:45 +08:00
chao an
8850dee746
net/devif: move preprocess of txpoll into common code
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-27 12:11:12 +08:00
Tiago Medicci Serrano
d3ffeb40a7
libc/machine/xtensa: make longjmp safe against context switch
...
In order to turn longjmp context-switch safe, it's necessary
to disable interrupts before modifying windowbase and windowstart.
Otherwise, after a context switch, windowstart and windowbase
would be different, leading to a wrongly set windowstart bit due to
longjmp writing it based on the windowbase before the context switch.
This corrupts the registers at the next window overflow reaching
that wrongly set bit.
*Background:*
This PR is related to an issue first observed on ESP-IDF
https://github.com/espressif/esp-idf/issues/5229 and it was, then,
checked on NuttX using a test application.
*The test application:*
To check if the problem affects ESP32, ESP32-S2 and ESP32-S3 on
NuttX, it was created an application based on:
https://en.cppreference.com/w/c/program/longjmp
The application creates 16 tasks (`#define NUMBER_OF_TASKS 16`)
that implements the following daemon:
```
static int setjmp_longjmp_daemon(int argc, char *argv[])
{
for (int i = 0; i < NUMBER_OF_TASKS * 2; i++)
{
jmp_buf env;
volatile int count = 0;
if (setjmp(env) != UINT16_MAX)
{
foo(&env, ++count);
}
}
sem_post(&g_sem);
return EXIT_SUCCESS;
}
```
The main function also initializes a semaphore to avoid application
exiting before tasks return successfully:
```
sem_init(&g_sem, 0, -NUMBER_OF_TASKS);
```
Finally, the round-robin interval was lowered to 1ms to raise the
chances of the longjmp being interrupted by a context switch
(`CONFIG_RR_INTERVAL=1).
This setup was able to reproduce the problem prior to this patch
being applied.
2022-11-22 19:34:44 +01:00
zhangyuan21
d8051ba979
nuttx/sched: merge up_block_task and up_unblock_task
2022-11-22 22:59:08 +08:00
zhangyuan21
a8fa51e6bf
arch: rename arch special function name
2022-11-22 16:27:56 +08:00
zhangyuan21
5c1b518314
nuttx/sched: move reprioritize process to public function
2022-11-22 15:29:00 +09:00
zhangyuan21
08f7152d9f
nuttx/sched: remove nxsched_remove_readytorun from up_block_task
...
It takes about 10 cycles to obtain the task list according to the task
status. In most cases, we know the task status, so we can directly
add the task from the specified task list to reduce time consuming.
2022-11-22 15:29:00 +09:00