Commit Graph

9422 Commits

Author SHA1 Message Date
Vinayak Kariappa Chettimada
93728bf0ca Bluetooth: Add Periodic Advertising ADI support
Add support in Bluetooth Host to enable Periodic Advertising
ADI support feature when supported in the Controller to
include ADI in Periodic Advertising AUX_SYNC_IND PDU.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-07-28 20:53:14 +02:00
Dylan Hung
662acc277e dts: bindings: clock: add binding for Aspeed AST10x0 clock
Add binding for Aspeed AST10x0 clock driver.  The clocks can be turned
on or off through the syscon registers.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
2022-07-28 08:30:27 +02:00
Emil Gydesen
d4b132a059 Bluetooth: Audio: Unicast client read available contexts
Read the available contexts during discovery and subscribe
for notifications.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-28 08:29:29 +02:00
Francois Ramu
efa4d2c42a include: clock: stm32h7 helper for this serie
For the stm32h7x3 and stm32h7x5 there is a octospi
clock configuration in the D1CCIPR register

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-07-27 18:46:25 +02:00
Andreas Sandberg
61306aedb4 drivers: ssd16xx: Add an API to read raw RAM contents
Add the ssd16xx_read_ram() function that can be used to read the raw
contents of the two display RAM in the controller. This function is
similar to display_read(), but lets the caller specify the RAM to
operate on. The intention is that this can be used to read out the
contents of the old frame buffer after a partial refresh that
automatically swaps the black/red buffers.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2022-07-27 18:45:47 +02:00
Glauber Maroto Ferreira
17c29befc9 esp32: dt-bindings: clock_control: add RTC clock definitions
Add RTC source clock frequency definitions to
clock_control dt bindings.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-27 09:48:33 +02:00
Simon Hein
c1288208ce include: zephyr: comply to coding guidelines MISRA C:2012 Rule 14.4
MISRA C:2012 Rule 14.4 (The controlling expression of an if statement
and the controlling expression of an iteration-statement shall have
essentially Boolean type.)

Use comparisons with NULL instead of implicitly testing pointers.
Use `do { ... } while (false)' instead of `do { ... } while (0)'.
Use comparisons with zero instead of implicitly testing integers.

The commit is a subset of the original auditable-branch commit:
5d02614e34a86b549c7707d3d9f0984bc3a5f22a

Signed-off-by: Simon Hein <SHein@baumer.com>
2022-07-26 15:30:11 -04:00
Thomas Stranger
5bdca4566f drivers/clock_control: stm32u5 add pll2, pll3 clk src/div definitions
This commit adds necessary definitions in stm32_clock_control.h
to enable pll2, and pll3 support by:
- reusing existing pll3 divider definitions introduced for h7 series.
- adding pll2 divider definitions, and including them for u5 only.
- introducing clock source definitions for pll2 and pll3
  contrary to h7 u5 can select the clock sources for the 3 plls
  individually.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-25 15:57:12 -07:00
Thomas Stranger
1e67957ad9 dts: stm32u5 add pll2 and pll3 nodes and add them as clk sources
This commit adds the pll2 and pll3 clock control nodes
with st,stm32u5-pll-clock compatible.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-25 15:57:12 -07:00
Andrew Jackson
e183671808 kernel: Add k_event_set_masked primitive
There is no easy way to clear event bits without
the potential for a race to exist between producer(s)
and consumer(s). The result of this race is that events
can be lost through the various resetting mechanisms
available (flag to k_event_wait(), or k_event_set()).

Add k_event_set_masked() which permits bits to be set or cleared.
This allows consumers to clear just the bits that they have read
without (accidentally) discarding any new bits.

Update unit tests to verify the functionality.

Partly Fixes #46117.

Signed-off-by: Andrew Jackson <andrew.jackson@amd.com>
2022-07-25 15:24:32 -04:00
Andrew Jackson
e7e827a0d2 kernel: Use mask rather than boolean to update events
Although there is nothing wrong with the existing code,
it doesn't permit individual bits to be set (or cleared).
This makes further changes slightly awkward.

Use a mask to restrict the bits set in an event.

Signed-off-by: Andrew Jackson <andrew.jackson@amd.com>
2022-07-25 15:24:32 -04:00
Thomas Stranger
4f632b0ca2 dt-dindings/clock: add HSE as clock source for stm32g0 and stm32g4
HSE is a valid alternate clock source for these series,
therefore STM32_SRC_HSE is added in this commit.

Both series can use HSE as an alternate clock source for USB and FDCAN.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-25 15:17:00 +02:00
Andrzej Głąbek
82bf0a6f17 include: drivers: adc: Fix initialization order in ADC_CHANNEL_CFG_DT
... so that the macro can be used in C++ code.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-07-25 11:14:43 +00:00
Emil Gydesen
efb0313e84 Bluetooth: Audio: Fix typo in BT Audio Location
Fix typo in "beck" which should have been "back".

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-21 13:13:58 -05:00
Krzysztof Chruscinski
15fdee04e3 logging: log_output: Add function for processing input arguments
Add function which formats a logging string from input parameters
and not from logging message. This function is more flexible since
it does not require data to be placed in the log message.

Converted a function for message processing to used this new function
internally.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-07-21 09:04:37 -04:00
Benjamin Björnsson
2399145406 include: zephyr: Add missing guard macro
Add guard macros to header files for consistency.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2022-07-20 13:39:23 -05:00
Ahmed Moheb
e22d5bcb59 bluetooth: Fix bt_buf_get_rx() documentation
Edit the 'type' parameter description that describes the
allowed input values in order to match the implementation

Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
2022-07-20 11:09:16 +02:00
Aleksander Wasaznik
58c5e32e08 Bluetooth: Host: Disable host-based RPA resolution when !BT_PRIVACY
Change doc of CONFIG_BT_PRIVACY to explicitly say it's needed for both
generating and resolving RPAs.

Disable host-based RPA resolution in `bt_conn_le_create` when
!CONFIG_BT_PRIVACY.

Update doc of `bt_conn_le_create` to document that CONFIG_BT_PRIVACY is
a requirement for resolving RPAs. Also explictly say that this function
will resolve private identities. Also explain the expected effect of
Network Privacy on this function.

Reduce coupling to `bt_le_create_conn_ext` and
`bt_le_create_conn_legacy` in `bt_conn_le_create` by just use
`resp_addr` when it's set, instead of "knowing" when it had been set.
The alternative would be to also update `bt_le_create_conn_ext` and
`bt_le_create_conn_legacy` to have `(IS_ENABLED(CONFIG_BT_PRIVACY) &&
(!bt_dev.le.rl_size || bt_dev.le.rl_entries > bt_dev.le.rl_size))`

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2022-07-20 10:48:09 +02:00
Kumar Gala
8fb2210cfb emul: remove name param from bus register APIs
Rework the <BUS>_emul_register calls to not pass the name param.  The
name param is only used for logging and we can get it from the
struct <BUS>_emul instead.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-19 15:52:36 -05:00
Aaron Massey
fc98549952 emul: Use DEVICE_DT_GET instead of DT_LABEL
DT nodes aren't guaranteed to define a label property. But emulated bus
controllers currently make use of this property to dispatch to the
associated emulator.

Have emulated bus controllers use DEVICE_DT_GET(node_id) to dispatch to
right target peripheral emulator. This also change makes emul_get_binding
and device_get_binding synonymous in behavior with respect to their
parameters.

This also strictly enforces a 1:1 correspondence between invocations of
DEVICE_DT_DEFINE and EMUL_DEFINE.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2022-07-19 11:43:30 -05:00
Aaron Massey
9d7b9dc807 emul: Simplify emulator bus initialization and API
Allow emulator creators to write an init function that can be used
across multiple busses so as to reduce the boilerplate and cognitive
load in creating an emulator.

Part of this change includes allowing access to the emul struct from a
field in a {bus}_struct api (e.g. i2c_struct), which removes the need for
sporadic usages of CONTAINER_OF to access the emul struct.

Overall, this change simplifies and reduces the amount of boilerplate
code to get a device emulator up and running, thus reducing excise work
to writing tests.

TEST=twister on accel,espi, and eeprom drivers tests

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2022-07-19 11:43:30 -05:00
Aaron Massey
1028459afd emul: Run clang-format
Run clang-format on all files touched by improved emulator API pull-request
that allowed access to the target device emulator from its bus api without
CONTAINER_OF usage.

drivers/i2c/i2c_emul.c
drivers/spi/spi_emul.c
include/zephyr/drivers/emul.h
include/zephyr/drivers/espi_emul.h
include/zephyr/drivers/i2c_emul.h
include/zephyr/drivers/spi_emul.h
subsys/emul/emul.c
subsys/emul/emul_bmi160.c
subsys/emul/espi/emul_espi_host.c
subsys/emul/i2c/emul_atmel_at24.c

TEST=twister on accel,espi, and eeprom drivers tests

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2022-07-19 11:43:30 -05:00
Emil Gydesen
df75bfd8f6 Bluetooth: Audio: Add PACS location read for unicast client
The unicast client will now read the PACS location value
during the discovery procedure, as well as subscribing to
it.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-19 12:27:00 +00:00
Gerard Marull-Paretas
2828578c25 pm: device: provide dummy pm_device_state_get if CONFIG_PM_DEVICE=n
When CONFIG_PM_DEVICE=n a device will always be in active state. Provide
a dummy implementation of pm_device_state_get that always returns
PM_DEVICE_STATE_ACTIVE.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-07-19 12:25:13 +00:00
Fredrik Danebjer
c0ab35a997 Bluetooth: GATT: Add LE Secure Connections Permission Check
Added possibility to enforce that a LE Secure Connection is required
for reading and writing characteristics, i.e. providing a more fine
grained check that allows services that requires secure connection
to co-exists with those that doesn't.

Signed-off-by: Lars Knudsen <larsgk@gmail.com>
Signed-off-by: Fredrik Danebjer <fredrik@danebjer.com>
2022-07-19 10:32:56 +02:00
Yuval Peress
82caf98dde cbprintf: fix missing field initializer warning
When compiling with '-Werror=missing-field-initializers', the cbprintf
header causes an error since 'off' isn't initialized.

Signed-off-by: Yuval Peress <peress@google.com>
2022-07-19 10:29:53 +02:00
Martí Bolívar
7d7988d1a9 devicetree: clarify FOREACH_CHILD behavior
The children are iterated over in the same order they appear in
zephyr.dts, but this isn't documented. Clarify the order.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-07-18 17:50:44 -05:00
Kumar Gala
1525a352b9 drivers: gpio: esp32: Remove unused code
Remove gpio_esp32_get_gpio_for_pin as its no longer used.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-18 18:42:20 +02:00
Emil Gydesen
577caf774e Bluetooth: Audio: User _ prefix for sys_snode_t nodes
The sys_snode_t nodes are used internally, and we use the
convention of the "_" prefix to indicate that this is
an internally used value.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-18 18:30:43 +02:00
Emil Gydesen
468bd4d852 Bluetooth: Audio: Modify broadcast source to use a list of streams
Modify from array to list. The list approach is easily
implemented as it is used for the unicast groups, and
using the list approach instead of an array does not
require the array to be static.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-18 18:30:43 +02:00
Carlo Caione
b1242522c4 riscv: Use STRINGIFY for CSR helpers
We usually want to be able to access CSR using:

1. the explicit name of the register:
     csr_read(mstatus);

2. the numeric equivalent of the register:
     csr_read(0xB00);

3. the numeric equivalent of the register using some defines:
     #define REG 0xB00
     csr_read(REG)

Currently Zephyr only allows the first two cases, throwing an error when
trying to use the case 3.

Fix this and support all the cases by forcing the CSR helpers to use the
STRINGIFY() macro.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-07-18 12:22:00 -04:00
Krzysztof Chruscinski
b6dcdb17f9 lib: os: spsc_pbuf: Improve data cache configuration
Use CONFIG_DCACHE_LINE_SIZE to determine distance between
fields modified by different cores.
Add option which specifies what is the data cache line
of the remote core. Maximum from local and remote cache
line sizes is used as distance and alignement.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-07-18 12:21:16 -04:00
Tomislav Milkovic
0fe2c1fe90 everywhere: Fix legacy include paths
Any project with Kconfig option CONFIG_LEGACY_INCLUDE_PATH set to n
couldn't be built because some files were missing zephyr/ prefix in
includes
Re-run the migrate_includes.py script to fix all legacy include paths

Signed-off-by: Tomislav Milkovic <milkovic@byte-lab.com>
2022-07-18 16:16:47 +00:00
Emil Gydesen
eab6d202ca Bluetooth: Audio: Add unicast server stream reconfigure
Add support for the reconfigure procedure for the unicast
server.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-18 13:18:35 +00:00
Emil Gydesen
b74aa44df5 Bluetooth: Audio: Add unicast server stream start
Add support for the unicast server to start a stream.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-18 13:18:35 +00:00
Emil Gydesen
49c0074b81 Bluetooth: Audio: Add unicast server stream metadata
Add support for setting metadata as the unicast server role.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-18 13:18:35 +00:00
Emil Gydesen
a79318f627 Bluetooth: Audio: Add unicast server stream disable
Add support for disabling streams as the unicast
server.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-18 13:18:35 +00:00
Emil Gydesen
a22bbee33a Bluetooth: Audio: Add unicast server stream release
Update bt_audio_stream_release to also support the unicast
server.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-07-18 13:18:35 +00:00
Kumar Gala
b4aea5a91d storage: flash_map: use DT_LABEL macro
Change code to use DT_LABEL macro so its more obvious what is going on.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-17 16:43:31 -05:00
Jonathan Rico
f8531fd379 Bluetooth: doc: Add warning for bt_data_parse
The fact that the function consumed its argument was not clear previously.

Fixes #47676.

The alternative is to change the API to not consume the data, but as it's
an API change, I suggest we only add the warning.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2022-07-15 22:26:13 +00:00
Kumar Gala
46f4513573 devicetree: deprecate DT_BUS_LABEL variants
Deprecate DT_BUS_LABEL and DT_INST_BUS_LABEL as we phase out
'label' property usage in favor of DT_BUS and variants.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-15 11:05:12 -07:00
Wojciech Slenska
fd64cdf0be drivers: modem: Added missing extern "C"
This change allows to include those headers directly from cpp file.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2022-07-15 08:30:28 -05:00
Gerard Marull-Paretas
f400c94adf arch: arm: aarch32: cortex_m: fault: use CMSIS CFSR defines
We can use definitions provided by "standard CMSIS" to access
MEMFAULT/BUSFAULT/USGFAULT fields in CFSR.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-07-15 11:51:12 +00:00
Gerard Marull-Paretas
f03eab0116 arch: arm: aarch32: cortex_m: move CPACR definitions to cpu.h
Equivalent CPACR definitions for Cortex-A/R and ARM64 are all placed in
the architecture cpu.h header, do the same for Cortex-M.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-07-15 11:51:12 +00:00
Jonathan Rico
ffefce7745 Bluetooth: host: Rewrite bt_gatt_notify_multiple
This API now becomes a low-level API, in the sense that it should only be
used if the app developer knows what he is doing and wants to ensure a
ATT_MULTIPLE_HANDLE_VALUE_NTF PDU goes on-air.

For the other 99% of use cases, `bt_gatt_notify` should instead be used, as
it will automatically upgrade to ATT_MULTIPLE_HANDLE_VALUE_NTF when
possible.

One can disable the batching of notifications when using `bt_gatt_notify`
by setting CONFIG_BT_GATT_NOTIFY_MULTIPLE_FLUSH_MS=0 .

This API doesn't support lookup by UUID any more.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2022-07-15 12:17:29 +02:00
Aleksander Wasaznik
c7047e9690 Bluetooth: Host: Update API bt_gatt_notify_multiple
This API shall now be a more low-level API that sends a single PDU.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2022-07-15 12:17:29 +02:00
Mariusz Skamra
6c1373fab6 Bluetooth: audio: Fix possible compilation error
This fixes possible "unknown type name 'uint16_t'" compilation error
of bt_codec_lc3_frame_len members.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2022-07-15 10:00:21 +02:00
Mulin Chao
24fb705cdd npcx: scfg: psl: cleanup unused functions and DT files
Clean up unused psl functions in scfg.c, unused DT macros, unused psl DT
nodes and related yaml files. Currently, PSL pad configurations are made
by pinctrl mechanism. Please refer
https://issuetracker.google.com/234861079 for more detail.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2022-07-15 10:00:15 +02:00
Kumar Gala
1fc243c73d devicetree: gpio: deprecate DT_GPIO_LABEL variants
Deprecate DT_GPIO_LABEL, DT_INST_GPIO_LABEL, DT_GPIO_LABEL_BY_IDX,
and DT_INST_GPIO_LABEL_BY_IDX as we phase out 'label' property usage
in favor of DT_GPIO_CTLR and variants.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-15 09:59:59 +02:00
Kumar Gala
78f91a1be2 devicetree: spi: deprecate DT_SPI_DEV_CS_GPIOS_LABEL variants
Deprecate DT_SPI_DEV_CS_GPIOS_LABEL and DT_INST_SPI_DEV_CS_GPIOS_LABEL
as we phase out 'label' property usage in favor of
DT_SPI_DEV_CS_GPIOS_CTLR and variants.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-15 09:59:59 +02:00