Commit graph

54523 commits

Author SHA1 Message Date
Daniel Leung
c661765f1d arm: cortex-m: setup TLS pointer before switching to main
The TLS global pointer is only set during context switch.
So for the first switch to main thread, the TLS pointer
is NULL which would cause access violation when trying
to access any thread local variables in main thread.
Fix it by setting it before going into main thread.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-07-30 20:16:47 -04:00
Efrain Calderon
5274aa5dc2 drivers: bme280: fetch data after measurement is done
After powering-on the sensor, and before every measurement, it loads
the NMV. We must wait until this process is completed otherwise
we will read weird values.
Since it was observed that the time may be a bit long after a cold
start, it is more convinient to just wait until the sensor iready,
without a timout.

Signed-off-by: Efrain Calderon <efrain.calderon@aquarobur.com>
2021-07-30 20:15:56 -04:00
Efrain Calderon
c009450d44 drivers: bme280: do soft reset after boot
To ensure that we have the same behaviour with a power cycle
and by pressing the reset button, we can perform soft reset
in `bme280_chip_init()`.

Signed-off-by: Efrain Calderon <efrain.calderon@aquarobur.com>
2021-07-30 20:15:56 -04:00
Efrain Calderon
86e656b640 drivers: bme280: fix: build broken after PM changes
The driver did not build with PM_DEVICE enabled.
commit to blame: cc2f0e9c08

Signed-off-by: Efrain Calderon <efrain.calderon@aquarobur.com>
2021-07-30 20:15:56 -04:00
Carlo Caione
abb2321d6d ipc: Fix struct name
s/rpsmg_mi_ctx_cfg/rpmsg_mi_ctx_cfg/

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-07-30 20:06:14 -04:00
Carlo Caione
a9fc1d6c4d ipc: Make the IPM instance index starting from 0
In the current code the naming of the
CONFIG_RPMSG_MULTI_INSTANCE_?_IPM_{TX,RX}_NAME symbol is 1-based. While
this is not currently an issue, it could easily become such if the
symbol is programmatically used as part of a preprocessor enumeration
(for example when using DT_INST_FOREACH_STATUS_OKAY(...) & co).

To avoid trouble, just make the index starting from 0 instead than 1.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-07-30 20:06:14 -04:00
Carlo Caione
20a2aa3faf ipc: Create ipc_service sub-directory for backends
Move the ipc_service backends into an ipc_service sub-directory.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-07-30 20:06:14 -04:00
Carlo Caione
e13213cafb ipc: Cleanup ipc_service and rpmsg_multi_instance code
No functional changes. Only a bit of code cleanup and refactoring.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-07-30 20:06:14 -04:00
Andrzej Głąbek
069bac094d samples: boards: nrf: Add an nrfx peripheral resource sharing sample
Add a sample that shows how to use in Zephyr nRF peripherals that
share the same ID and base address. Such peripherals cannot be used
simultaneously, but it is possible to switch between them. However,
currently it is not possible with Zephyr APIs, only using nrfx drivers
directly. This sample shows how to realize such switching for selected
peripheral instances while using standard Zephyr drivers for others.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-07-30 20:03:49 -04:00
Krzysztof Chruscinski
6024bbc601 logging: Split log_core into two files
Extract functions which are managing logging sources
and backends into separate file: log_mgmt.

So far those functions were in log_core mixed with functions
specific to log message creation and log processing.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-07-30 19:58:13 -04:00
Tim Lin
733cd7ccd8 ITE: drivers/adc: it8xxx2: access pinctrl_0 property from soc_dt.h
This PR will cleanup related pinctrl_0 property which has been
moved to soc_dt.h

TEST=alternate function is as intended.
console command: md .b 0xf01650 8
00F01650: 00 00 00 00 80 00 00 80
TEST=read adc
console command: adc
ADC_VBUS_C0 = 11330 mV
ADC_BOARD_ID_0 = 2997 mV
ADC_BOARD_ID_1 = 1318 mV
ADC_AMON_BMON = 68166 mV
ADC_VBUS_C1 = 12270 mV
ADC_PMON = 32 mV
ADC_PSYS = 32 mV

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-07-30 19:54:56 -04:00
Saleh Mehdikhani
36f934113f Bluetooth: Host: direction: Fixing the bug to support 1us slot
There was an issue with receiving CTE packets when the time
slot has changed from 2us to 1us. After receiving the packets
when it tries to enable receiving of CTE, the validator
returns EINVAL error.

Source of the problem is "validate_cte_rx_params" function,
it calls DF_AOA_RX_1US_SUPPORT(df_ant_info.switch_sample_rates)
which is expanded to:
((df_ant_info.switch_sample_rates) & BIT((BT_HCI_LE_1US_AOA_RX)))

And due to definition of BT_HCI_LE_1US_AOA_RX in hci.h it will be:
((df_ant_info.switch_sample_rates) & BIT(BIT(2)))

So the BIT operation has executed two times.

Signed-off-by: Saleh Mehdikhani <saleh.mehdikhani@unikie.com>
2021-07-30 19:54:42 -04:00
Yuriy Vynnychek
fe0b9e85a3 drivers: flash: introduce new Telink B91 Flash driver
Flash driver basic support for Telink B91 platform.

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-07-30 19:53:04 -04:00
Yuriy Vynnychek
4962e03d58 boards: riscv: tlsr9518adk80d: add Telink B91 Flash driver support
Added Flash driver board level support.

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-07-30 19:53:04 -04:00
Yuriy Vynnychek
313e29b87d dts/bindings: add Telink B91 Flash driver support
Added Flash driver dts bindings support for Telink B91 platform.

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-07-30 19:53:04 -04:00
Greg Leach
42b05fa024 boards: add mcp7940n to bl5340_dvk
Adding mcp7940n and attached pins to board dts file

Signed-off-by: Greg Leach <greg.leach@lairdconnect.com>
2021-07-30 19:51:29 -04:00
Kieran Mackey
94e006f0fc drivers: counter: add driver for Microchip MCP7940N RTCC
Microchip MCP7940N is a Real-Time Clock/Calendar. It operates on a I2C
bus. It can be used to set a calendar time and has two alarm channels.
When an alarm is asserted the state of the MPF pin of the MCP7940N will
change (depending on gpio active high/active low setting) to trigger an
interrupt.

Signed-off-by: Kieran Mackey <kieran.mackey@lairdconnect.com>
2021-07-30 19:51:29 -04:00
Michał Mieszczak
dfa660de8f boards: arm: Enable USB for stm32f103_mini board
Enable USB on pins PA11 and PA12.

Signed-off-by: Michał Mieszczak <michal@mieszczak.com.pl>
2021-07-30 19:51:03 -04:00
Michał Mieszczak
c899045ce4 boards: arm: Use HSE for stm32f103_mini board
Change clock freqency to 72MHz and source to HSE.

Signed-off-by: Michał Mieszczak <michal@mieszczak.com.pl>
2021-07-30 19:51:03 -04:00
Gerard Marull-Paretas
89f6c8a39d Revert "ci: doc: enable debug for aws s3 step"
This reverts commit 40a5cf6016. Debug
information is no longer necessary as doc-publish workflow is now
working correctly.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 16:55:00 -04:00
Gerson Fernando Budke
62ba4723d4 drivers: serial: uart_sam0: Add pinctrl support
Add Atmel sam0 sercom[uart] pinctrl bindings and implements pinctrl at
driver level.  It changes all sam0 boards to use new feature and remove
pinmux driver dependency for sercom[uart].  The samples that require a
binding were update to keep consistency and avoid errors.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-07-30 14:37:20 -05:00
Gerson Fernando Budke
c9879a58f7 dts: atmel_sam0: Add pinctrl structure
Add Atmel sam0 MCU series pinctrl devicetree bindings and
infrastructure.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-07-30 14:37:20 -05:00
Gerson Fernando Budke
6de5f4d729 soc: atmel_sam0: common: Add soc_port
Introduce soc_port common functions.  The sam0 pinmux driver was
refactored to use soc_port_pinmux_set common function.

This create the common base to implement sam0 pinctrl functions.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-07-30 14:37:20 -05:00
Kumar Gala
94485364e9 ci: Update daily build to use SDK 0.13.0-rc4
Update daily image to docker v0.17.6 to get SDK 0.13.0-rc4 for
testing purposes.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-07-30 14:09:56 -04:00
Maureen Helm
fa505f9d58 boards: arm: Add PWM LEDs to the mimxrt685_evk board
Adds support for PWM LEDs (red, green, blue) to the mimxrt685_evk board
by adding devicetree nodes and aliases, and configuring the associated
pinmuxes. The red PWM LED is disabled by default because it's connected
to the same PWM channel as the blue PWM LED.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-07-30 13:08:03 -05:00
Mahesh Mahadevan
ca88a6122e test: drivers: buildall: Update to add LPC PWM
Add support for PWM on MXRT685

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-07-30 13:08:03 -05:00
Mahesh Mahadevan
cd5e06de94 tests: drivers: pwm: pwm_api: add support of RT600 EVK boards
Add support for NXP RT600 EVK board

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-07-30 13:08:03 -05:00
Mahesh Mahadevan
d1e4d0042f boards: RT600: Add PWM support
Add PWM support for RT600

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-07-30 13:08:03 -05:00
Mahesh Mahadevan
18f6718c30 soc: RT600: Add PWM support
Add PWM support for RT600

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-07-30 13:08:03 -05:00
Mahesh Mahadevan
5f636286d3 drivers: pwm: Add PWM support for NXP LPC devices
Add PWM support using the LPC SCTimer module

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-07-30 13:08:03 -05:00
Gerard Marull-Paretas
40a5cf6016 ci: doc: enable debug for aws s3 step
Enable debug mode and disable quiet option. It should help diagnosing
AWS S3 problems. Some prints have also been added to spot potential
problems.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 13:59:13 -04:00
Gerard Marull-Paretas
5268f28e93 ci: doc: use copy for PDF
Use `cp` instead of `sync` for the PDF file.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 13:59:13 -04:00
Gerard Marull-Paretas
adb59f1cc1 ci: doc: expose head branch to aws s3 upload step
`github.event.workflow_run.head_branch` contains the actual release tag
on releases, so it is required. It does not affect the publication of
"latest".

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 13:59:13 -04:00
Gerard Marull-Paretas
ec9346c605 pm: device: add deprecated busy APIs
Add old APIs marked as deprecated. The API keep the same behavior as
before, so external users have time to migrate their codebase.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 09:28:42 -04:00
Gerard Marull-Paretas
caf3369927 pm: adjust function prototype argument name
The argument name did not match with the name found in the definition.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 09:28:42 -04:00
Gerard Marull-Paretas
6354b8e723 doc: release: add details on device busy check API changes
Explain device busy API name changes and provide an equivalence list to
ease migration.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 09:28:42 -04:00
Gerard Marull-Paretas
6c3beb928e pm: adjust busy check API call return types and naming
Busy check APIs now return boolean type. Due to that change, the
function names have also been adjusted. The common name pattern for
boolean check type APIs is "PREFIX_is_CONDITION". For example,
"pm_device_is_busy".  pm_device_busy_check has been renamed to
pm_device_is_busy and pm_device_any_busy_check to pm_device_is_any_busy.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 09:28:42 -04:00
Gerard Marull-Paretas
77728e16df pm: device: improve usage of the atomic flags field
- Use an enum for the available flags
- Use ATOMIC_DEFINE macro to declare the flag bit field
- Improve naming

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 09:28:42 -04:00
Gerard Marull-Paretas
90c61a3702 tests: kernel: device: remove redundant busy set and clear
The test_dummy_device test has nothing to do with device busy testing,
so remove the calls to pm_device_busy_set/pm_device_busy_clear.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 09:28:42 -04:00
Gerard Marull-Paretas
70322853a8 pm: device: move device busy APIs to pm subsystem
The following device busy APIs:

- device_busy_set()
- device_busy_clear()
- device_busy_check()
- device_any_busy_check()

were used for device PM, so they have been moved to the pm subsystem.
This means they are now prefixed with `pm_` and are defined in
`pm/device.h`.

If device PM is not enabled dummy functions are now provided that do
nothing or return `-ENOSYS`, meaning that the functionality is not
available.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 09:28:42 -04:00
Gerard Marull-Paretas
775cf55d92 doc: add link to download PDF file
Add a new downloads section with a link to the Zephyr PDF docs.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
f650710ba7 ci: doc: adjust build workflow name
Adjust the name to "Documentation Build".

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
1c41b5dae8 ci: doc: refactor doc publish
Publish action has been refactored into a workflow_run based action.
The action is now triggered after a successful doc-build workflow run
(only on main/release branches). The artifacts are downloaded from the
build run and published accordingly. Publish code has been simplified a
bit and PDF upload has been added.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
0e0da34f41 ci: doc: set doc tag when building
Set the correct dog tag based on the Github event name.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
95156ce0be ci: doc: do not succeed if artifact upload fails
Artifacts will be required for the publish workflow, so do not let the
build workflow succeed without them being uploaded correctly.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
cffc9319ac ci: doc: use an env var to store west version
Storing west version in a single place avoids keeping duplicates in each
job. Also added a note on why pinning version is important: west
docstrings are extracted from the installed version.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
8b03337fe1 ci: doc: run doc build on schedule and releases
The documentation build workflow is re-used for the periodic build and
releases.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
24446ac5a9 ci: doc: remove unnecessary west path update step
The step is not necessary to build the docs correctly, so remove it.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
77a39a4b51 ci: doc: use the hash of requirements file as cache key
The pip cache should be discarded if any of the required dependencies
changes, so use the hash of the requirements file as a key source.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas
3fbb8ba039 ci: doc: do not let west init fail
Modules are required to generate, for example, full Kconfig docs.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00