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>
Enable node drbg0 in the google_quincy device tree. This node is
required to enable the entropy upstream test.
Signed-off-by: Firas Sammoura <fsammoura@google.com>
The temperature calibration addresses of ts-cal1-addr and ts-cal2-addr
are not shared between stm32wba5 and stm32wba6 these addresses are now
separated to the dedicated device-tree
Signed-off-by: Romain Jayles <romain.jayles@st.com>
NATIVE_APPLICATION is now deprecated so nobody will set it,
but NATIVE_BUILD should cover the same case this build error
is trying to warn about. Let's use it instead.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
NATIVE_APPLICATION is deprecated, let's not use it, let's use instead
NATIVE_BUILD.
unit_testing is not really meant to be covered by NATIVE_APPLICATION,
or NATIVE_BUILD for that matter, as these options are meant for POSIX
arch based targets.
Still, some kconfig options will default to something which will
also be incompatible with unit_testing (primarily CONFIG_PICOLIBC=y)
if we don't set at least NATIVE_BUILD, which would cause some unit
tests to fail. So let's select NATIVE_BUILD to avoid needing to add
extra dependencies on the libCs options.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
There is a potential issue that the index of ACL may out of the
bounds of the array `bt_hfp_hf_pool` if the array size is not aligned
with the array size of `acl_conns`.
To avoid the potential issue, check if the ACL conn index is less than
the array size of `bt_hfp_hf_pool` before accessing the array
`bt_hfp_hf_pool` with ACL conn index.
Fixes#91172
Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
New versions of the Wiseconnect HAL require a clock manager init
function to be called as part of clock configuration.
Without this, the default reference clock isn't configured correctly
for use with peripherals.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
When there are br connections connected, find_key_in_use call
bt_conn_get_dst to get br connection's dst and bt_conn_get_dst return NULL,
then bt_keys_find_addr aseert because addr is NULL.
Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Currently, every boards that implement a memory controller add an entry
in tests/drivers/memc/ram/testcase.yaml. However, the configuration is
exactly the same for all the boards. So, we can just consider that any
board that declare "memc" capability has to be tested.
For the record here are the boards that has the memc capability:
adi/apard32690/apard32690_max32690_m4.yaml
adi/eval_adin1110ebz/adi_eval_adin1110ebz.yaml
adi/max32690evkit/max32690evkit_max32690_m4.yaml
arduino/giga_r1/arduino_giga_r1_stm32h747xx_m7.yaml
arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_1_0_0.yaml
arduino/portenta_h7/arduino_portenta_h7_stm32h747xx_m7_4_10_0.yaml
atmel/sam/sam4s_xplained/sam4s_xplained.yaml
renesas/da1469x_dk_pro/da1469x_dk_pro.yaml
sifive/hifive_unmatched/hifive_unmatched_s7.yaml
sifive/hifive_unmatched/hifive_unmatched_u74.yaml
silabs/radio_boards/siwx917_rb4342a/siwx917_rb4342a.yaml
st/stm32f746g_disco/stm32f746g_disco.yaml
st/stm32f7508_dk/stm32f7508_dk.yaml
st/stm32f769i_disco/stm32f769i_disco.yaml
st/stm32h735g_disco/stm32h735g_disco.yaml
st/stm32h745i_disco/stm32h745i_disco_stm32h745xx_m7.yaml
st/stm32h747i_disco/stm32h747i_disco_stm32h747xx_m7.yaml
st/stm32h750b_dk/stm32h750b_dk.yaml
st/stm32h757i_eval/stm32h757i_eval_stm32h757xx_m7.yaml
st/stm32h7b3i_dk/stm32h7b3i_dk.yaml
st/stm32h7s78_dk/stm32h7s78_dk.yaml
st/stm32n6570_dk/twister.yaml
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>