memory block should allow not only allocate memory but also
getting an arbitrary chosen part of memory.
Mixing of allocate and get, however possible, may be dangerous
because alloc may get any of memory. So be careful.
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
a method to check and set/clear a chosen region in a bitmap
if not previously set/cleared in a single atomic operation.
Useful for keeping track of resources usage, like memory banks
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
Expand API to allow additional eSPI driver callbacks coming from
eSPI peripheral channel.
Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
The autoconf.h header is not required because the definitions present in
the file are exposed using the compiler `-imacros` flag.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
ARM64 supports more memory mapping types for device memory (nGnRnE,
nGnRE, GRE), add these mapping support for os common mapping API
function z_phys_map().
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Currently the only way for a BOARD/SOC to configure at compile time the
MPU regions is to add, in a soc-specific file, the 'mpu_config' struct
adding static entries for the new regions with the needed attributes
(cacheable, non-cacheable, etc...). This exported struct is then read by
the MPU driver at boot time and used to properly setup the MPU regions.
At the same time it is now possible to introduce new memory regions in
the DT using the newly introduced 'zephyr,memory-region' attribute.
What is missing is the link between these two solutions: that is how to
declare the memory regions in the DT and automatically configure these
regions in the MPU with the correct attributes.
This patch is trying to address exactly this problem.
It is now possible to declare the memory regions in the DT and define
the MPU attributes for the regions using the 'zephyr,memory-region-mpu'
property. When this new property is present together with the
'zephyr,memory-region' property and a the 'zephyr,memory-region'
compatible, the 'mpu_config' struct is automatically extended at
compile-time to host the DT defined regions with the correct MPU
attributes.
So for example in the DT we can now have:
sram_cache: memory@20200000 {
compatible = "zephyr,memory-region", "mmio-sram";
reg = <0x20200000 0x100000>;
zephyr,memory-region = "SRAM_CACHE";
zephyr,memory-region-mpu = "RAM";
};
and a new region will be created called "SRAM_CACHE" and a new MPU
region will be configure at boot time with the attribute
"REGION_RAM_ATTR".
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
XCC (which is based on GCC 4.2) needs the initializer of one of the
union elements to be enclosed in brackets.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
This macro conflicts with C++'s std::condition_variable::wait_for
and makes it very difficult to use Zephyr with C++. Replace it with
an all uppercase name which fits the naming standard better.
Signed-off-by: Yuval Peress <peress@google.com>
The documentation mistakenly mentioned ret_bytes instead of max_data_len
Corrected to match usb_dc_ep_read
Signed-off-by: Davide Bortolami <davide.bortolami@thinksmartbox.com>
bt_eatt_connect may now send multiple credit based connection requests.
Previously it would only send one and thus only allow 5 EATT channels to
be connected.
Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
Indicate wether pointer parameters are input or output. This information
is useful for API users.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Some values are limited to 32-bit, UINT32_MAX can be used to check if
they overflow.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Group all capture APIs together for better readability. Previous to this
patch, get_cycles() as placed at the end.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Do not convert get_cycles_per_sec() failures to -EIO, just propagate the
failure code since the failure is not handled. As a consequence, all
Doxygen docstrings have been updated.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Hide all API ops (typedefs and struct) under INTERNAL_HIDDEN. This is
information required by drivers only, not API clients.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
To allow for high level robustness tests on protocols, add an interface
to control the packet drop rate. A rate of 0 means no packet dropped, a
rate of 1 means all packets being dropped.
Signed-off-by: Sjors Hettinga <s.a.hettinga@gmail.com>
Add several new functions to the IPC service API:
- ipc_service_get_tx_buffer()
- ipc_service_drop_tx_buffer()
- ipc_service_send_nocopy()
- ipc_service_release_rx_buffer()
- ipc_service_hold_rx_buffer()
This set of function is used to support backends with nocopy capability.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
When using DMA with a circular buffer an application needs to know
where the hardware is in terms of its read and/or write positions.
Without this information, the circular buffer isn't very useful!
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Introduce set/get SO_RCVBUF option using the setsockopt
function. In addition, use the rcvbuf value to set the
tcp recv window.
Signed-off-by: Mohan Kumar Kumar <mohankm@fb.com>
This adds a new CONFIG_LOG2_MSG_PKG_ALWAYS_ADD_RO_STRING_IDXS
kconfig. If enabled, the log message packages will always have
the indexes of read-only string arguments appended to the package.
This will be selected only by those backends requiring it.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
In order to get rid of the duplication of the code that we had until now
in the tree, consolidate the handling of multiple calls to
bt_hci_cmd_send_sync(BT_HCI_OP_LE_RAND, ...) in a single location,
namely in hci_core.
This allows all of the users of this HCI command to use a single
implementation of the iterated sending of the HCI command to fill a
buffer with random bytes.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
LWM2M Client Sample with DTLS enabled fails because TLS_HOSTNAME is set
but MBEDTLS_X509_CRT_PARSE_C is disabled which leads to error
'net_lwm2m_engine: Failed to set TLS_HOSTNAME option: 109'
Add new field hostname_verify to let the application decide if hostname
should be checked.
Signed-off-by: Benjamin Bigler <benjamin.bigler@securiton.ch>
DT_CHOSEN_ZEPHYR_FLASH_CONTROLLER_LABEL was the last macro to be
deprecated from the DT_CHOSEN_()_LABEL series. All its usages have been
replaced with DT_CHOSEN(zephyr_flash_controller), usually combined with
DEVICE_DT_GET to obtain references at compile time.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This patch is doing two things:
- it is removing the fallback on the path. This is not possible anymore
since the DT binding file is now actually requiring the
'zephyr,memory-region' property to be present from which the region
name is obtained.
- it is sanitizing the name when CONFIG_CMAKE_LINKER_GENERATOR is used
or not.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Depending on the stm32 soc and the timer instance, several channels
can enable the complementary output for the PWM signal
This flag completes the PWM_POLARITY for a PWM channel in the
upper byte of the pwm_flags_t.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add 8 bits to the pwm_flags_t so that upper byte is reserved
for non-standard but soc specific dts flags and keeping the low
Byte for standard flags.
Some of SoC like STM32 mcus can then define their own flags
in their dt-bindings/pwm.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Adapt logging to always use static packaging. Runtime packaging
is used only when configuration requires that. Static packaging
significantly speeds up logging when there are string arguments.
Update log_stack test to new stack usage.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
The `bt_conn_index` simply returns the index
of a `bt_conn` struct. There is no reason why
such a function should not use `const`.
Not using `const` will make other lookup/index
functions that perhaps relies on the bt_conn index
unable to use `const` as well.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add flag to copy function which indicates that read-only
string locations shall be kept in the output package.
Updated cbprintf_package test to pass.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
Convert can_calc_timing() + can_calc_timing_data() to syscalls and use
the newly added syscalls calls for determing the minimum/maximum
supported timing parameter values.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Add CAN system calls for getting the minimum/maximum timing values
supported by a given CAN controller device driver instance:
- can_get_timing_min()
- can_get_timing_max()
- can_get_timing_min_data()
- can_get_timing_max_data();
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit overrides the toolchain internal `__INTN_C(value)` integer
constant macros to match the types defined by the `zephyr_stdint.h`
header.
For more details, refer to the GitHub issue #44199.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The purpose of this change is to allow to enable more than one
backend at once by removing choice from ipc-service backend Kconfig
and depending backend Kconfig option on existing of correct compatible.
Overwriting IPC_SERVICE_BACKEND option in some places is removes
as no longer needed.
Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
Adds to the dma_status struct the number of free bytes available
in the current transfer buffer.
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Adds a bit flag config option for cyclic transfer lists, where the
transfer list tail may link to its head creating a never ending
loop of transfer descriptors.
DesignWare DMA supports such cyclic transfers.
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>