Commit Graph

68972 Commits

Author SHA1 Message Date
Daniel DeGrasse
d70db21760 drivers: flash: soc_flash_lpc: enable support for lpc54xxx IAP
Add support for LPC54xxx IAP flash driver to soc_flash_lpc.c
Driver is tested on M4 core only, and is therefore disabled on the M0 core.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
0cbe63de7d boards: mimxrt1160_evk: update documentation to indicate flexspi support
Update board documentation to indicate support for using flexspi as
a flash controller device

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
2b38b02470 dts: arm: nxp_rt: Remove flexspi2 on RT SOCs that don't have it
Remove flexspi2 node for NXP's iMX.RT SOCs that only have one flexspi
controller

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
e99788ba6a boards: mimxrt1024_evk: Update flexspi partition layout and device name
Update flexspi partition layout to add a 128KB storage partition. Also,
fix flash device name and size to match the SIP flash present on
the RT1024 SOC.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
0811d325b3 boards: mimxrt1064_evk: document flexspi support
Document support for flexspi as flash controller on mimxrt1064_evk, and
move status=okay for internal flash to soc level dtsi

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
477d75398d boards: frdm_k82f: document support for ftfa flash controller
Document support for ftfa flash controller on frdm_k82f

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
83a214174b dts: arm: nxp_k8x.dtsi: enable ftfa flash controller
Enable flash controller on k8x, as it is supported on this SOC.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
8f229f6eb1 boards: frdm_k22f: document support for flash controller
Document support for FTFE flash controller

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
5992132174 dts: arm: nxp_k2x: enable ftfe flash controller
Mark ftfe flash controller as enabled, as it is tested on the k2x SOC line

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
cc0964dcc6 boards: frdm_k64f: document flash controller support
document support for FTFE flash controller

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
55ef1ed33f dts: arm: nxp_k6x: enable flash controller ftfe
explicitly enable ftfe flash controller for k6x SOC, as it is tested and
supported.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
41f26e5dca boards: lpcxpresso55s69: update documentation to indicate IAP support
Update documentation to indicate that lpcxpresso55s69_cpu0 supports IAP
flash controller.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
a52f399623 dts: arm: nxp_lpc55s6x: disable flash controller for nonsecure targets
disable flash controller for nonsecure core, as only the secure core is
tested with flash support.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
1ce25c296f boards: mimxrt1020_evk: document flexspi support
Document support for flexspi as a flash controller on mimxrt1020_evk

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
c827c9f928 boards: mimxrt1170_evk: document flexspi support
Document support for using flexspi as a flash controller on
mimxrt1170_evk_cm7 and mimxrt1170_evk_cm4

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
56d3e8b7c2 boards: mimxrt1060_evk: document flexspi support
Document support for using flexspi as a flash controller on
mixmrt1060_evk and mimxrt1060_evkb

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
b190aa47cc boards: mimxrt1050_evk: document flexspi support
Document support for flexspi flash controller on mimxrt1050_evk and
mimxrt1050_evk_qspi targets

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
da82c00380 boards: mimxrt685_evk_cm33: enable flash
enable flash node for mimxrt685_evk_cm33

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
570293a252 soc: nxp_rt6xx: disable flash driver by default
set nxp,imx-flexspi to disabled by default to disable flash driver for
this SOC unless enabled by the target board. This SOC uses external flash,
so boards should enable the flash controller only when flash support
has been verified with their specific external flash module

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
03cc56d5f8 drivers: flash: flash_mcux_flexspi_hyperflash: Fix incorrect printf format
Use correct printf format specifier for LOG_DBG calls using offsets, as
these offsets are long int and thus require the %lx format specifier rather
than %x.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Daniel DeGrasse
8eb493ffaf tests: drivers: flash: increase write size of test
Some SOCs, such as NXP's LPC family, expect a minimum write size of 512
bytes. Increase the EXPECTED_SIZE definition for flash driver test to
512 so that test can pass on these platforms.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-08-25 08:26:53 -05:00
Kumar Gala
3f8ba07b90 usb_device: remove Kconfig.defconfig* setting of usb device drivers
Now that usb device drivers are enabled based on devicetree
we need to remove any cases of them getting enabled by
Kconfig.defconfig* files as this can lead to errors.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-25 08:05:54 -05:00
Kumar Gala
2ac45e09db drivers: usb: device: Update drivers to use devicetree Kconfig symbol
Update usb device drivers to use DT_HAS_<compat>_ENABLED Kconfig symbol
to expose the driver and enable it by default based on devicetree.

We remove 'depend on' Kconfig for symbols that would be implied by
the devicetree node existing.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-25 08:05:54 -05:00
Krzysztof Chruscinski
af31cad836 logging: cleanup in CMakeLists.txt
log_output.c was added in two places: unconditionally when logging
is enabled and when CONFIG_LOG_OUTPUT is set. Cleaning up to add
source file only when module is enabled.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-08-25 12:18:26 +02:00
Krzysztof Chruscinski
b0072e1cea shell: Fix dependency to log_output
When shell was used as a log backend it did not enabled log_output
module used for string formatting. Adding missing dependency.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-08-25 12:18:26 +02:00
Stephanos Ioannidis
074b7f4ecd Bluetooth: Define global Bluetooth address constants
The Bluetooth address constants (BT_ADDR[_LE]_ANY, BT_ADDR[_LE]_NONE)
are currently defined as the address of the local anonymous structs
that are initialised to the corresponding address values, and assigning
them to a variable whose scope is greater than that of a function may
end up creating dangling pointers (for instance, as done in the
`bt_conn_get_info` function).

This commit defines the Bluetooth address constants as global constant
variables that are placed in the read-only data section, and modifies
the Bluetooth address constant macros to use the address of these
variables instead.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-25 12:18:09 +02:00
Stephanos Ioannidis
13885bd6d5 Bluetooth: Host: Monitor: Make addr param const in bt_monitor_new_index
This commit adds the `const` qualifier to the `addr` parameter of the
`bt_monitor_new_index` function because this parameter is and should
never be modified within this function.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-25 12:18:09 +02:00
Stephanos Ioannidis
97f9a16ed1 Bluetooth: Host: GATT: Make addr param const in find_sc_cfg
This commit adds the `const` qualifier to the `addr` parameter of the
`find_sc_cfg` function because this parameter is and should never be
modified within this function.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-25 12:18:09 +02:00
Jakub Rzeszutko
5e33b2daea shell: add backends command
Add command that lists all active shell backends.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2022-08-25 12:13:37 +02:00
Gerard Marull-Paretas
a5e301e06f dts: gigadevice: remove deprecated device_type property
According to DT spec, device_type property is deprecated (ref. 0.3 spec,
2.3.11):

> The device_type property was used in IEEE 1275 to describe the device’s
FCode programming model. Because DTSpec does not have FCode, new use
of the property is deprecated, and it should be included only on cpu and
memory nodes for compatibility with IEEE 1275–derived devicetrees.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
61889de3d1 dts: gigadevice: always use DT_FREQ_M
Use the DT_FREQ_M helper to improve readability on clock frequencies.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
c50316ecde soc: gigadevice: gd32f403: use DT for SYS_CLOCK_HW_CYCLES_PER_SEC
Set the default value for SYS_CLOCK_HW_CYCLES_PER_SEC based on DT cpu0
clock-frequency property.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
b9f1a0cfe6 soc: gigadevice: gd32f4xx: use DT for SYS_CLOCK_HW_CYCLES_PER_SEC
Set the default value for SYS_CLOCK_HW_CYCLES_PER_SEC based on DT cpu0
clock-frequency property.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
7442d86ab1 dts: gigadevice: simplify flash/sram size assignments
Make use of nodelabels to extend flash/sram nodes instead of re-defining
the whole tree. This pattern is already used in some other files.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
4504e04ce0 dts: gigadevice: gd32f403: fix dma0/1 reg address
The address did not match the one specified in the node.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
e03d28edeb dts: gigadevice: gd32f403: remove non-existing flash property
The peripheral-id is not a valid property for gd,gd32-flash-controller.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
d7f08249bc dts: gigadevice: gd32e10x: fix flash controller issues
- nodelabel was uppercase
- peripheral-id was not a valid property

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
57c5261f53 dts: bindings: add missing gd32 flash controller binding
Despite being used in GD32 dts files, the compatible did not exist. Note
that there is no GD32 flash driver yet.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
4bd872e875 dts: gigadevice: gd32vf103: remove redundant riscv compatible
The compatible has no known meaning, so remove it.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
a40c4c74da dts: gigadevice: gd32vf103: remove redundant soc compatible
The gd,gd32vf103-soc compatible is redundant, drop it.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Gerard Marull-Paretas
e7b9c8c955 dts: gigadevice: gd32vf103: move interrupt-parent to soc node
There's no need to specify the interrupt parent on each node, it can be
defined at soc level node instead (same as in ARM parts with NVIC).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-25 09:09:51 +00:00
Flavio Ceolin
180f50feda intel_adsp: gpdma: Fix driver initialiaziation
cavs15 does not need to request ownership of the dma controller.

Fixes #49203

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-08-24 18:08:39 -04:00
Stephanos Ioannidis
3fc1ccd8e5 arch: arm64: Include GOT in RODATA
GCC 12 and above may emit "GOT indirections" for the weak symbol
references, and this requires the Global Offset Table (GOT) to be
included in the output.

This commit places the `.got` section in the RODATA section so that
the addresses of the weak symbols can be resolved at run-time. Note
that the GOT is populated with the symbol addresses at the default
linking address by the linker.

The `.got.plt` section, although unused, is also placed in the RODATA
section because the linker refuses to allow discarding this section
even when the `.plt` section is discarded.

In case of the GCC releases prior to 12, the weak symbol addresses are
placed in the literal pool and the `.got` section is not created at
all; therefore, this patch will be no-op.

For more details, refer to the following GitHub issue:
zephyrproject-rtos/sdk-ng#547.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-25 07:06:09 +09:00
Kumar Gala
7b1a8f4b89 tests: timer: timer_behavior: Fix compile issues
Includes need to be <zephyr/tc_util.h> and <zephyr/ztest.h> otherwise
we get build errors.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-24 15:53:50 -05:00
Gerard Marull-Paretas
6edcee886c doc: release-notes: inform about __ZEPHYR__ removal from zephyr.h
zephyr.h header no longer defines __ZEPHYR__, add some details on the
release notes.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-24 14:59:01 -04:00
Gerard Marull-Paretas
6091091103 include: zephyr: remove __ZEPHYR__
CMake always injects __ZEPHYR__ to any code being built on Zephyr (e.g.
a module, an application, etc.). Requiring an include that defines
__ZEPHYR__ to determine if I'm on Zephyr is problematic as well: it
requires to include a Zephyr header (which will exist if building for...
Zephyr!).

Note that this change leaves <zephyr/zephyr.h> in a questionable
position: why shouldn't I just include <zephyr/kernel.h>?

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-24 14:59:01 -04:00
Tom Burdick
fafb4d70b5 kernel: Timer behavioral testing
Test and validate the behavior of a timer driver.

Takes a number of absolute timer cycle samples of a periodic timer then
calculates statistical mean, variance, stddev along with total drift over
the entire test time. Ensures standard deviation and drift are within
a given configurable bound.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-08-24 13:59:24 -04:00
Jeremy Herbert
379ca18a93 kernel: allow k_poll to wait on pipes
k_poll does not currently allow polling on pipes. This adds support
for doing so on buffered pipes.

Signed-off-by: Jeremy Herbert <jeremy.006@gmail.com>
2022-08-24 17:49:20 +00:00
Krzysztof Chruscinski
7303ac135d lib: os: spsc_pbuf: Minor code cleanup
Minor cleanup in allocation function. Using define instead of
sizeof(uint32_t) to better explain the purpose. Adding few
comments.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-08-24 17:48:50 +00:00
Krzysztof Chruscinski
716fa446cd tests: lib: spsc_pbuf: Improve stress test
Improve stress tests to be more robust and demanding. Previous
implementation did not reveal race condition.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-08-24 17:48:50 +00:00