wangjianyu3
e8758eb974
Thermal/step_wise: Increase cooling state in case of "stable" trend and "hot" trip.
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
68d5516c90
Thermal/dummy: Fix warning
...
```
CID 1159822: (#1 of 2): 宏将无符号值与 0 做了比较 (NO_EFFECT)
unsigned_compare: 不带符号值的此 greater-than-or-equal-to-zero 比较总是为 true。index >= 0U。
```
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
515c3978dd
Thermal: Check trip type in thermal_zone_device_register().
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
f96d3798a1
Thermal: remove assert of thermal_zone_device_update()
...
Called by both of lpwork and Idle_Task:
[ 0.000000] [ 0] [ INFO] [ap] thermal_zone_device_register: Registered zone device cpu-thermal
[ 0.000000] [ 0] [ EMERG] [ap] _assert: Current Version: NuttX ap 0.0.0 Dec 11 2023 20:59:20 sim
[ 0.000000] [ 0] [ EMERG] [ap] _assert: Assertion failed : at file: thermal/thermal_core.c:820 task: Idle_Task process: Kernel 0x32ade29
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
d43f0272e5
Thermal: Add dummy driver
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
b30f866f80
Thermal: Add procfs file nodes
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
520e4042ce
Thermal: Register pm suspend notifier
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
2f285a04f9
Thermal: Support cpufreq cooling device
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
338b5d7415
Thermal: Support step_wise governor
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
wangjianyu3
d1b87bd021
Add thermal framework
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 08:57:29 +08:00
likun17
09ab135d2f
sensor: Fixed the problem of user information lag in cross-core communication "stublist".
...
When its remote core publishes a message, all subscribed cores will receive the message,
but the local core "stublist" does not update the user's "generation" and "bufferpos" parameters.
Signed-off-by: likun17 <likun17@xiaomi.com>
2024-09-21 23:09:48 +08:00
likun17
bdac8c116a
sensor_rpmsg.c: Fix that "stub" will be created when local core only has subscribers.
...
After the ap core subscribes to the 25hz batch 120ms data of the sensor core, it switches
to the cp core and subscribes to the 50hz batch 120ms sensor core data. At this time,
the data subscribed by the AP will be abnormally lost (12.5hz). Mainly because ap
subscribes to sensor core data earlier than cp. The subscription of cp will be broadcast
to the ap core at the same time, and the corresponding "path" already exists
under "/dev/uorb" of ap. Thus the ap will create a "stub".
There are some restrictions on the creation of "stub" to avoid this situation.
Signed-off-by: likun17 <likun17@xiaomi.com>
2024-09-20 22:05:58 +08:00
Shoukui Zhang
985e539e02
i2c: Optimize access to private data
...
Signed-off-by: Shoukui Zhang <zhangshoukui@xiaomi.com>
2024-09-20 13:28:03 +02:00
wangjianyu3
bdddc76997
nuttx/uorb: Fix incompatible type error
...
Related: b17c074a18
Log:
Error: sensors/ms56xx_uorb.c:145:20: error: initialization of 'int (*)(struct sensor_lowerhalf_s *, struct file *, uint32_t *)' {aka 'int (*)(struct sensor_lowerhalf_s *, struct file *, unsigned int *)'} from incompatible pointer type 'int (*)(struct sensor_lowerhalf_s *, struct file *, long unsigned int *)' [-Werror=incompatible-pointer-types]
145 | .set_interval = ms56xx_set_interval,
| ^~~~~~~~~~~~~~~~~~~
sensors/ms56xx_uorb.c:145:20: note: (near initialization for 'g_sensor_ops.set_interval')
cc1: all warnings being treated as errors
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 19:54:38 +08:00
wangjianyu3
3ab62370cb
nuttx/uorb: Fix initialization error of variable of type struct sensor_ops_s
...
Related change:
.flush : 403469336f
.get_info : 703bb7e7b3
Error Log:
1153 Building NuttX...
1154Error: sensors/bme680_uorb.c:428:3: error: initialization of 'int (*)(struct sensor_lowerhalf_s *, struct file *, long unsigned int)' from incompatible pointer type 'int (*)(struct sensor_lowerhalf_s *, struct file *, int, long unsigned int)' [-Werror=incompatible-pointer-types]
1155 428 | bme680_control /* control */
1156 | ^~~~~~~~~~~~~~
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 19:54:38 +08:00
wanggang26
f6c1d88931
mmcsd: fix a build error
...
Error: mmcsd/mmcsd_sdio.c:1419:12: error: 'mmcsd_setblockcount' defined
but not used [-Werror=unused-function]
1172 1419 | static int mmcsd_setblockcount(FAR struct mmcsd_state_s
*priv,
Signed-off-by: wanggang26 <wanggang26@xiaomi.com>
2024-09-19 15:44:59 +08:00
wanggang26
1a6e8b9c99
mmcsd: fix a logic error
...
Signed-off-by: wanggang26 <wanggang26@xiaomi.com>
2024-09-19 07:29:33 +02:00
wangjianyu3
d2b58a520e
sensor.c: Rename container_of to list_container_of
...
https://github.com/apache/nuttx/pull/11805
Log:
/github/workspace/sources/nuttx/drivers/sensors/usensor.c: In function 'usensor_get_info':
Warning: /github/workspace/sources/nuttx/drivers/sensors/usensor.c:228:44: warning: implicit declaration of function 'container_of'; did you mean 'list_container_of'? [-Wimplicit-function-declaration]
228 | FAR struct usensor_lowerhalf_s *ulower = container_of(lower,
| ^~~~~~~~~~~~
| list_container_of
Error: /github/workspace/sources/nuttx/drivers/sensors/usensor.c:229:44: error: expected expression before 'struct'
229 | struct usensor_lowerhalf_s,
| ^~~~~~
/github/workspace/sources/nuttx/drivers/sensors/usensor.c: In function 'usensor_control':
Error: /github/workspace/sources/nuttx/drivers/sensors/usensor.c:241:44: error: expected expression before 'struct'
241 | struct usensor_lowerhalf_s,
| ^~~~~~
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 11:45:11 +08:00
Petro Karashchenko
549ad08013
can/sja1000: drop driver dependency on __builtin functions
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-09-19 09:39:04 +08:00
Shoukui Zhang
5d3d123272
BCH: Add readonly configuration for BCH devices
...
Signed-off-by: Shoukui Zhang <zhangshoukui@xiaomi.com>
2024-09-19 03:53:20 +08:00
wangjianyu3
607b8effe9
driver/sensors: Let gnss geofence follow the existing naming rules
...
ORB_ID(sensor_gnss_geofence_event)
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 03:44:49 +08:00
wangjianyu3
ffac2a314b
driver/sensors: Support GNSS Geofence
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 03:44:49 +08:00
wangjianyu3
bf83b3fafc
driver/sensors: Support GNSS Measurement & Clock
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 03:44:49 +08:00
wangjianyu3
e830db0316
driver/sensors: Add constellation for GNSS
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 03:44:49 +08:00
wangjianyu3
c652f41c87
nuttx/uorb: Rename GPS to GNSS
...
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-19 03:44:49 +08:00
dongjiuzhu1
b17c074a18
nuttx/uorb: change unsigned long to uint32 to fix size issue
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-19 03:44:49 +08:00
dongjiuzhu1
abbd9c7da9
drivers/sensors: Limit notification events to user
...
1. notify POLLIN to reader.
2. notify POLLPRI to writer,
in addition, notify POLLPRI to the user who completed the flush .
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-19 03:44:49 +08:00
dongjiuzhu1
403469336f
driver/sensors: support sensor flush operation
...
Supports the flush operation of the sensor.
The application can initiate a flush action through ioctl SNIOC_FLUSH
to trigger flush, and the call will be returned immediately.
Using SNIOC_GET_EVENTS to clear flush event,
However, the flush implementation is asynchronous, when all the flush
data is push to upper circbuffer, the POLLPRI event(FLUSH_COMPLETED)
will be reported.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-19 03:44:49 +08:00
likun17
703bb7e7b3
sensor.c: Added new interface for obtaining and setting sensor device information.
...
When there is an actual physical sensor, the driver must implement the get info interface. The upper layer can obtain the actual physical sensor information through SNIOC_GET_INFO.
SNIOC_SET_INFO can only set the information of the local virtual sensor, which means it is bound to the local advertisement. Remote subscribers cannot set the information.
Usage:
struct sensor_device_info dev_info;
orb_ioctl(fd, SNIOC_GET_INFO, (unsigned long)(uintptr_t)&dev_info);
or:
ret = orb_set_info(fd, &dev_info);
ret = orb_get_info(fd, &dev_info);
Signed-off-by: likun17 <likun17@xiaomi.com>
2024-09-19 03:44:49 +08:00
dongjiuzhu1
c0674b34d6
sensors/gps: using config to adjust gps recv size
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-19 03:44:49 +08:00
wanggang26
ff0194fb74
mmcsd: make a compatibility change for cmd12 and cmd23
...
For some sd cards don't support cmd23 or support cmd23 indicated by
bit33 in scr
Signed-off-by: wanggang26 <wanggang26@xiaomi.com>
2024-09-19 03:17:48 +08:00
p-szafonimateusz
545774eb88
serial/pci_16550: make sure that interrupts are disabled during init
...
Make sure that interrups are disabled during initialization.
This is a proper fix for an unexpected MSI interrupt for PCI serial driver.
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-09-18 23:54:12 +08:00
simbit18
583f025422
Fix Kconfig style
...
Remove spaces from Kconfig files
Add TABs
Replace help => ---help---
2024-09-17 22:16:41 +08:00
dongjiuzhu1
d4bbbe0d0b
drivers/pty: support pty write to send signal, like serial driver
...
The interaction between the shell service in adb and adbd occurs through a pseudo-terminal (pty).
so, when a command is launched through adb shell from a PC, users now have the ability to pause
or kill the launched,application by inputting specific commands CONFIG_TTY_SIGTSTP_CHAR or
CONFIG_TTY_SIGTINT_CHAR, akin to the capabilities provided by nsh.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-17 20:11:10 +08:00
Shoukui Zhang
43223124ec
vfs/file: add reference counting to prevent accidental close during reading writing...
...
Signed-off-by: Shoukui Zhang <zhangshoukui@xiaomi.com>
2024-09-17 12:01:53 +08:00
dongjiuzhu1
1d5f43664d
driver/pinctl: add pinctrl framework
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-17 02:25:47 +08:00
wanggang26
f6d378e528
enable O_CLOEXEC explicitly to avoid fd leak
...
Signed-off-by: wanggang26 <wanggang26@xiaomi.com>
2024-09-17 02:07:34 +08:00
liaoao
4d35c60ba6
rpmsg_port_spi: set mreq to high to trigger next transmission
...
rpmsg_port_spi_connect can not be used here because peer may have not finished
the last transmission which will keep the sreq gpio in high level, and it will
read an error data frame.
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
liaoao
88e0aeaad4
rpmsg_port_spi/slave: reorder rpmsg_port_initialize and rpmsg_port_spi_init hardware
...
Because the data transmision may has been started before
rpmsg_port_initialize(), this should be not allowed.
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
liaoao
1f6ba6c7a7
rpmsg_port_spi: add pending logic for rpmsg port spi
...
To handle the situation that there is a req from peer side when
current transfer is not finished.
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
liaoao
896f02bd67
rpmsg_port_spi: add nbits to spicfg
...
Support more spi config paramters for Rpmsg Port SPI/SPI Slave
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
liaoao
d724ddce0b
rpmsg_port_spi: discard messages when disconnected
...
Disconnected logic optimization
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
yintao
968da8b781
drivers/rpmsg: Add edge_create and edge_destroy for router
...
use cmd to notify the other cpu to destroy router edge device,
and dont destroy the other cpu's "router:ept"
Signed-off-by: yintao <yintao@xiaomi.com>
2024-09-17 01:55:51 +08:00
Bowen Wang
76572f9892
rpmsg/rpmsg_port_uart: add rpmsg uart port driver
...
Rpmsg Port Uart is a new rpmsg transport layer.
Just like the rpmsg port spi, the difference is that the physical
communication method changed from SPI to UART.
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-09-17 01:55:51 +08:00
liaoao
4827063958
rpmsg_port_spi: add spi slave support
...
The rpmsg port spi slave version support
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
liaoao
89ce5d5e02
rpmsg_port_spi: add get_local_cpuname api
...
add get_local_cpuname ops for rpmsg_port_spi
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
liaoao
6a6fc8d883
rpmsg_port_spi:init cs gpio to be low
...
Transfer will be failure when the cs gpio status is low before
the first transfer.
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
yintao
6e55812e59
drivers/rpmsg: Add get_local_cpuname in router
...
get_local_cpuname ops support for rpmsg router
Signed-off-by: yintao <yintao@xiaomi.com>
2024-09-17 01:55:51 +08:00
liaoao
4a356f6f6d
rpmsg_port_spi: do not decrease when rx avail is already 0
...
Bug fix about the rpmsg port spi
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-17 01:55:51 +08:00
yintao
3fb39c6fc9
drivers/rpmsg: Use optimal rx size and tx size
...
Use the minimal tx and rx size form two edge cpu to maintain
the transmit buffer size not exceed the edge cpus' buffer size.
[edg0] tx <---> rx0 [hub] rx1 <---> tx [edge1]
rx <---> tx0 tx1 <---> rx
edge0_tx = min(rx0, tx1);
edge0_rx = min(tx0, rx1);
edge1_tx = min(rx1, tx0);
edge1_rx = min(tx1, rx0);
Signed-off-by: yintao <yintao@xiaomi.com>
2024-09-17 01:55:51 +08:00