The IRER registers are write-only and clear the enable bit for the
provided interrupt. Use a direct write instead of a read/modify/write
sequence to avoid generating a bogus read access and improve performance
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Some ADC's draw significant power while enabled, so make sure the
driver can handle ADC's that have device runtime PM enabled.
Signed-off-by: Jordan Yates <jordan@embeint.com>
The intention was to use the "interface-name" string property in the
interface string descriptor, but using the label property is acceptable
again. Therefore, allow the use of the DT label property string in the
interface string descriptor.
Follow exactly the same approach as in the CDC ACM implementation
introduced in the commit b0791400f6
("usb: device_next: cdc_acm: allow setting the interface description").
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The llext-edk test case is timing out on some workloads, so increase the
timeout to 120 seconds to accommodate longer execution times.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The `session->param` should be updated to date whatever the function
`sdp_client_ssa_search()`, `sdp_client_sa_search()` or
`sdp_client_ss_search()` can be executed properly.
Update the `session->param` to the new `param` when executing the
function.
Fixes#91156
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
- Enables MCU-Boot default Swap mode for the FRDM-MCXN947 and MCX-N9XX-EVK,
after the flash driver was upgraded to support the 16-byte programming.
- Fixes flash-controller for frdm_mcxn947_mcxn947_cpu0_qspi.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Reset the SPI peripheral to its default state
and register values on init by setting its SWRST bit.
This is important since the driver assumes that certain
registers are at their default values.
Signed-off-by: Pete Dietl <petedietl@gmail.com>
The sam0 SPI driver does not ensure that it clears the 32-bit extension
option during init. The 32-bit extension option, which comprises of a field
in the CTRLC register and the LENGTH register enables better bus
utilization by allowing 32-bit writes to the SPI DATA register
(as opposed to the usual 8-bit writes). The driver breaks down if this
option is enabled by causing each intended byte of output to become
four bytes. We fix this by explicitly disabling the 32-bit extension
option in init.
Signed-off-by: Pete Dietl <petedietl@gmail.com>
Placing this in RAMABLE_REGION messes up the TLS offsets computed by the
linker, presumably because it's not adjacent to the .tdata section.
In any case, it doesn't really matter as all we want the linker to do is
compute offsets from the TLS base value for all .tdata and .tbss values.
Signed-off-by: Keith Packard <keithp@keithp.com>
When not using dynamic interrupt mapping, various interrupt tables are
configured to be stored in read-only memory in the linker script.. Mark
them const so that the linker doesn't complain.
This affects _sw_isr_table, _irq_vector_table, and z_shared_sw_isr_table in
arch/common along with _VectorTable in arch/arc.
Signed-off-by: Keith Packard <keithp@keithp.com>
If this section is placed in FLASH, the section gets marked
as writable even though .tbss values will never be stored there.
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit enables the CONFIG_NPCX_HEADER option for the Google Quincy
board. This is necessary to properly support the NPCX firmware header
requirements on this platform, ensuring correct boot and firmware
updates.
Signed-off-by: Firas Sammoura <fsammoura@google.com>
The HAL i.MX943 M33 system driver was using another implemention
of SCMI support to do some clock operations which was not workable
in Zephyr, as Zephyr supported its own SCMI drivers.
So, disabled device system driver for i.MX943 M33 for now.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
In j722s_main.dtsi, the pinctrl block must have reg length 0x2b0
As per TRM, PADCONFIG registers range from 0 to 171.
Thus, length = (171-0+1)*4 = 172*4 = 0x2b0.
Reference: https://www.ti.com/lit/ds/symlink/tda4ven-q1.pdf
Table 5.1 contains data on PADCONFIG registers.
Signed-off-by: Shreyas Shankar <s-shankar@ti.com>
Change nxp_imx_mu_send() to return a negative errno value
on error.
The fsl_mu function MU_TriggerInterrupts() returns either
kStatus_Success or kStatus_Fail, which have the value 0
or 1, respectively. kStatus_Fail should not be returned
to the upper levels, which expect negative values for
errors, so add a check for the return value of
MU_TriggerInterrupts() and return an errno value on error.
Signed-off-by: Mike J. Chen <mjchen@google.com>
Introduce ECLAIR_SUMMARY_HTML and ECLAIR_FULL_HTML CMake options to
enable the generation of HTML reports.
Signed-off-by: Luca Ciucci <luca.ciucci@bugseng.com>
Added prerequisites section, fixed some typos and added
ECLAIR_RULESET_ZEPHYR_GUIDELINES option.
Also updated dead doc string links in ECLAIR configuration files.
Signed-off-by: Luca Ciucci <luca.ciucci@bugseng.com>
Added the main rules from the conding guidelines selection listed in
/doc/contribute/coding_guidelines/index.rst to the zephyr_guidelines
configuration.
Signed-off-by: Luca Ciucci <luca.ciucci@bugseng.com>
This check prevents misconfigurations where more than one ruleset is
selected, ensuring that the analysis is not silently performed with
an unintended configuration.
Signed-off-by: Luca Ciucci <luca.ciucci@bugseng.com>
Various improvements to the integration files in order to obtain correct
static analysis results:
- variable `ECLAIR_WORKSPACE' is set to the build output directory, to
allow multiple ECLAIR analyses running in parallel on the same machine
without conflicts;
- fix the evaluation order of rulesets to allow a user-provided ruleset to
be selected without a cmake options file that undefines other
ECLAIR_RULESET_* variables;
- add a clean-only frame to initiate the analysis and a project
frame to end it.
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
The mode is activated by the CONFIG_MODBUS_NONCOMPLIANT_SERIAL_MODE option
and allows any stop-bit setting for the serial port.
Signed-off-by: Maksim Salau <msalau@iotecha.com>
To determine whether device runtime PM is enabled on a device, use
`pm_device_runtime_is_enabled`. This results in the same behaviour when
`CONFIG_PM_DEVICE_RUNTIME=n`, but properly controls the clocks on a
per-instance basis when `CONFIG_PM_DEVICE_RUNTIME=y`.
Signed-off-by: Jordan Yates <jordan@embeint.com>
On ACE30 platforms adding a section to the linker script isn't
enough, it should also be added to the xtensa_soc_mmu_ranges[] array.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Some applications need to save LLEXT context, e.g. when suspending,
to later restore it quickly without a full relinking. Add 2 functions
for context saving and restoring. Since these functions are likely to
change in the future, put them in llext_experimental.c, which depends
on CONFIG_LLEXT_EXPERIMENTAL and is disabled by default.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Beginning symbols or structure field names with an underscore isn't a
widely used style in Zephyr, remove the leading underscore from
_llext_list.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Increase the scope of this group to include wireless boards, wireless
socs, hdlc_rcp_if driver, and overlays/conf files in samples.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
On the documentation of the sample "perf" the path for the script
"stackcollapse" is incorrect.
Fix the path
Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
Be more explicit about the need for a Virtual Machine running Linux if
running in Windows.
Also WSL2 has been out for ~5 years. Let's reduce the amount of info
on how to run it in WSL1, as probably almost nobody is using it
anymore.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The is_valid_gap_packet_len check for
btp_gap_ev_periodic_transfer_received_ev referenced a field
that was recently removed.
Modify the check to just check the size, as the event now
has not variable length fields.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add a support for TI MSPM0 Timer which has sub module for Counter,
Timer Capture and Timer Compare.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
TI MSPM0 SoC series has General Purpose Timer and Advanced control timers
with Counting module, Capture block (measure input signal period/time) and
Compare block (to generate time expiry, output waveform like PWM).
Add a support for counter driver with alarm and counter top functions.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>
IDLEOUT presence in PWM means that there are 3 sources from which
PWM pin can be driven:
- GPIO setting when PWM peripheral is disabled.
- IDLEOUT setting when PWM is enabled.
- PWM Sequence when it is in use.
IDLEOUT setting cannot be changed after enabling PWM so it is
configured to the initial state of the pin. It means that if duty
cycle is 100%, GPIO output is set to 1 but initial pin state was 0
(IDLEOUT setting) there will be a glitch between disabling a PWM
sequence and disabling a PWM peripheral.
By default, PWM driver tries to disable PWM peripheral if all channels
are 0% or 100% duty cycle to safe power. When IDLEOUT feature is
present there will be a short glitch on channels with 100% duty cycle.
In order to avoid that CONFIG_PWM_NRFX_NO_GLITCH_DUTY_100 option is
added (enabled by default). When option is enabled 100% duty cycle
is achieved by PWM sequence and not by driving a GPIO pin. It will
consume more power in cases where all channels are 0% or 100% with
at least one channel set to 100% duty cycle.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Add property which indicates that PWM instance supports IDLEOUT
feature. Add property to all instances that supports it.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
The test which measures and validates transfer times is using the
helper spi_loopback_transceive() to perform the transfer. This
helper internally gets the spi controller, which is useful for
most tests, but for this one, it means the time to get and put
the spi controller is included in the transfer time measurement.
This commit gets the spi controller before calling
spi_loopback_transceive() which results in only the actual
transfer time being measured.
Before this commit, on the nrf54h20:
START - test_spi_complete_multiple_timed
Transfer took 745 us vs theoretical minimum 108 us
Latency measurement: 637 us
PASS - test_spi_complete_multiple_timed in 0.008 seconds
START - test_spi_complete_multiple_timed
Transfer took 700 us vs theoretical minimum 54 us
Latency measurement: 646 us
Assertion failed at ...
Very high latency
FAIL - test_spi_complete_multiple_timed in 0.027 seconds
After this commit:
START - test_spi_complete_multiple_timed
Transfer took 250 us vs theoretical minimum 108 us
Latency measurement: 142 us
PASS - test_spi_complete_multiple_timed in 0.008 seconds
START - test_spi_complete_multiple_timed
Transfer took 204 us vs theoretical minimum 54 us
Latency measurement: 150 us
PASS - test_spi_complete_multiple_timed in 0.008 seconds
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The spi_loopback test suite creates three internal threads. The
stack sizes for these threads is hardcoded to 512, which is to little
for some socs, namely the nrf54h20 cpuapp if pm device runtime is
enabled. Instead, determine the stack sizes the same way ztest
stack sizes are determined.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Statuses of quarantined test cases were not updated properly.
Quarantined tests shouldn't cause errors in integration mode.
Removed obsolate filter type.
Signed-off-by: Maciej Perkowski <maciej.perkowski@nordicsemi.no>
Enable the standby power state by default for the rd_rw612_bga and
frdm_rw612 boards in the peripheral_ht and central_ht Bluetooth samples.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>