Commit Graph

45014 Commits

Author SHA1 Message Date
Joakim Andersson
24f62eeea1 Bluetooth: GATT: Use UUID of attribute to check for a characteristic
Update check in the bt_gatt_attr_value_handle API function to use the
UUID of the function, in case the attribute has been declared with a
different read handler, or the attribute is a temporary object
where the read attribute has not been set.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-10-15 11:08:48 +02:00
Joakim Andersson
da5ea438c7 Bluetooth: GATT: Add init macro for struct bt_gatt_chrc
Add init macro for struct bt_gatt_chrc so that it can be re-used
other places.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-10-15 11:08:48 +02:00
Rihards Skuja
576b3583ee lorawan,lora: fix C++ compilation/linking errors
The usual suspects: missing extern and assignments from void *.

Signed-off-by: Rihards Skuja <rihardssk@mikrotik.com>
2020-10-15 11:08:07 +02:00
Kumar Gala
c22e34397e drivers: serial: stm32: set default parity in driver
Have the driver default to UART_CFG_PARITY_NONE if no parity property
exists rather than using default in binding.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-15 04:01:22 -05:00
Maksim Masalski
3ce7afdaaa tests: sched_api remove misprints and etc
I reviewed that test to find a bug root cause, unfortunately,
bug dissapeared, so nothing to fix, but I noticed several
misprints and wrong comment styles. It's something at least.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2020-10-14 19:38:11 -04:00
Peter Bigot
b1e4f89c13 boards: particle: fix spi overlays
These need an initial compatible to be recognized as SPI devices.

Also fix a typo in the base include file, and ensure the overlays are
the same for all variants.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-10-14 17:55:50 -05:00
Frank Li
53cc090c39 boards: mm_swiftio: enable pwm devices
Enable pwm device for mm_swiftio.
select HAS_MCUX_PWM for rt1052.

Signed-off-by: Frank Li <lgl88911@163.com>
2020-10-14 15:33:10 -05:00
Maximilian Bachmann
498655ae8e arch/x86: fix compilation errors
fixes the following compilation errors
- sys_cache_line_size was undeclared at first use
- there was an assignment to an rvalue in arch_dcache_flush

Signed-off-by: Maximilian Bachmann <m.bachmann@acontis.com>
2020-10-14 13:27:23 -07:00
Andrei Gansari
b66db222a2 tests: gpio: gpio_port_set_masked_raw overwrite check
Code checks if gpio_port_set_masked_raw overwrites masked pins.
It should detect that the attempt to set only the input pin to zero also
affected the output pin.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-10-14 15:21:34 -05:00
Andrei Gansari
801e2dba42 drivers: fix gpio_mcux_lpc_port_set_masked_raw
Fixes gpio_mcux_lpc_port_set_masked_raw function inside gpio_mcux_lpc
driver. Writing masked data is correctly done using device registers.

Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
2020-10-14 15:21:34 -05:00
Christopher Friedt
de4894ad8b doc: board: cc1352r_sensortag: fix ordered list in index.rst
Minor syntax issue in an ordered list.

Fixes #29089

Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
2020-10-14 13:05:21 -07:00
David Komel
211e5b73c0 kernel: k_busy_wait() should return immediately on zero timeout
When CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT is not defined, cycles_to_wait
is calculated using a division operation. This calculation could take a
significant amount of time (a few microseconds on some architectures,
depending on the system clock).
In the special case of zero usec_to_wait, the function should return
immediately rather than spend time on calculations.
For example, in spi driver (spi_context.h, _spi_context_cs_control()),
k_busy_wait() can be called with zero delay. This can increase spi
transaction time significantly.
Another improvement, is moving the start_cycles initialization
before cycles_to_wait calculation, so the time it takes to calculate
cycles_to_wait will be taken into account.

Signed-off-by: David Komel <a8961713@gmail.com>
2020-10-14 14:52:06 -04:00
Andrei Emeltchenko
c8c9ab028c kconfig: Remove unused configuration option
Remove unused configuration option BOOTLOADER_KEXEC.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2020-10-14 11:49:12 -07:00
Andrei Emeltchenko
5df906f06f pcie: Trivial documentation cleanup
Cleanup PCIE documentation.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2020-10-14 11:49:12 -07:00
Dominik Ermel
e7a21e83f2 fs: Move FAT FS Kconfig options to Kconfig.fatfs
All ELM FAT related Kconfig options have been moved to Kconfig.fatfs.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-10-14 13:19:47 -05:00
Dominik Ermel
bbd38ed6ff fs: Move all LittleFS options to Kconfig.littlefs
CONFIG_FILE_SYSTEM_LITTLEFS has been moved to Kconfig.littlefs.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-10-14 13:19:47 -05:00
Martí Bolívar
25c07e2ad7 doc: document devicetree.h dependency ordinal APIs
Hide these away in the reference documentation for now. It seems
rather unlikely that they'll be used by anything other than internal
infrastructure to get started with.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-14 13:18:44 -05:00
Martí Bolívar
305379e944 devicetree: add first round of dependency ordinal info
Add the first API functions that directly deal with node dependency
ordinals as determined by edtlib:

- DT_DEP_ORD(node_id): node_id's ordinal
- DT_REQUIRES_DEP_ORDS(node_id): list of dep ordinals for node_id's
  direct dependencies
- DT_SUPPORTS_DEP_ORDS(node_id): list of dep ordinals for nodes
  depending directly on node_id
- DT_INST_ equivalents

This is not meant to be an exhaustive set of macros related to
dependency ordinals; rather, it's a starting out point meant to enable
initial struct device dependency tracking work. We can add more if
needed.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-14 13:18:44 -05:00
Joakim Andersson
1c21808808 Bluetooth: GATT: Fix alignment of bt_gatt_resubscribe parameters
Fix alignment of bt_gatt_resubscribe parameters.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-10-14 18:43:00 +02:00
Joakim Andersson
5c5cc87d74 Bluetooth: GATT: Move struct documentation inline
Move struct documentation of member variables to inline documentation,
which is consistent with the rest of the struct definitions.

Removes documentation of a struct variable that does not exist for
bt_gatt_ccc_cfg.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-10-14 18:43:00 +02:00
Joakim Andersson
e000c0a74a Bluetooth: GATT: Remove struct member variables alignment.
Remove struct member alignment that has become broken by the search
and replace of the uintX_t vs uX_t types.
Remove the alignment since maintaining this causes annoying whitespace
changes when a new variable is added with a longer type name.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-10-14 18:43:00 +02:00
Erwan Gouriou
417b4c925d west.yml: hal_stm32: Get latest F1 -pinctrl.dtsi files
Required to get all F1 i2c pinctrls

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-10-14 11:14:15 -05:00
Erwan Gouriou
cb22d8ece7 boards: stm32: Convert boards I2C pins to devicetree
Get STM32 boards configuring I2C using device tree and
remove configuration from pinmux.c

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-10-14 11:14:15 -05:00
Joakim Andersson
34cf1c74c2 Bluetooth: GATT: Fix regression in lazy loading of CCCs
Fix regression in lazy loading handling of GATT CCCs.
Bug introduced by: 00d370b09a
The commit failed to account for ccc_set_direct calling ccc_set.

Fixes: #29150

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-10-14 17:35:22 +02:00
Joakim Andersson
c13588a508 Bluetooth: GATT: Improve service changed static RAM usage when disabled
Improve GATT service changed static RAM usage when the feature has
been disabled.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-10-14 17:18:35 +02:00
Armando Visconti
d5c5a59e6e samples/shields: x_nucleo_iks01a2: Add shub mode sample
The x_nucleo_iks01a2 shield supports both standard (Mode 1) and
sensorhub (Mode 2) modes through proper dip switch selection.
For more information please refer to:
 https://www.st.com/en/ecosystems/x-nucleo-iks01a2.html

This commit moves the original (Mode 1) support under 'standard'
directory and adds the Mode 2 support into 'sensorhub' directory.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2020-10-14 08:41:41 -05:00
Armando Visconti
28390d71f6 board/shields: x-nucleo-iks01a2: Add support to shub mode
Add the overlay file for sensorhub mode and update the
shield documentation.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2020-10-14 08:41:41 -05:00
Thorvald Natvig
e212e4c65a boards: arm: efm32gg_*: Enable OpenOCD
This enables OpenOCD for the EFM32GG11 development kits, but keeps
the default as jlink.

Signed-off-by: Thorvald Natvig <thorvald@natvig.com>
2020-10-14 08:35:20 -05:00
Thorvald Natvig
c3e2a0205a boards: arm: efm32gg_*: Enable SWO logging
This enables SWO logging for the EFM32GG11 development kits.

Signed-off-by: Thorvald Natvig <thorvald@natvig.com>
2020-10-14 08:35:20 -05:00
Thorvald Natvig
b0884498e4 boards: arm: efm32gg_*: Use 72Mhz HFRCO to drive CPU
This makes the 72Mhz HFRCO drive the MCU HF clock, and only uses
the HFXO to drive the ethernet clock.

Signed-off-by: Thorvald Natvig <thorvald@natvig.com>
2020-10-14 08:35:20 -05:00
Thorvald Natvig
8db1e20639 boards: arm: efm32gg_*: Enable TRNG
This defines the TRNG for EFM32GG11 and enables it for trng0
in the dts for the matching development kits.

Signed-off-by: Thorvald Natvig <thorvald@natvig.com>
2020-10-14 08:35:20 -05:00
Thorvald Natvig
f629d4edae boards: arm: efm32gg_*: Enable watchdog
This defines wdog0 and wdog1 for the EFM32GG11 MCU and enables wdog0
in the dts for the matching development kits.

Signed-off-by: Thorvald Natvig <thorvald@natvig.com>
2020-10-14 08:35:20 -05:00
Martí Bolívar
f752c5eeec west build: fix --pristine on early build system failure
The west build command has historically tried not to rm -rf
directories that don't look like zephyr build directories. The way it
does this is by checking for the presence of a CMake cache
with a Zephyr-specific variable (ZEPHYR_TOOLCHAIN_VARIANT) in it.

The problem with this approach is that if the build system fails
before this cache variable is set, the directory doesn't look like a
zephyr build directory, and therefore west build won't make it
pristine even with --pristine=always, even though build directories
resulting from failed runs like that are almost certainly
irrecoverably broken and need to be made pristine before anything will
work.

This leads to users having to rm -rf their directories manually, which
is not so nice.

To avoid this from happening, just check for ZEPHYR_BASE, which is
set early on in ZephyrConfig.cmake in 'modern' zephyr build systems.
Keep the ZEPHYR_TOOLCHAIN_VARIANT check in place for compatibility.

We could consider being less selective and just using shutil.rmtree()
whenever we have --pristine=always, but that would be a bigger
behavioral change than I'm comfortable doing without a good reason.

Fixes: #28876
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-14 07:22:32 -05:00
Armand Ciejak
430c229568 eth: mcux: Use different RX and TX buffers for each instance
Before the same buffers were used by both instances leading to
data corruption.

Signed-off-by: Armand Ciejak <armand@riedonetworks.com>
2020-10-14 07:19:09 -05:00
Martin Jäger
cd908d9085 boards: arm: stm32: use DT for ADC pinmux
Use the new DT facilities to configure ADC pinmux on all boards with
STM32 MCUs currently supporting the ADC.

Signed-off-by: Martin Jäger <martin@libre.solar>
2020-10-14 07:15:12 -05:00
Martin Jäger
72947484f1 dts: arm: stm32h7: Fix adc1/2 nodes
While the STM32H7 features a special dual mode operation for ADC1 and
ADC2, the register specified for adc1_2 node was actually the one for
ADC1 in normal single mode operation.

This commit fixes register for dual mode and adds adc1 and adc1 nodes.

Signed-off-by: Martin Jäger <martin@libre.solar>
2020-10-14 07:15:12 -05:00
Martin Jäger
72d395a897 drivers: adc: stm32: add support for pinmux
Add support for DT based pinmux configurations.

Signed-off-by: Martin Jäger <martin@libre.solar>
2020-10-14 07:15:12 -05:00
Jakub Rzeszutko
6ed13678b8 adc_shell: rework commands
ADC shell commands can be only executed on the property label
existing in the device tree. It is realized by the dynamic subcommand
returning existing ADC Label.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2020-10-14 14:12:54 +02:00
Jakub Rzeszutko
333e5e0166 adc_shell: extend channel command
The channel command has been extended with subcommands: id, positive,
and negetive. Some boards require positive input configuration before
measurement can be started.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2020-10-14 14:12:54 +02:00
Jakub Rzeszutko
fb653608b4 adc_shell: use shell to validate arguments count
Use dedicated shell macros so argument count can be validated before
the command handler is executed. This change simplifies the command
handlers implementation inside the adc_shell file.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2020-10-14 14:12:54 +02:00
Jakub Rzeszutko
ceb3c4c576 adc_shell: introduce dictionary commands
Changed gain and reference commands to dictionary commands.
This change removes an obsolete look-up table (string <-> value)
for gain and reference commands.
Now, each modification of gain or reference value will require only
a dictionary command update.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2020-10-14 14:12:54 +02:00
Erwan Gouriou
91e9fde778 drivers/serial: stm32f1: REMAP_FULL is not a possible remap value
'remap' value can never be REMAP_FULL for usart.
Fix this value depending on the usart instance.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-10-14 07:11:46 -05:00
Krzysztof Chruscinski
2d247ccf70 tests: drivers: clock_control: Change errno in the test
Aligned error code to API change.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:56 +02:00
Krzysztof Chruscinski
b5919479c4 drivers: clock_control: nrf: Change errno for clock_control_async_on
Aligned returned errno with API.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:56 +02:00
Krzysztof Chruscinski
61f710b47c doc: release-notes: Add note about clock control API change
Added note about change in clock_control_async_on

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:56 +02:00
Krzysztof Chruscinski
a348cec400 drivers: clock_control: Change clock_control_async_on parameters
Stable API change: modify parameters of clock_control_async_on which
previously took a structure which contains list node, callback and user
context. Removing list node and replacing structure with two parameters:
callback and user context. List node is removed because it has no use
in current API.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:56 +02:00
Krzysztof Chruscinski
a1a0ffd0d1 board: arm: nrf: Set uart0 compatible to nordic,nrf-uarte
Update nordic boards to use UARTE driver for UART0 by default.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:25 +02:00
Krzysztof Chruscinski
db6bfde8b3 drivers: serial: nrfx_uarte: Refactoring poll_out
Refactoring poll_out to be ready for handling preemption. uart_tx and
uart_fifo_fill modified so they are resilient to being preempted by
uart_poll_out.

Refactored uart_poll_out implementation to be common for interrupt
driven API and asynchronous API. In both APIs active state is detected
by evaluating state of ENDTX and TXSTOPPED events. If anyone is set it
means that new transfer can be started.

Patch is fixing existing issues:
- potential bytes dropping with flow control enabled
- busywaiting for ENDTX (asynchronous API) - poor performance
- potential bytes dropping during preemption
- potential uart_tx returning -EBUSY when interrupted poll_out

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:25 +02:00
Krzysztof Chruscinski
00edf738c5 tests: drivers: uart: Add test suite for preemption resilience
Added test which is calling uart_poll_out from various contexts and
asynchronous/interrupt driven API. Test is validating that calls
can be preempted at any moment and no data is lost.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:25 +02:00
Maureen Helm
f8924af3ce dts: arm: Fix k6x ethernet base address
Commit ac31c4e458 updated the mcux
ethernet driver to get the ethernet peripheral base address from device
tree instead of an nxp hal preprocessor macro. This exposed an error in
the k6x device tree and caused a runtime assertion in networking
applications on the frdm_k64f board:

ASSERTION FAIL [instance < (sizeof(s_enetBases) / sizeof((s_enetBases)[0]))] @ WEST_TOPDIR/modules/hal/nxp/mcux/drivers/kinetis/fsl_enet.c:323

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-10-14 07:05:21 -05:00