struct init_entry may point to a struct device or a struct service,
each ones belonging to device or service iterable section.
Service section being newly added, handling it in cmake relevantly.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
check_init_priorities.py does no longer output any information about any
initialization function pointer as such pointer has been removed from
struct init_entry.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
As the pointer has been removed from struct init_entry, there is no point
to look for it nor to display any information about it (obviously).
Fixing the test script as well.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
Since the addition of deinit operation in device, init and deinit have
been within each device, rendering their init entry's init function
useless.
In order to save ROM space, let's remove the init function from
init entry altogether, and introduce a new object called "service"
which owns an init function to go along with SYS_INIT/SYS_INIT_NAMED.
Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
Addition of a shield st_mb1897_cam embedding a GC2145 CSI
sensor which can be connected to the STM32MP135F-DK via a 15pins FFC.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The STM32MP135F-DK board embeds a ST-MIPID02 CSI to DVP
bridge allowing to connect a CSI 15pins FFC cable enabled
sensor to the DCMIPP in parallel interface.
Add the ST-MIPID02 node and its dependency MCO clock as well
as partially filled DCMIPP node.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
MCP230XX IO expander is interfaced via i2c hence it is
suffisant to align its init priority to the i2c one.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Following the addition of USB Video Class, this adds a sample that makes
use of the zephyr,camera chosen node of any board to stream the video
source to the host. A snippet video-sw-generator can be used to test
and debug devices without a zephyr,camera chosen node.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Introduce a new USB Video Class (UVC) implementation from scratch.
It exposes a native Zephyr Video driver interface, allowing to call the
video_enqueue()/video_dequeue() interface. It will query the attached
video device to learn about the video capabilities, and use this to
configure the USB descriptors. At runtime, this UVC implementation will
send this device all the control requests, which it will send to the
attached video device. The application can poll the format currently
selected by the host, but will not be alerted when the host configures
a new format, as there is no video.h API for it yet.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The Arduino Nicla Vision board supports the new device_next USB stack
and can be used for testing USB Device features such as UVC.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Always return exit code 0 when cmd_uart_read stopped reading
data from UART. Instead, return with a error code in case
reading from the UART interface failed.
Currently, this command might return with exit code -1 because
uart_poll_in didn't return data and the read duration expired.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Update Zephyr fork of MCUboot to revision:
07222c1929e1d79d303baa8fde7f977a79e48e9a
Brings following Zephyr relevant fixes:
- 07222c19 boot_serial: Avoid re-initializing state in
boot_image_validate_encrypted
- a18f635a boot: Remove now superfluous start_off parameters
- c62c19db boot_serial: Use flash sectors from bootloader state
when possible
- 13edc5fb boot_serial: Use flash area from bootloader state when
possible
- f1aa499c boot_serial: Initialize a bootloader state for bs_list
and bs_set
- f1efd483 bootutil: loader: Expose routine to determine sector
layout
- 72166868 bootutil: loader: Expose routine to open/close all
flash areas
- 0319e91c boot: bootutil: Fix encryption/decryption size
during copy
- a36f9513 imgtool: Add support for HMAC/HKDF-SHA512 with
ECIES-X25519
- 37719169 zephyr: Support for HKDF/HMAC with SHA512
- 1d83177c bootutil: Add support for HAMC-SHA512 with ECIES-X25519
- 7de064ea boot: zephyr: add support for booting ARC processors
- 72459ec0 boot: zephyr: stm32n6570_dk: define
CONFIG_MULTIPLE_EXECUTABLE_RAM_REGIONS
- be8b3abc boot: Zephyr: Add a Kconfig for
MULTIPLE_EXECUTABLE_RAM_REGIONS define
- c5011f2b zephyr: Improve logging
- 11f9c6f2 bootutil: Improve logging coverage
- adbe1cfb boot: stm32n6: Define specific executable region
- 93c2b50a boot: zephyr: boards: Add configuration for
stm32n6570_dk
- fca80b41 boot: zephyr: defines FLASH device for external NOR
- 78d94cf4 imgtool: bump minimal required version to 2.2.0
- af602f81 bootutil: Replace local identifiers with common
definitions
- e5756df5 bootutil: Remove redundant ALIGN definitions
- e3a271c9 bootutil: Move all encryption TLV helper identifiers
into one place
- 68a4c962 boot: bootutil: avoid full erase on BOOT_MAGIC_BAD
in boot_set_next
- 1ed0218c scripts: imgtool: Add hash for ECDSA256P1Public
- a90ddfc7 zephyr: Fix pinreset trigger
- e56cecc4 bootutil: Small cleanup in image.h
- 402d3f7f boot: zephyr: Refactor DFU entry logic
- 687dc8c5 bootutil: boot_decrypt_key: Only one
bootutil_hmac_sha256_drop needed
- a0065f8f bootutil: Fix boot_scramble_region escaping flash
area
- bb644c7c bootutil: loader: overwrite-only mode fix for
trailer erase
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
use DT_INST_PROP_OR for local-mac-address, so
that it is not required to be set in dt, as there are
other ways to se the mac address.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
make sure, that zephyr,random-mac-address
has a higher prio, than local-mac-address, as
documented in ethernet-controller.yaml.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
make sure, that zephyr,random-mac-address
has a higher prio, than local-mac-address, as
documented in ethernet-controller.yaml.
Also make sure, that no vaild mac address
doesn't lead to init fail, as it can still be
set later via set_config.
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
increase value of the adc-prescaler to avoid ADC
overrun.
adc driver related error log:
"E: ADC overrun error occurred ..."
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
Extend tests/boot/with_mcumgr with BLE configuration.
Updated sample to use the source code from smp_svr.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
The zephyr_library macro does not expect any arguments, add a check for
that and similar for zephyr_library_named for no unexpected additional
arguments.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Add zephyr_check_no_arguments that macros and functions can call to check
that no arguments are given.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
UDC drivers use udc_buf_get_all() when dequeueing endpoint. On drivers
that require double buffering for isochronous IN endpoint, the dequeue
on interface disable will result in class request API called on net_buf
with frags set. Call release callback on the buffer pointed in frags
because it was passed in using usbd_uac2_send().
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Do not synchronously wait for endpoint interrupt bits when disarming
endpoints. Introduce ep_disabled k_event that makes it possible for
application to wait for the action to take effect which is necessary
when handling SetFeature(ENDPOINT_HALT) or SetInterface() requests.
This change improves incomplete iso IN and OUT handling performance,
especially when there are multiple isochronous endpoints that need
servicing.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
At High-Speed there is at most 25 us handling window for incomplete iso
IN/OUT and therefore determining which endpoints are isochronous is too
wasteful. Add lookup variable holding which isochronous endpoints are
enabled and limit the search to only enabled endpoints. For applications
with just one OUT and one IN isochronous endpoint this is optimal.
The lookup variable is updated only when mutex is held. Interrupt
handler accesses the variable read-only and in general there is no
problem is incomplete iso handling interrupt hits when the lookup
variable is updated, because:
* when endpoint is just activated, it cannot be source of incomplete
iso interrupt because the endpoint is not armed yet
* when endpoint is just deactivated, it was first disabled
If there is more than one isochronous endpoint same direction then just
relying on endpoint enabled is not necessarily optimal. However, in
order to be able to limit the search to only armed endpoints, the lookup
variable would have to be updated on every transfer preparation and
completion which would require more time-expensive synchronization.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Replace irq_lock() with spin lock which is proper synchronization
primitive that should be used. Because non-SMP implementations are
allowed to optimize spin lock to just locking interrupts the resulting
code is the same on all currently supported DWC2 targets.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Introduce test for device_deinit() which deinitializes the spi
bus, then configures miso as input, mosi as output using gpio,
utilizing the loopback to test directly controlling the pins.
Then reinit the spi device.
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
Constify vendor quirks structure to not keep it in RAM. Use constified
vendor quirks structure directly if there is only one snps,dwc2 instance
to allow compiler inlining quirk implementation.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add tests to check the correctness of '#address-cells' usage.
The missing tests have allowed bug #77890 to persist for years.
Signed-off-by: Andrey VOLKOV <andrey.volkov@munic.io>
The '_raw_unit_addr()' function was incorrectly written a long time ago.
It tries to look up and use the '#address-cells' of the node containing
the 'interrupts' property itself, instead of using the '#address-cells' of
the interrupt controller's node (or its parent).
As a result, the mapping is successful only if the '#address-cells' value
is the same in both the node and the interrupt controller, all other cases
lead to random errors being generated by the 'gen_defines.py' script.
Also, the function was trying to use the '#address-cells' value as a
little-endian one, which led to unpredictable results as well.
This problem has been fixed too.
Fixes#77890, and probably #78020
Signed-off-by: Andrey VOLKOV <andrey.volkov@munic.io>
Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
According to the following comment on github
https://github.com/zephyrproject-rtos/zephyr/pull/77900/files#r1750393745
edtlib implementation is partially correct and it is missing two things:
1. If an ancestor has an interrupt-controller or interrupt-map property,
the walk must terminate.
2. If an interrupt-parent property is found, the linked node must be a
valid interrupt controller or nexus.
This commit add these checks.
Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
The lp_mspm0g3507 has a red LED that can be driven by GPIO or PWM TIMA0
CH0, set maximum prescale and divider to arrive lower timer clock from
clock source. Add to the samples.
Signed-off-by: Saravanan Sekar <saravanan@linumiz.com>