Commit graph

62513 commits

Author SHA1 Message Date
Andrzej Puzdrowski
208ec5b27a manifest: update mcuboot
Synch up to upstream
aa041a282d

- Added workflow verifying integration with the Zephyr
- removed deprecated DT_CHOSEN_ZEPHYR_FLASH_CONTROLLER_LABEL
- Fixed usage of CONFIG_LOG_IMMEDIATE

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2022-03-30 11:27:24 +02:00
Robert Lubos
c1f06c7442 tests: net: sokcets: tcp: Adjust net_pkt count
Since the loopback driver makes use of the RX packet pool now, adjust
the packet count for the test.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-03-30 11:08:22 +02:00
Robert Lubos
0088aaefa0 net: tcp: Do not accept new data in retransmission mode
When TCP stack enters retransmission mode, the variable tracking the
amount of unacknowledged data is cleared. This prevents the stack from
detecting when TX window is full, which could lead to queueing unlimited
amount of data, effectively consuming all of the avaiable network
buffers.

Prevent this, by returning early from net_tcp_queue_data() in case TCP
stack is in retransmission mode. The socket layer will take care of
retrying just as in case the window is full.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-03-30 11:08:22 +02:00
Robert Lubos
2e9866f88f net: tcp: Retrigger the send work in case of loopback
In case a loopback or own address is used in TCP connection, the TCP
stack delegates the acatual data send to a workqueue. This is fine,
however it could lead to some aritificial delays in case a lot of data
is being sent before the workqueue has a chance to execute queued work
items. In such case, we only sent a single packet, when many could've
already been queued.

Fix this, by resubmitting the queue in case a local address is used, and
there's still more packets pending for send.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-03-30 11:08:22 +02:00
Robert Lubos
ce93fae60b net: tcp: Simple zero window probe implementation
When peer reports a zero length receive window, the TCP stack block any
outgoing data from being queued. In case no further ACK comes from the
peer, the whole communication could stall. Fix this by sending a simple
Zero Window Probe, when we detect a Zero Length Window.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-03-30 11:08:22 +02:00
Robert Lubos
823ac60c70 drivers: net: loopback: Increase MTU to match IPv4 MTU
net_pkt_alloc_buffer() will use the maximum packet length of
NET_IPV4_MTU in case the interface MTU is smaller than this. Because of
this, the using the loopback interface with smaller MTU leads to
additional fragmentation at the TCP layer, which impacts performace and
requires more network buffers for tests to execute.

Fix this by matching the loopback interface MTU with NET_IPV4_MTU.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-03-30 11:08:22 +02:00
Robert Lubos
e80a662ac7 drivers: net: loopback: Allocate the loopback packet from proper poll
Use the new function to allocate a packet for the RX path from the RX
packet poll.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-03-30 11:08:22 +02:00
Robert Lubos
22f970b97f net: pkt: Add net_pkt_rx_clone() function
Add a function which allows to clone a packet, using RX packet poll to
create the clone.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-03-30 11:08:22 +02:00
Stephanos Ioannidis
1dd92ec865 ci: doc: Publish pull request docs to builds.zephyrproject.io
This commit updates the CI documentation build workflow to upload the
HTML pull request documentation builds to the S3 builds.zephyrproject.io
bucket so that they are directly accessible from the web.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-03-30 16:07:57 +09:00
Stephanos Ioannidis
88d64ad56f ci: license_check: Update to scancode action v4
This commit updates the license check workflow to use the v4 release
of the scancode action, which uses a more recent scancode version.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-03-30 16:06:19 +09:00
Krzysztof Chruscinski
50cc558924 tests: lib: cbprintf_package: Test for CBPRINTF_PACKAGE_COPY_KEEP_RO_STR
Extend test to validate CBPRINTF_PACKAGE_COPY_KEEP_RO_STR flag.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-03-29 23:03:35 -04:00
Krzysztof Chruscinski
a33f7de86a lib: os: cbprintf: Add CBPRINTF_PACKAGE_COPY_KEEP_RO_STR flag
Add flag to copy function which indicates that read-only
string locations shall be kept in the output package.

Updated cbprintf_package test to pass.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-03-29 23:03:35 -04:00
Tomislav Milkovic
694ad59dcf samples: subsys: display: lvgl: add config for stm32h7b3i_dk
Add configuration for stm32h7b3i_dk board which enables
integration of touch controller (KSCAN) present on the board
into LVGL

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
4dcb1f8090 boards: arm: stm32h7b3i_dk: add support for display
Update board device tree with LTDC node
Update board documentation - display support and RGB pinout
Update board defconfig - if display is used, then external
SDRAM must be enabled in order to fit the frame buffer in
memory

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
fb857bf9af dts: arm: st: mp1: stm32mp157: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
6928d5eddf dts: arm: st: l4: stm32l4r9: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
2655b34ea5 dts: arm: st: h7: stm32h7a3: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
d864ca2f45 dts: arm: st: h7: stm32h750: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
f99084cf2b dts: arm: st: h7: stm32h745: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
5d19219e4f dts: arm: st: h7: stm32h743: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
1a47e3abea dts: arm: st: h7: stm32h735: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
b8b1eb4aa9 dts: arm: st: h7: stm32h723: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
1d78d6ed98 dts: arm: st: f7: stm32f767: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
ba579ad4a8 dts: arm: st: f7: stm32f746: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
b1a05796d3 dts: arm: st: f4: stm32f429: add LTDC display controller node
Add LTDC display controller peripheral node to device tree

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
9f0fa15bb7 drivers: display: add stm32_ltdc driver
Add Kconfig for STM32 LTDC driver
Add STM32 LTDC driver C source
Update display drivers CMakeLists with the new driver
Update display drivers Kconfig with the new driver

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
352a6bec9b include: dt-bindings: display: add defines for STM32 LTDC
Add defines for specifying RGB interface signal
polarities for STM32 LTDC peripheral

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Tomislav Milkovic
52807584fb dts: bindings: display: add bindings for STM32 LTDC peripheral
Add properties for specifying display on/off GPIO, backlight
control GPIO, external SDRAM and LCD RGB timing parameters

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-03-29 18:30:02 -07:00
Eivind Jølsgard
7aa28f8243 dts: nordic: nrf9160: Add IPC node
Add devicetree node for IPC driver so that the IPC interrupt properties
can be accessed with device tree interrupt property macros and
configured using devicetree overlays.

Signed-off-by: Eivind Jølsgard <eivind.jolsgard@nordicsemi.no>
Co-authored-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-03-29 18:28:26 -07:00
Maciej Zagrabski
3202dc1a87 dts/bindings: stm32-otg: Set pinctrl-[0/names] properties as required
Follow up on commit 37bf7cb
("dts/bindings: stm32: Set pinctrl-[0/names] properties as required")
Report lack of those fields soon at build to avoid cryptic
DT api build error messages.

Signed-off-by: Maciej Zagrabski <maciej.zagrabski@grinn-global.com>
2022-03-29 18:12:57 -07:00
Gerard Marull-Paretas
12677dcbaa boards: degu_evk: use regulator for Vin1 monitoring circuit
Replace custom init code with the regulator infrastructure to enable the
Vin1 monitoring circuit.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-29 18:10:24 -07:00
Gerard Marull-Paretas
d44070fb5b boards: degu_evk: remove A71CH RST_N control
There's no in-tree driver for the A71CH secure element, which is the
code that should be responsible to control the chip reset line.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-29 18:10:24 -07:00
Gerard Marull-Paretas
d5ede63af6 boards: degu_evk: use regulator for 3V3 power rail
Replace custom init code with the regulator infrastructure to enable the
3V3 power rail.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-29 18:10:24 -07:00
Gerard Marull-Paretas
b3b1d0ccfb boards: degu_evk: remove non-minimal peripherals from defconfig
Boards must only enable minimal peripherals according to the porting
guidelines. USB, I2C or ADC are not in the minimal list.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-29 18:10:24 -07:00
Henrik Brix Andersen
68174cd6af test: drivers: can: api: clean up and document the CAN API test cases
Clean up (naming, formatting) the CAN API test cases and add proper
doxygen documentation.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-03-29 17:06:10 -07:00
Henrik Brix Andersen
29548dfb23 tests: drivers: can: timing: extend the test to cover data phase timing
Extend the CAN driver timing tests to cover data phase timing on CAN-FD
capable CAN controllers.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-03-29 17:05:56 -07:00
Henrik Brix Andersen
df4297e2a0 tests: drivers: can: timing: extend verification to cover prescaler and sjw
Extend the CAN driver timing calculation test verification to cover the
sjw and prescaler values.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-03-29 17:05:56 -07:00
Henrik Brix Andersen
f633f74e03 tests: drivers: can: timing: run CAN timing tests in userspace
Convert the CAN driver timing calculation tests to run in userspace
where available.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-03-29 17:05:56 -07:00
Henrik Brix Andersen
3874a0d1e3 drivers: can: use correct size in z_vrfy_can_get_core_clock()
Use the correct size in z_vrfy_can_get_core_clock().

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-03-29 17:05:56 -07:00
Henrik Brix Andersen
372cee4268 drivers: can: convert can_calc_timing*() to syscalls
Convert can_calc_timing() + can_calc_timing_data() to syscalls and use
the newly added syscalls calls for determing the minimum/maximum
supported timing parameter values.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-03-29 17:05:56 -07:00
Henrik Brix Andersen
15fde0a357 drivers: can: add syscalls for getting min/max timing values
Add CAN system calls for getting the minimum/maximum timing values
supported by a given CAN controller device driver instance:
- can_get_timing_min()
- can_get_timing_max()
- can_get_timing_min_data()
- can_get_timing_max_data();

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-03-29 17:05:56 -07:00
Daniel DeGrasse
dcac0ce0aa manifest: hal_nxp: update NXP hal to use new pin control headers
Pin control DTSI files need /omit-if-no-ref/ property to reduce
generated devicetree size and improve build times.

Fixes #44262

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-03-29 16:33:09 -07:00
Mark Ruvald Pedersen
d8df801fe4 cmake: Fix dependencies so builds are sparse again
In cmake we use target_byproducts() to register dependence on the map
file alongside the executable for it - this makes sense.
Thus if the map file is missing, ninja will detect and issue a linker
command again. However after that, cmake was instructed to rename the
map file. Thus a 2nd round of ninja, which should be a no-op, is not as
the registered byproduct file is missing.

To keep this static, and to keep the map file alongside the elf file, we
will instead copy the map file.

Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
2022-03-29 13:04:35 -07:00
Yuichiro SAGISAKA
82ac3fa079 boards: riscv: longan_nano: Update document
Improve documentation

- Add a photo of the board
- Add hardware information from the board manual
- Fix options for build (set OPENOCD_DEFAULT_PATH to make it
  valid for also windows environment)
- Improve the build instructions to make it easier to understand

Signed-off-by: Yuichiro SAGISAKA <yu.sagisaka@fujitsu.com>
2022-03-29 12:35:30 -07:00
Valerio Setti
45751e2a11 logging: fix for 64 bit timestamp + new timestamp format option
Timestamps can be 32 or 64 bit long based on the platform and
build configurations. The proper way to handle these timestamps
is to use the ad-hoc log_timestamp_t variable.
This patch fixes some timestamp's reference which were still
using uint32_t changing them to log_timestamp_t.

Moreover also a new config is added in order to print the
timestamp as the Linux's kernel format. This might be useful
in AMP platforms in which Linux's and Zephyr's logs must be
interleaved in order to get a more comprehensive log solution.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2022-03-29 12:34:58 -07:00
Yuval Peress
fab5bb9ed3 printk: Add tests for print format
Add tests to verify that the different print formats and constant
macros match.

Fixes #44199

Signed-off-by: Yuval Peress <peress@google.com>
2022-03-29 12:34:08 -07:00
Stephanos Ioannidis
44ddb308c7 toolchain: Override __INTN_C macros to match Zephyr stdint types
This commit overrides the toolchain internal `__INTN_C(value)` integer
constant macros to match the types defined by the `zephyr_stdint.h`
header.

For more details, refer to the GitHub issue #44199.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-03-29 12:34:08 -07:00
Jordan Yates
332a6f084a wifi: esp_at: reset the modem in device init
Reset the ESP modem inside the device initialisation function so that
errors can be detected through the use of `device_is_ready`.

Fixes #43891 for this driver.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-03-29 12:32:43 -07:00
Jordan Yates
06960750c7 wifi: esp_at: return modem reset result
Return an error code indicating whether the modem was successfully reset
or not.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-03-29 12:32:43 -07:00
Jordan Yates
9cd80bb732 wifi: esp_at: move network device inst macro
Move the network device instantiation macro to above the esp_init
function so that static variables declared by the macro are visible to
the init function.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-03-29 12:32:43 -07:00