Commit graph

50892 commits

Author SHA1 Message Date
Flavio Ceolin
49f0c74a9e arch: common: Fix 10.4 violations
Both operands of an operator in which the usual arithmetic
conversions are performed shall have the same essential
type category.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-04-10 09:59:37 -04:00
Flavio Ceolin
4f5460ad6a arch: arm: Fix 10.4 violations
Both operands of an operator in which the usual arithmetic
conversions are performed shall have the same essential
type category.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-04-10 09:59:37 -04:00
Flavio Ceolin
abb1bbe6b1 arch: xtensa: Fix 10.4 violations
Both operands of an operator in which the usual arithmetic
conversions are performed shall have the same essential
type category.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-04-10 09:59:37 -04:00
Flavio Ceolin
4b55ee27d4 arch: arc: Fix 10.4 violations
Both operands of an operator in which the usual arithmetic
conversions are performed shall have the same essential
type category.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-04-10 09:59:37 -04:00
Flavio Ceolin
03544f0b77 arch: x86: Fix 10.4 violations
Both operands of an operator in which the usual arithmetic
conversions are performed shall have the same essential
type category.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-04-10 09:59:37 -04:00
Loic Poulain
fd777c39ad drivers: video: sw_generator: Fix missing parameter
k_work_cancel_delayable_sync requires a second parameter for state
synchronization.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2021-04-10 07:52:30 -04:00
Gerard Marull-Paretas
61b85b60d6 doc: allow up to breathe 4.28.x
It looks like latest release (4.29.0) breaks docs build.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-04-10 07:27:58 -04:00
Keith Short
5a4911690f native_posix: kconfig: Set logging mode conditionally
Projects based on native_posix get a warning indicating that the
LOG_MODE_IMMEDIATE choice symbol is selected but no symbol ended up as
the choice selection.

Only set the logging mode if logging is enabled.

Signed-off-by: Keith Short <keithshort@google.com>
2021-04-10 11:47:57 +02:00
Kumar Gala
d590e0d18d twister: Adjust platform selection logic for platform_allow
In CI we typically build for "default" platforms.  However some
testcases that set "platform_allow" may have no overlap with the default
platforms and thus thoses testcases will not get built.

Change the platform selection logic in these cases to set the platforms
to the list of allowed platforms ("platform_allow") in the testcase.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-04-09 14:54:34 -04:00
Francois Ramu
5a51fe515a soc: arm: stm32g0 with USB-C PD cannot use CC1 and CC2 pins by default
With this patch, the UCPD1 _CC1 and _CC2 pins
are disabling the USB Type-C and Power Delivery Dead Battery.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-04-09 14:53:57 -04:00
Francois Ramu
9e30ab58ea soc: arm: stm32l5 with USB-C PD cannot use CC1 and CC2 pins by default
With this patch, the UCPD1 _CC1 and _CC2 pins
are disabling the USB Type-C and Power Delivery Dead Battery.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-04-09 14:53:57 -04:00
Francois Ramu
931c9dca74 soc: arm: stm32g4 with USB-C PD cannot use CC1 and CC2 pins by default
With this patch, the UCPD1 _CC1 and _CC2 pins
are disabling the USB Type-C and Power Delivery Dead Battery.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-04-09 14:53:57 -04:00
Sylvio Alves
222e82a619 log: fix log crash due to missing strdup
ESP32 requires some content as fatal.c rodata to be
placed into RAM to allow cache disabled exceptions.
The consequence is that it will trigger missing log_strdup
call when normal exception is called. Disabling that by default
fix the error and stops terminal output flooding warning event.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-04-09 14:50:54 -04:00
Mulin Chao
13b9f8aa52 driver: wdt: npcx: correct the drawing of npcx watchdog module.
The source clock of the watchdog module is selected to the input of T0
timer, not output. Correct the drawing in case confusing the users.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-04-09 14:50:37 -04:00
Mulin Chao
105af6f357 pm: power: npcx: add console expired mechanism.
This CL adds support for console expired mechanism. It implements the
notification to power management module that the module for console is
in use. If the interval that module doesn't receive any input message
exceeds CONFIG_SOC_POWER_CONSOLE_EXPIRED_TIMEOUT, the power management
module is allowed to enter deep sleep mode. This mechanism gives a
window in which the users can organize console input.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-04-09 14:50:24 -04:00
Mulin Chao
d68cc3dce6 console: introduce UART console input expired mechanism options.
This CL introduces two configuration options which allows a notification
to the power management module that the UART console module is in use
now. If the interval of console module doesn't receive any input message
exceeds expired timeout, the power management module is allowed to enter
sleep/deep sleep state and turn off the clock of console module.

This mechanism gives a window in which the users can organize input
message if CONFIG_PM is enabled.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-04-09 14:50:24 -04:00
Wealian Liao
7b7129ba9f driver: wdt: npcx: Remove watchdog reset waiting loop in ISR
NPCX watchdog driver has a WDT_NPCX_DELAY_CYCLES for delay the watchdog
reset time after the watchdog timeout. For some systems, users would
like to use the watchdog timeout ISR but don't reset the chip
immediately. Let the system have the final chance to ongoing the system
before the real hardware reset time. Removing the watchdog reset
waiting loop in ISR lets users decide whether wait for watchdog reset
by themself.

Signed-off-by: Wealian Liao <WHLIAO@nuvoton.com>
2021-04-09 14:50:05 -04:00
Jennifer Williams
248aebbb70 boards: x86: acrn: doc: fix ACRN GSG link
The GSG link is no longer valid. This commit fixes the link to
use the site recommended by ACRN developers.

Fixes #34149

Signed-off-by: Jennifer Williams <jennifer.m.williams@intel.com>
2021-04-09 14:49:36 -04:00
Ioannis Glaropoulos
d307bd2fdd arm: add note explaining why Hard ABI is disabled for tfm builds
Add a note in the Kconfig help text that explains why Hard ABI
is not possible on builds with TF-M.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-04-09 11:48:55 -05:00
Øyvind Rønningstad
80a351e22d arch: arm: Disallow FP_HARDABI when building with TFM
When building with TFM, the app is linked with libraries built by the
TFM build system. TFM is always built with -msoft-float which is
equivalent to -mfloat-abi=soft. FP_HARDABI adds -mfloat-abi=hard
which gives errors when linking with the libs from TFM since they are
built with a different ABI.

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/33956

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2021-04-09 11:48:55 -05:00
Loic Poulain
ffd3d42569 drivers: video: Conversion of k_work API
Replace deprecated API with the recommended alternative.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
2021-04-09 11:55:59 -04:00
Vinayak Kariappa Chettimada
661991405b Bluetooth: controller: Move LLL done handling from ULL to LLL
Move the LLL done event handling from ULL to LLL, this
reduces CPU utilization and reduces overhead between radio
events.

Fixes #21993.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-04-09 11:55:29 -04:00
Vinayak Kariappa Chettimada
5be2149c48 Bluetooth: controller: Defer event early abort
Defer the event early abort so that lll_done does not get
recursively invoked when called inside prepare callback.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-04-09 11:55:29 -04:00
Vinayak Kariappa Chettimada
27c26eb1e7 Bluetooth: controller: Fix LLL done and pipeline enqueue race
There is a race between the pipeline enqueue by the ULL
context when processing the LLL done event, and the
pipeline queue by the ticker timeout for a new radio
event. This caused an already enqueued event prepare to be
placed after the newly arrived request to enqueue a prepare
by ticker timeout.

Fix this race by placing the new prepare in the pipeline
instead of starting the event, when ULL is still processing
the LLL done event.

As ticker timeout and ULL processing of LLL done event are
in the same ULL_HIGH context, the pipeline handling is safe
with the order of prepares maintained correctly.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-04-09 11:55:29 -04:00
Nicolas Pitre
69a0fd3a6a aarch64: smp: make the cross-CPU swap_ptables call use its own IPI
Let's disentangle this from arch_sched_ipi() with an SGI for its
own purpose.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2021-04-09 11:55:13 -04:00
Nicolas Pitre
28dc807f50 aarch64: mmu: don't touch the lock before the MMU is on
We can't do atomic memory operations before the MMU is on. Let's create
a code path to set up MMU page tables without any lock. There is
obviously no concurrency issues at this stage.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2021-04-09 11:55:00 -04:00
MORGER Patrick
4a26fe7032 drivers: led: fix function name of led_set_color()
Project will not build if e.x. CONFIG_USERSPACE=y is set

Signed-off-by: MORGER Patrick <patrick.morger@leica-geosystems.com>
2021-04-09 10:44:26 -05:00
Kumar Gala
c5e4011e29 bluetooth: Fix build issue with <bluetooth/mesh/access.h>
Add include <bluetooth/mesh/msg.h> into <bluetooth/mesh/access.h> to get
definition of 'struct bt_mesh_msg_ctx'.

We see this when trying to build the mesh_badge sample for the
reel_board.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-04-09 17:41:11 +03:00
Dominik Ermel
96bfaffc02 runners: nrfjprog: Fix nrfjprog after changes to BuildConfiguration
The commit fixes problem with nrfjprog runner for west flash,
that has been introduced with latest changes to BuildConfiguration
class.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2021-04-09 16:34:01 +02:00
Carlo Caione
9dd2731d15 aarch64: Remove comparison with GIC-specific intid
GIC_INTID_SPURIOUS is a GIC-specific intid so it's not valid for custom
interrupt controllers. Rework a bit the logic by comparing the intid to
the maximum intid possible instead.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-04-09 08:28:21 -04:00
Carlo Caione
23a0c8c2ec aarch64: Do not save garbage on the stack
No need to save useless values on the stack.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-04-09 08:28:21 -04:00
Erwan Gouriou
1bbee0a285 boards: STM32L5: Update TFM related instructions
On STM32L5 based boards, rework the TFM build/flash instructions
to minimize potential confusions.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-04-09 08:27:07 -04:00
Carlo Caione
64dfa69681 aarch64: Remove useless _curr_cpu struct
Currently _curr_cpu is only used by the get_cpu macro to quickly access
the cpu struct. This is not really necessary because we can access to
the struct by directly referencing &(_kernel.cpus[cpu_num]) in assembly

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-04-09 08:10:10 -04:00
Michał Narajowski
f62a40beb6 Bluetooth: Fix callback handling in ECC Public Key generation
Commit d6c34c4644 changed the behavior
slightly but didn't update the documentation. The callback will now be
reset to NULL once the key is generated. Calling bt_pub_key_gen()
multiple times before the key is finished would result in creation of an
infinite loop. This could happen when an application calls mesh_init()
and mesh_reset() in quick succession. Clarify the behavior of the API in
the documentation.

Also passing a NULL argument would result in an undefined behavior, so
add a check to match the behavior described in documentation.

Signed-off-by: Michał Narajowski <michal.narajowski@codecoup.pl>
2021-04-09 13:27:24 +02:00
Jiafei Pan
865c81889d CODEOWNERS: add myself as Layerscape code-owner
Add myself to be NXP Layserscape SoC and LS1046A board
code-owner.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2021-04-09 13:25:15 +02:00
Jiafei Pan
58dfd2d151 board: arm64: add nxp ls1046a RDB board support
Enabled ARM A72 Core, MMU, GIC and UART.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2021-04-09 13:25:15 +02:00
Jiafei Pan
34378d611b soc: arm64: add NXP ls1046a support
NXP ls1046a is SoC includes the following functions and features:
1. Four 32/64-bit Arm v8 A72 CPUs
2. Cache coherent interconnect (CCI-400)
3. One 32/64-bit DDR4 SDRAM memory controller with ECC
4. Peripheral interfaces include DPAA network, PCIe, USB, SPI,
   GPIO, UART, SDHC, IFC, LPUART ...

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2021-04-09 13:25:15 +02:00
Jiafei Pan
56db1ee66d arch: arm64: add 40 bits physical and virtual address
Add support 40 bits physical and virtual address space.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2021-04-09 13:25:15 +02:00
Thomas Stranger
ef021c7b1f tests: watchdog: enable wwdg for nucleo_g431rb and nucleo_f091rc
The stm32 wwdg driver was currently tested only on disco_l475_iot1.
Additionally add nucleo_f091rc, such that one board with an CM0 core is
tested. And add nucleo_g431rb, that one board is included that has
newer register mapping and a 128 prescaler.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-04-09 13:23:38 +02:00
Thomas Stranger
980fb6c0df drivers/watchdog: wwdg stm32: fix to support all available prescalers
As older series supported only 4 different prescaler values the
highest prescaler value was hardcoded. Newer series support 8
programmable prescaler values, therefore take the allowed values from
ll_wwdg header file.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-04-09 13:23:38 +02:00
Thomas Stranger
e85b929cc6 drivers/watchdog: wwdg stm32: fix prescaler setup for newer series.
Series STM32G0, STM32G4, STM32H7, STM32L5, STM32WB, STM32WL have
a newer wwdg ip and store the prescaler value not in bits[8:7],
but bits bits[13:11], use the definitions from ll to account for that.

Remove IS_WWDG_PRESCALER, this is not required as the prescaler
is not calculated, but known valid prescaler values are tested until a
valid counter is found.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-04-09 13:23:38 +02:00
Thomas Stranger
13adfc99eb dts: stm32: fix wwdg int priority for cortex-m0 series
Cortex M0 Series only have two interrupt priority bits,
nevertheless all series set the priority per default to the invalid
value of 7.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-04-09 13:23:38 +02:00
Jordan Yates
491fe2a64d tests: lib: ringbuffer: test discard functionality
Add tests that validate the behaviour of providing NULL as a data
pointer to discard whatever data is in the ring buffer.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-04-09 13:19:30 +02:00
Jordan Yates
a4afedb02a sys: ring_buffer: allow NULL data buffers
Allow NULL data buffers to be provided to `ring_buf_get` and
`ring_buf_item_get`, in which case data will be discarded instead of
copied out to the user.

Fixes #33488.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-04-09 13:19:30 +02:00
Kumar Gala
70fc8bd38a samples: sensor: add integration_platforms
Add one integration_platforms based on platform_allow to ensure these
tests get coverage in CI.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-04-09 06:50:47 -04:00
Peter Bigot
bf45af5dcb tests: kernel: workq: critical: replace to-be-deprecated k_work API use
The new standard API has a different name with an additional parameter.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-04-09 05:41:50 -05:00
Erwan Gouriou
1eaee99ea4 MAINTAINERS: Add collaborators on STM32 Platforms
Add Alexandre and François as collaborators on STM32 Platforms.
Additionally, add one naming for stm32 boards.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-04-09 05:26:44 -05:00
Kumar Gala
95f866ef15 dts: bindings: nxp,kinetis-pinmux: Update binding for pin data
Update the binding for how we represent pin data to support child
nodes with a nxp,kinetis-pins property that has the pin data.

For example:

      UART0_CTS_PTA0: uart0_cts_pta0 {
           nxp,kinetis-port-pins = < 0 2 >;
      };

Also pull in pincfg-node.yaml to get various common pin flags like
"bias-pull-up", "drive-open-drain", etc.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-04-08 17:08:33 -05:00
Kumar Gala
bbad5f7d47 dts: nxp: kinetis: Include the pinctrl dtsi files
Add the pinctrl.dtsi files to be included by the SoC specific dtsi
files.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-04-08 17:08:33 -05:00
Kumar Gala
e5dc03fce3 west.yml: update NXP HAL for pin dtsi data
Update NXP HAL repo to pull in dtsi pin data files.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-04-08 17:08:33 -05:00