Commit Graph

50719 Commits

Author SHA1 Message Date
SPRESENSE f7400a857d drivers/audio/cxd56: Move cxd56 sources into arch/cxd56xx
CXD56 audio functions are inside of the CXD56.
So implementation of it should be under arch directory.
2023-08-26 01:20:32 +08:00
raiden00pl c795e06e01 Documentation: various improvements for stm32xx documentation 2023-08-26 01:20:00 +08:00
simbit18 612b8320bb Documentation/quickstart/install.rst: update fix incorrect version
10.1.0 -> 12.2.1
2023-08-26 00:46:56 +08:00
ligd b743d62703 syslog: remove unsed check
To simplify the code

Signed-off-by: ligd <liguiding1@xiaomi.com>
2023-08-25 17:31:31 +08:00
Jiuzhu Dong 904ca21a00 syslog & ramlog: add BOARDIOC_RESET_CAUSE for syslog & ramlog
cold boot should clear syslog & ramlog buffer

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
Signed-off-by: ligd <liguiding1@xiaomi.com>
2023-08-25 17:31:31 +08:00
chengkai d867c46bbc serial/uart/h5: add bt h5 uart serial driver
Signed-off-by: chengkai <chengkai@xiaomi.com>
2023-08-25 17:17:37 +08:00
wangchen 99ee94728a net:add IP_MULTICAST_IF & IPV6_MULTICAST_IF function implementation
refer to https://man7.org/linux/man-pages/man7/ip.7.html
IP_MULTICAST_IF (since Linux 1.2)
              Set the local device for a multicast socket.  The argument
              for setsockopt(2) is an ip_mreqn or (since Linux 3.5)
              ip_mreq structure similar to IP_ADD_MEMBERSHIP, or an
              in_addr structure.  (The kernel determines which structure
              is being passed based on the size passed in optlen.)  For
              getsockopt(2), the argument is an in_addr structure.
refer to https://man7.org/linux/man-pages/man7/ipv6.7.html
IPV6_MULTICAST_IF
              Set the device for outgoing multicast packets on the
              socket.  This is allowed only for SOCK_DGRAM and SOCK_RAW
              socket.  The argument is a pointer to an interface index
              (see netdevice(7)) in an integer.
testcase1:
TEST_IMPL(udp_multicast_interface) {
/* TODO(gengjiawen): Fix test on QEMU. */
  RETURN_SKIP("Test does not currently work in QEMU");

  int r;
  uv_udp_send_t req;
  uv_buf_t buf;
  struct sockaddr_in addr;
  struct sockaddr_in baddr;

  close_cb_called = 0;
  sv_send_cb_called = 0;
  ASSERT(0 == uv_ip4_addr("239.255.0.1", TEST_PORT, &addr));

  r = uv_udp_init(uv_default_loop(), &server);
  ASSERT(r == 0);

  ASSERT(0 == uv_ip4_addr("0.0.0.0", 0, &baddr));
  r = uv_udp_bind(&server, (const struct sockaddr*)&baddr, 0);
  ASSERT(r == 0);

  r = uv_udp_set_multicast_interface(&server, "0.0.0.0");
  ASSERT(r == 0);

  /* server sends "PING" */
  buf = uv_buf_init("PING", 4);
  r = uv_udp_send(&req,
                  &server,
                  &buf,
                  1,
                  (const struct sockaddr*)&addr,
                  sv_send_cb);
  ASSERT(r == 0);

  ASSERT(close_cb_called == 0);
  ASSERT(sv_send_cb_called == 0);

  /* run the loop till all events are processed */
  uv_run(uv_default_loop(), UV_RUN_DEFAULT);

  ASSERT(sv_send_cb_called == 1);
  ASSERT(close_cb_called == 1);

  ASSERT(client.send_queue_size == 0);
  ASSERT(server.send_queue_size == 0);

  MAKE_VALGRIND_HAPPY();
  return 0;
}
testcase2:
TEST_IMPL(udp_multicast_interface6) {
/* TODO(gengjiawen): Fix test on QEMU. */
  RETURN_SKIP("Test does not currently work in QEMU");

  int r;
  uv_udp_send_t req;
  uv_buf_t buf;
  struct sockaddr_in6 addr;
  struct sockaddr_in6 baddr;

  if (!can_ipv6())
    RETURN_SKIP("IPv6 not supported");

  close_cb_called = 0;
  sv_send_cb_called = 0;

  ASSERT(0 == uv_ip6_addr("::1", TEST_PORT, &addr));

  r = uv_udp_init(uv_default_loop(), &server);
  ASSERT(r == 0);

  ASSERT(0 == uv_ip6_addr("::", 0, &baddr));
  r = uv_udp_bind(&server, (const struct sockaddr*)&baddr, 0);
  ASSERT(r == 0);

  r = uv_udp_set_multicast_interface(&server, "::1%lo0");
  r = uv_udp_set_multicast_interface(&server, NULL);
  ASSERT(r == 0);

  /* server sends "PING" */
  buf = uv_buf_init("PING", 4);
  r = uv_udp_send(&req,
                  &server,
                  &buf,
                  1,
                  (const struct sockaddr*)&addr,
                  sv_send_cb);
  ASSERT(r == 0);

  ASSERT(close_cb_called == 0);
  ASSERT(sv_send_cb_called == 0);

  /* run the loop till all events are processed */
  uv_run(uv_default_loop(), UV_RUN_DEFAULT);

  ASSERT(sv_send_cb_called == 1);
  ASSERT(close_cb_called == 1);

  MAKE_VALGRIND_HAPPY();
  return 0;
}

Signed-off-by: wangchen <wangchen41@xiaomi.com>
2023-08-25 17:16:50 +08:00
Stuart Ianna 50f0fd4df2 risc-v/litex: Add system reset and access to core control registers. 2023-08-25 17:16:28 +08:00
Roy Feng 937312242e esp32: Fix build warning
And an incorrect log output
2023-08-25 17:06:32 +08:00
SPRESENSE 4393f47e5d sensors: Remove undefined SCU functions for fxos8700cq
Remove undefined SCU functions for fxos8700cq.
2023-08-25 17:06:00 +08:00
SPRESENSE 7d0d6234eb sensors: Move SCU-specific bmp280 sensor into spresense board
Move SCU-specific bmp280 sensor into spresense board layer.
2023-08-25 17:06:00 +08:00
SPRESENSE ffcea1da4f sensors: Move SCU-specific bmi160 sensor into spresense board
Move SCU-specific bmi160 sensor into spresense board layer.
2023-08-25 17:06:00 +08:00
SPRESENSE 795dcee521 sensors: Move SCU-specific ak09912 sensor into spresense board
Move SCU-specific ak09912 sensor into spresense board layer.
Rename a function name to register SCU sensor driver
from ak09912_register to ak09912_scu_register.
2023-08-25 17:06:00 +08:00
Michal Lenc 606b6d9310 samv7: add support for PWM polarity settings
This commit adds function pwm_set_polarity() that setups channel
polarity based on input info from application layer.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-08-24 18:25:47 -03:00
Michal Lenc f851b79f89 pwm: add option to set channel output polarity with IOCTL command
Channel polarity can now be set with PWMIOC_SETCHARACTERISTICS ioctl
command as field cpol was added to pwm_info_s structure. This way the
polarity can be easily set from application layer for each channel
apart and also can be change on at runtime if required (although this is
not likely).

Helper defines were also added to simplify the definition of low and high
polarity level. Architecture level should take care of writing the
polarity to correct MCU registers.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-08-24 18:25:47 -03:00
raiden00pl 9117cf44e1 Documentation: migrate STM32F1 2023-08-25 00:11:05 +08:00
Ville Juven 9cd8ea32d1 net/xx/wrbuffer: Do not use SEM_INITIALIZER for buffers
Using the macro places the buffers into .data section which means they
will consume the full buffer size of flash / read only memory as well.

Place the buffers into .bss to avoid this case.
2023-08-25 00:02:07 +08:00
xuxin19 48d95b8d82 cmake:replace custom_patch_target with PATCH_COMMAND
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2023-08-24 17:46:43 +02:00
Xiang Xiao b090b7340b github: Skip the build if the change is under tools/ci/docker/linux
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-24 12:09:11 -03:00
raiden00pl 00db279c00 Documentation: migrate STM32F4 2023-08-24 12:07:40 -03:00
SPRESENSE 0953d0cbb5 boards: cxd56xx: Fix charger and gauge initialize functions
Fix the function definitions to match the prototype declarations.
2023-08-24 20:11:20 +08:00
Philippe Leduc e084c52e12 Add i.MX8MP Cortex-M7 port for NuttX 2023-08-24 20:10:48 +08:00
Dong Heng 550f730c23 board/esp32s3-lcd-ev: Add ESP32-S3-LCD-EV development board BSP 2023-08-24 19:56:29 +08:00
raiden00pl a4637613d8 Documentation: migrate STM32F7 2023-08-24 17:56:59 +08:00
raiden00pl c3f8753ecd Documentation: migrate STM32L4 2023-08-24 17:56:39 +08:00
Stuart Ianna 60bead4f84 debug: Let boards define custom debug configuration.
Allows the debug behavior to be specified as part of the board, architecture or chip configuration. This is useful when using out-of tree custom board configurations.
2023-08-24 12:26:59 +08:00
Stuart Ianna 5d8d5bfd73 libc/libfread: Use memcpy to copy read-ahead buffer to caller buffer.
This change improves the performance when using larger CONFIG_STDIO_BUFFER_SIZE values as it allows architecture specific, or optimized memcpy algorithms to be utilized.

Link: https://git.motec.com.au/id/I317dc4da266aed1ce0f1b5f9a609759e863b9005
2023-08-24 11:19:54 +08:00
Anner J. Bonilla 24e45d071e Pinephone Pro port just nsh
Pinephone Pro port just nsh

Status:
booting till GICD / IRQ issue

style cleanups

start to fix style checks

revert offset

whitespaces

revert a64 bringup file

prob last cleanup

more cleanups

remove dts

move changes from a64 hardware specific folders to rk3399

undo common changes (except head.s)

revert gitignore

missing irq.h and rk3399_serial.c need to finish cleaning them up

WIP

add source for load address

make debug print hex again add board include

Pinephone Pro port just nsh

Status:
booting till GICD / IRQ issue

style cleanups

start to fix style checks

revert offset

whitespaces

revert a64 bringup file

prob last cleanup

more cleanups

remove dts

move changes from a64 hardware specific folders to rk3399

undo common changes (except head.s)

revert gitignore

missing irq.h and rk3399_serial.c need to finish cleaning them up

WIP

add source for load address

remove ccache, add board memory map

remove board reset
2023-08-24 11:16:31 +08:00
Xiang Xiao c91cd510fc include/nuttx/list.h: Restore the origin copyright notice
which was removed accidentally in:
https://github.com/apache/nuttx/pull/1629

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-23 23:00:08 +03:00
Xiang Xiao f5fe171ed8 include/nuttx/list: Rewrite list_entry/list_first_entry/list_last_entry
and remove the comment to avoid containing the potential Linux GPL code

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-23 21:40:35 +03:00
Alan Carvalho de Assis b435005415 tools/refresh.sh: Add option to refresh custom board
This patch modify the script to update only the boards configs
of an specific chip or only the boards of an specific architecture.

Examples:

refresh.sh add custom board verify
custom board:
$ ./tools/refresh.sh --silent ../../xxx/configs/ap
$ ./tools/refresh.sh --silent /yyy/xxx/configs/ap
$ ./tools/refresh.sh --silent yyy/xxx/configs/ap

Signed-off-by: dengwenqi <dengwenqi@xiaomi.com>
2023-08-24 02:36:04 +08:00
Michal Lenc 00128ff2fe pwm: fix incorrect documentation for PWMIOC_SETCHARACTERISTICS IOCTL
Documentation for PWMIOC_SETCHARACTERISTICS ioctl command mentioned
that this command will neither start nor stop the pulsed output. This
however is incorrect as PWMIOC_SETCHARACTERISTICS command leads to
pwm_start() function which starts the pulsed output.

While this might not be the correct behaviour (I would probably welcome
the option to set PWM characteristics without starting the pulsed output)
it is the way the PWM driver is coded for many architectures. Future
enhancement might be to add function pwm_setchar() for example to just
set characteristics without starting the PWM output.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-08-24 01:37:40 +08:00
fangfei6 d0f84bd745 tools/ci: Update docker to ubuntu 22.04 and Update Renesas toolchain 8.3.0
Signed-off-by: fangfei6 <fangfei6@xiaomi.com>
2023-08-24 00:03:06 +08:00
chao an ba2601deb6 Toolchain: strict GCC version check from GCC-12.2 to GCC-12
Toolchain related detection errors are still not resolved on GCC-12.3

Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-23 23:52:17 +08:00
raiden00pl 32ddfe918d Documentation: migrate STM32L5 2023-08-23 23:39:25 +08:00
raiden00pl 635488b04a Documentation: migrate STM32U5 2023-08-23 23:38:56 +08:00
raiden00pl 87b028c227 Documentation: migrate STM32F3 2023-08-23 23:38:16 +08:00
Ville Juven e163c74b90 rpmsg/rpmsg_sockif.c: Fix printf format for u64 type
Use PRIx64 which defines the width correctly regardless or architecture.

Fixes build error:
rpmsg/rpmsg_sockif.c:610:57: error: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type 'uint64_t' {aka 'long unsigned int'} [-Werror=format=]
  610 |       snprintf(conn->nameid, sizeof(conn->nameid), ":%llx", g_rpmsg_id++);
      |                                                      ~~~^   ~~~~~~~~~~~~
      |                                                         |             |
      |                                                         |             uint64_t {aka long unsigned int}
      |                                                         long long unsigned int
      |                                                      %lx
2023-08-23 23:36:15 +08:00
raiden00pl 2b6f8ede4b Documentation: migrate STM32L1 2023-08-23 23:29:50 +08:00
raiden00pl d3b727eec3 Documentation: migrate STM32F2 2023-08-23 23:29:08 +08:00
Tia fc8848ec18 Fix bugs related to software flow control in file stm32_hciuart.c. 2023-08-23 23:23:42 +08:00
raiden00pl fe874d1d5c Documentation: migrate STM32H7 2023-08-23 23:23:08 +08:00
raiden00pl a630f9f210 Documentation: migrate STM32G4 2023-08-23 23:22:41 +08:00
raiden00pl 8a03b886dd Documentation: migrate STM32WB 2023-08-23 23:22:14 +08:00
raiden00pl 77716ee264 Documentation: migrate STM32L0 2023-08-23 23:21:54 +08:00
raiden00pl 44f288a37c Documentation: migrate STM32G0 2023-08-23 23:20:52 +08:00
raiden00pl 8da255309b Documentation: migrate STM32F0 2023-08-23 23:20:08 +08:00
raiden00pl 81118db95d Documenation: migrate XMC4 2023-08-23 12:12:14 +08:00
Xiang Xiao a107cc2ee0 tools/ci: Update arm toolchain to 12.3rel1
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-23 10:12:52 +08:00
YAMAMOTO Takashi 7d9ca6e378 sim/toywasm: disable example apps (hello, nettest)
I guess they are copy-and-paste mistakes or something like that.
2023-08-23 02:50:46 +08:00