Commit Graph

64571 Commits

Author SHA1 Message Date
Georgij Cernysiov
e8dece902f drivers: flash: stm32_ospi: fix includes
Adds `zephyr/...` prefix to `toolchain.h` include.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2022-05-25 11:13:40 +09:00
Anatol Ivanov
cd4b6e1575 arch: arm: cortex_r: Fix MPU_RASR_S_Msk
Fix typo to match specification.

Signed-off-by: Anatol Ivanov <Anatoleech@mail.ru>
2022-05-25 11:13:17 +09:00
Martí Bolívar
54948e4108 .github: add workflows/bug_snapshot.yaml
This creates a new GitHub workflow that snapshots open bugs in a
compressed format that is convenient to extract for later analysis in
a Python script, using scripts/make_bugs_pickle.py.

The workflow is only run on demand. This allows us to run it during
the weekly release readiness meeting, right after we have finished the
initial bug triage for the week. That ensures that results are as
fresh and relevant as possible.

The resulting file is uploaded to S3; with the goal of enabling later
tracking and analysis.

Getting the analysis scripts themselves merged into Zephyr is left for
future work. This commit just allows us to get the data.

Co-authored-by: Stephanos Ioannidis <root@stephanos.io>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-24 18:48:03 +02:00
Martí Bolívar
78edc12c1b scripts: add make_bugs_pickle.py
This is a simple script which snapshots open bugs in the
zephyrproject-rtos/zephyr repository using the GitHub REST API.

It relies on the 'github' module, which is a de-facto standard for
accessing this API in Python:

  https://pygithub.readthedocs.io

We are already using this package in scripts/release/bug_bash.py, so
this is not a new dependency, even though it's a third party package
not available in the standard library.

The resulting bugs are stored in the standard library's 'pickle'
format, as a list of github.Issue.Issue objects. For more on pickle,
see:

  https://docs.python.org/3/library/pickle.html

I am choosing pickle because it is standard, easy to use, and we are
already using it in the build system to store the edtlib.EDT object
created by gen_defines.py. This is also therefore not a new
dependency (and even if it were, it's in the standard library).

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-05-24 18:48:03 +02:00
Martí Bolívar
8aaea6d200 scripts: add github_helpers.py
This is meant to be a place where we can store generic zephyr wrappers
around the de-facto standard github API for python.

The first 'customer' will be a script that snapshots our open bugs at a
particular point in time, which will be added in a later patch.

I think it's useful to factor this file out of there from the
beginning just to keep things clean, even though I don't have a second
customer in mind at the moment.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-24 18:48:03 +02:00
Stephanos Ioannidis
b2c8f26e34 soc: npcx: scripts: Initialise Colorama during module load
This commit adds a call to the Colorama initialisation function during
the module execution so that ANSI color sequences are properly
converted to the relevant Win32 API calls on the Windows.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-24 09:00:16 -07:00
Stephanos Ioannidis
e332ddb5b4 scripts: tracing: Initialise Colorama during module load
This commit adds a call to the Colorama initialisation function during
the module execution so that ANSI color sequences are properly
converted to the relevant Win32 API calls on the Windows.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-24 09:00:16 -07:00
Stephanos Ioannidis
847ff98bb3 scripts: dictionary: Initialise Colorama during module load
This commit adds a call to the Colorama initialisation function during
the module execution so that ANSI color sequences are properly
converted to the relevant Win32 API calls on the Windows.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-24 09:00:16 -07:00
Stephanos Ioannidis
2ee02f9dfa scripts: fpdiff: Initialise Colorama during start-up
This commit adds a call to the Colorama initialisation function during
the module execution so that ANSI color sequences are properly
converted to the relevant Win32 API calls on the Windows.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-24 09:00:16 -07:00
Stephanos Ioannidis
aae454708d twister: Initialise Colorama during module load
This commit adds a call to the Colorama initialisation function during
the module execution so that ANSI color sequences are properly
converted to the relevant Win32 API calls on the Windows.

Note that the init function needs to be called per module, hence it is
also called in the `twisterlib.py`.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-24 09:00:16 -07:00
Filip Kokosinski
70c978bb97 soc/riscv/sifive-freedom/fe310: use correct SYS_CLOCK_HW_CYCLES_PER_SEC
This commit introduces changes in three places in order to fix the
problem with timer-related tests on FE310-based boards:
* tests/kernel/sleep/kernel.common.timing
* tests/kernel/tickless/tickless_concept/kernel.tickless.concept
* tests/kernel/workq/work_queue/kernel.workqueue

The first change is the modification of the SYS_CLOCK_HW_CYCLES_PER_SEC
value back to 32768 Hz to match FE310's datasheet description.

The second change is CLINT frequency reduction in Renode simulation
model to 16 MHz to correspond with the oscillator frequency given by the
FE310's datasheet and the HiFive1 board schematic. This fixes the first
two tests.

The last change is reducing the MIN_DELAY define to 100. This causes the
RISC-V machine timer driver to update the mtimecmp register more often,
which in turn addresses the `work_queue/kernel.workqueue` problem with
work items finishing prematurely, causing the above-mentioned test to
fail.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2022-05-24 08:58:43 -07:00
Anas Nashif
88d4299d88 scripts: fpdiff: iterate on namespaces
Iterate on 3 main namespace to avoid collision in identifiers sharing
the same name at the top level when creating the diff.

Fixes #44940

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-24 08:57:55 -07:00
Maciej Perkowski
4830cbd802 samples: spi: bitbang: Fix missing pass conditions
The sample did not have defined pass condition and was failing
due to a timeout. Add harness: consol and an explicit regex matching
the sample's output so it can pass on a hw. In addition, a requirement
for a gpio_loopback fixture was added to the sample.yaml.

fixes: #45229

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2022-05-24 08:57:12 -07:00
Francois Ramu
aab52048f1 tests: drivers: watchdog testing on stm32 iwdg and wwdg
Configure the testcase.yaml to execute watchdog testcase
wdt_basic_api on each IWDG and WWDG on all the stm32 boards
With two generic stm32 .overlay files as extra config :
one wdg is tested when the other is disabled.
Removing from board overlay.
Giving the list of boards else non-stm32 ones could try building

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-24 08:55:16 -07:00
Francois Ramu
cd87ff04ff dts: arm: stm32u5 and mp1 declare wwdg node instances
Overload the IWDG first instance declaration
to align with other stm32 mcus.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-24 08:55:16 -07:00
Francois Ramu
6c268ff93c dts: arm: stm32h7 declare wwdg and iwdg node instances
Overload the IWDG and WWDG first instance declaration
to align with other stm32 mcus.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-24 08:55:16 -07:00
Francois Ramu
5865d13117 dts: arm: stm32l5 Invalid wwdg interrupt priority
Set the priority of the wwdg instance to 6
else a build error happens :
static assertion failed: "Invalid interrupt priority.
Values must not exceed IRQ_PRIO_LOWEST"

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-24 08:55:16 -07:00
Guo Lixin
1160994dfb tests: error_hook: remove filter and define testcases in yaml file
1.Remove filter to allow platforms(e.g. qemu_x86) supporting
CONFIG_ARCH_HAS_USERSPACE run testcases when userspace is disabled.

2.Define all testcases in the yaml for consistency and issue parsing
them during setup.

Signed-off-by: Guo Lixin <lixinx.guo@intel.com>
2022-05-24 08:54:49 -07:00
Erwan Gouriou
be217004a1 boards: stm32h7: Update openocd runner to specify target handle
Openocd scripts for STM32H7 SoCs use _CHIPNAME.cpu{0|1} as
target handle.
Specify this thanks to new openocd runner option '-target-handle'.

This is required to allow thread awareness debugging on these targets.

Fixes #45778

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-24 08:52:16 -07:00
Erwan Gouriou
4d073a755d scripts: west: openocd runner: Add an option to specify target handle
Provide a way to specify the openocd target script handle used to
describe the core target.
In most target scripts '_TARGETNAME' is used, but it can happen that
'_TARGETNAME.foo' or '_CHIPNAME.bar' is used, specially on SoCs subject
to multicore.

Today, this option is required to enable rtos thread awareness,
using '$_TARGETNAME configure -rtos Zephyr' command, which is generated
by this runner.
It could be useful for similar needs in future.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-24 08:52:16 -07:00
Erwan Gouriou
af483c37fc drivers/clock_control: stm32u5: Wrong bus check in _get_rate()
Checking that provided pclken->bus fits bus range in
clock_control_get_rate() is wrong as it could actually be a source
clock and hence not belong to this range.
Also, this kind of check is just not needed since this function should
not be used before call to clock_control_on() or clock_control_configure()
which do the required verification.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-24 08:51:52 -07:00
Sylvio Alves
e8b5e05d51 west.yml: fix bluetooth adapter variable definition
When newlibc is enabled, memcpy_chk fails due to
overflow when testing destination address length.
This updates the source and destination range defintion
so that it works as expected.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-05-24 08:51:21 -07:00
Emil Gydesen
12eda22dfe samples: Bluetooth: Fix bad info->flags check in unicast_server
The check did not properly check the info->flags as a bitfield,
and thus never decoded the data.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-05-24 08:50:07 -07:00
Tomislav Milkovic
fc7598fa04 drivers: can: can_stm32h7: Fix min timings
Assertions in can_mcan failed because the driver expects values
strictly greater than 0

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-05-24 08:49:41 -07:00
Tomislav Milkovic
2fd83ad24b boards: arm: stm32h7b3i_dk: Enable CAN peripheral and transceiver
Add CAN transceiver to board DTS
Enable CAN peripheral and set correct pinctrl config in board DTS
Add CAN support in board yaml file
Modify board documentation

Signed-off-by: Tomislav Milkovic <tomislav.milkovic95@gmail.com>
2022-05-24 08:49:41 -07:00
Carles Cufi
35a00551a8 doc: Bluetooth: Document the services APIs
The Bluetooth documentation was missing all the Doxygen API information
regarding the standard services implemented in the Host. Import the
Doxygen API doc in a single page.

Fixes #42520.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-05-24 17:49:17 +02:00
Daniel DeGrasse
7210174088 dts: nxp: fix address of NXP PFR region for LPC55sx6 SOC
LPC55sx6 SOC has NXP Manufacturing Programmed Area(NMPA) stored at
offsets 0x3EC00-0x3FDFF. Correct uuid offset to be within this region.

Fixes #43870

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-05-24 08:49:01 -07:00
Francois Ramu
7054fda0c8 samples: drivers: led ws2812 running on the nucleo h743
Define the configuration through an overlay file
to run the sample on the nucleo_h743zi target board.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-24 08:48:33 -07:00
Francois Ramu
fd6a3d3154 dts: arm: stm32h7 devices have spi clock source on pll1_q
All the SPI1,2,3 clock of the stm32h7x mcus
are sourced by the PLL1_Q by default. This must be set
in the DTS to have a valid clock rate calculation.
The pll1_q is divided by the <div-q> property of the pll node.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-05-24 08:48:33 -07:00
Lukasz Majewski
c5faa3df14 arm: Enable NOCACHE_MEMORY on nucleo_h743zi when littlefs sample is run
It has been validated that the nucleo_h743zi board works correctly,
with '__nocache' buffers and data caches enabled, so this patch enables
support for the former.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-05-24 08:47:20 -07:00
Lukasz Majewski
508f4e30da doc: Info about replacing usage of CONFIG_NOCACHE_MEMORY with CONFIG_DCACHE
Add information entry to release-notes-3.1.rst regarding data cache
management on the STM32H7 SoC.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-05-24 08:47:20 -07:00
Lukasz Majewski
5a8dff59a5 stm32: Add CONFIG_DCACHE=n to stm32h7 uart API tests
As now the CONFIG_NOCACHE_MEMORY is not responsible for controlling the
data cache on STM32H7 SoC, the CONFIG_DCACHE=n must be set explicitly
to preserve previous behavior as UART driver is not using no-cache
buffers.

Considering the above comment, the CONFIG_NOCACHE_MEMORY can be safely
removed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-05-24 08:47:20 -07:00
Lukasz Majewski
0f9c8c2935 arm: stm32h7: Enable DCache when CONFIG_DCACHE is defined
Up till now the usage of CONFIG_NOCACHE_MEMORY also explicitly disables
data cache on the STM32H7 SoC.

With this change the usage of CONFIG_NOCACHE_MEMORY has been decoupled
from data cache enabling as new Kconfig option - namely
CONFIG_DCACHE is now used to explicitly enable it.

After this change it would be possible to use data cache on STM32H7
with DMA buffers, fragile to cache coherency issues, defined with
'__nocache' attribute.

Such approach would improve the overall STM32H7 performance until the
moment when proper (i.e. in-DMA) buffer cache management is developed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-05-24 08:47:20 -07:00
Lukasz Majewski
f4f9a8291f kconfig: Add CONFIG_DCACHE option
This option is by default defined and explicitly enables the data
cache on a target platform.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-05-24 08:47:20 -07:00
Mahesh Mahadevan
70dbf7e695 drivers: uart_imx: Fix the poll_in function
Current poll_in function implementation blocks when there is
no data available. The Zephyr documentation for poll_in
expects the function to return -1 when no data is available.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2022-05-23 15:00:14 -05:00
Mahesh Mahadevan
a8c7f82510 tests: counter: Fix test_multiple_alarms in counter_basic_api
Skip the test_multiple_alarms() test when the settop value is
not supported. This is to avoid the case where wrap around
take a long time thereby causing test failures

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2022-05-23 08:38:59 -05:00
Mahesh Mahadevan
649bb3bb44 drivers: counter: Update CTimer to fix alarm setting
1. Make sure the relative alarm value is set correctly
2. Add a Kconfig to give user the option of reserving
   a CTimer channel for implementing the set_top_value
   function

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2022-05-23 08:38:59 -05:00
Kevin Townsend
06cd8abde1 samples: tfm_integration: Add missing MPS3 support
Adds mps3_an547_ns to certain TF-M samples to improve
testing in CI by including the Arm Cortex-M55 platform.

Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
2022-05-23 15:28:36 +02:00
Kevin Townsend
8a252422c8 samples: tfm_integration: Remove LPC55s69 tests
Removes lpcxpresso55s69_ns from certain sample.yaml files due
to changes required for TF-M 1.6.0 not being added to the
upstream project before the 1.6.0 release.

The NXP SDK available for download from NXP contains the required
updates, but these will need to be committed to TF-M, then made
available in the Zephyr fork, at which point the yaml files here can
have the LPC added back.

Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
2022-05-23 15:28:36 +02:00
Armando Visconti
f91471640e drivers/sensor: lsm6ds0: Fix typo when configuring FS at 16G
Fixed a typo when selecting LSM6DS0_ACCEL_FULLSCALE_16G.
(Fixes #45583)

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2022-05-23 15:16:15 +02:00
Luca Fancellu
b3949415d8 cmake: gcc: Use --sysroot with gcc when SYSROOT_DIR is provided
When SYSROOT_DIR is provided, gcc should use it through the --sysroot=
option otherwise some commands won't work as expected.

For example, in the Yocto environment when cross compiling,
--print-libgcc-file-name prints only "libgcc.a" instead of the full
path to it and the subsequent assert_exists(LIBGCC_FILE_NAME) will
fail.

Fixes #45578
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
2022-05-23 19:33:33 +09:00
Vinayak Kariappa Chettimada
4cc5c56d8c Bluetooth: Controller: Fix setting fragment when Periodic Adv is active
Fix implementation to reject setting fragment when periodic
advertising is enabled.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-05-23 10:45:57 +02:00
Vinayak Kariappa Chettimada
fe18625f77 Bluetooth: Controller: Initial Periodic Adv Data fragment op support
Add initial support for Periodic Advertising Data fragment
operation support.

This commit is limited to detection of partial data if used
before Periodic Advertising is enabled, which will lead to
HCI error reason of command disallowed.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-05-23 10:45:57 +02:00
Vinayak Kariappa Chettimada
8888681aa8 Bluetooth: Remove deprecated BT_WHITELIST KConfig option
Remove the deprecated BT_WHITELIST Kconfig option. Also,
remove a mention of the deleted bt_conn_create_auto_le API.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-05-23 10:45:44 +02:00
Vinayak Kariappa Chettimada
8b5c84e2aa Bluetooth: Controller: Collision resolution to use ticks_slot_window
When resolving collision if ticks_slot_window is set for
either of the ticker then skip and such ticker be
rescheduled outside the collision within the
ticks_slot_window.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-05-23 10:18:29 +02:00
Jordan Yates
06aae61019 scripts: zspdx: fix writing custom license IDs
The builtin list function `.sort()` sorts the list in-place and returns
None. As this is an invalid type for iteration, use the builtin `sorted`
function, which returns a sorted copy of the list, which we can iterate
over.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-05-23 10:18:06 +02:00
Marc Lasch
fa84da588d net: lib: lwm2m: Cancel firmware DOWNLOADED state with NULL byte
Allow to cancel a firmware update in DOWNLOADED state by writing a
NULL byte as described in the Firmware Update object version 1.1
(urn:oma:lwm2m:oma:5:1.1). Keep object version 1.0 mechanism with
an `empty string`.

Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
2022-05-23 10:17:52 +02:00
Carles Cufi
f7f0889653 doc: application: Describe application types
Move the application types descriptions from the CMake documentation
section to the application development one, to give them visibility
and also because they application development chapter is a better home
for them.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-05-23 10:16:04 +02:00
Carles Cufi
ae3e29a230 doc: Move the source tree description out of app development
It is quite confusing to describe Zephyr's source tree layout in the
section for application development, given that applications do not need
to follow the exact same layout as the main tree.
Instead move this section to the contribution guidelines chapter.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-05-23 10:16:04 +02:00
Szymon Janc
ab6d3d36a3 Bluetooth: Controller: lll: Fix warning when building for Nordic
[140/235] Building C object zephyr/subsys/bluetooth/controller/
    CMakeFiles/subsys__bluetooth__controller.dir/ll_sw/ull_sched.c.obj
In file included from zephyr/subsys/bluetooth/controller/ll_sw/
    ull_sched.c:28:
zephyr/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_pdu.h:
     In function 'lll_adv_pdu_linked_next_get':
zephyr/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_pdu.h:8:32:
     warning: implicit declaration of function 'MROUND'
     [-Wimplicit-function-declaration]
    8 | #define PDU_ADV_MEM_SIZE       MROUND(PDU_AC_LL_HEADER_SIZE + \
      |                                ^~~~~~
zephyr/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_pdu.h:12:11:
     note: in expansion of macro 'PDU_ADV_MEM_SIZE'
   12 |           PDU_ADV_MEM_SIZE - \
      |           ^~~~~~~~~~~~~~~~
zephyr/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_pdu.h:197:9:
     note: in expansion of macro 'PDU_ADV_NEXT_PTR'
  197 |  return PDU_ADV_NEXT_PTR(pdu);

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2022-05-23 10:05:39 +02:00