This patch implements a service that adds multiple instances
capabilities to RPMsg.
Each instance is allocated a separate piece of shared memory.
Multiple instances provide independent message processing.
Each instance has its own work_q.
Signed-off-by: Marcin Jeliński <marcin.jelinski@nordicsemi.no>
The zephyr sam gmac driver don't get register address and, in some
cases, peripheral id from devicetree. This replace headers constants
in favor of devicetree values.
This fix wrong Atmel SAME7x/SAMV7x gmac register address and add
missing peripheral id property for SAM family.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
The current GMAC compatible not allow especialize properties by SoC
family. Split current generic Atmel GMAC compatible into two new
compatibles which are defined by SoC families. This increase the
freedom and avoid odd situations.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
This fixes properties documentation and two devicetree styles:
- properties with wrong code identation and
- property description tag style
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
A syscon device is a device managing a memory region containing a set of
registers that are not cohesive enough to represent as any specific type
of device. We need a driver for that because several other drivers could
use the same region at the same time and we need to io-map the region at
boot for MMU enabled platforms.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
The location of the documentation guide is inconsistent with other
documentation guides, so move it to the `guides` folder.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
libc optimization changes regarding memset and memcpy
added by this 5d55730cf6
caused wifi driver issues, which won't
let device get IP address.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This commit includes the following:
1. Add symbol for choice option. So we can override the default value
by an earlier definition.
2. NPCX9 doesn't support 33MHz SPI clock in the header. So disable the
option for NPCX9.
3. NPCX9 support 512K flash. Change default to 512k for NPCX9.
Signed-off-by: Wealian Liao <WHLIAO@nuvoton.com>
Make the imxrt6xx drivers consistent with the other SoC family drivers
by building them in the nxp hal library. Similar to commit
cf0587c3ec, this stops leaking long source
paths in build directories and makes them deterministic.
When building samples/hello_world for mimxrt685_evk_cm33, this changes
the build directories from:
build/
└── zephyr
└── CMakeFiles
└── zephyr.dir
└── home
└── maureen
└── zephyrproject
└── modules
└── hal
└── nxp
└── mcux
└── drivers
└── imxrt6xx
├── fsl_cache.c.obj
├── fsl_common.c.obj
├── fsl_flexcomm.c.obj
├── fsl_gpio.c.obj
├── fsl_inputmux.c.obj
├── fsl_ostimer.c.obj
├── fsl_pint.c.obj
└── fsl_usart.c.obj
to:
build/
└── modules
└── nxp
└── lib..__modules__hal__nxp.a
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
Add a small paragraph about Floating Point services
in Cortex-M, focusing on the important considerations
around footprint and runtime overhead.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Add a small section about specific considerations
around chain loadable images.
Add a brief section about code relocation.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Memory protection features in Cortex-M applications
- user mode and system calls
- MPU based stack overflow detection
Add section about memory map and mpu programming.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
- add a paragraph about CMSIS
- add a note about maintenance status of Cortex-M
- add a paragraph about testing the Cortex-m porting
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Add list of the available QEMU targets for Cortex-M
platforms in Zephyr along with the corresponding feature set.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Adding sections to describe
- isr handling principles
- different kinds of interrupts
- reserved interrupts and levels
- locking and unlocking interrupts
- zero latency interrupts
- dynamic direct interrupts
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Adding a small paragraph to describe the details around
thread stack alignment. Adding a detailed section to cover
the thread context-switch and the stack limit checking.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
ARM Cortex-M user guide. Initial commit including a table
for listing supported features in the different
Cortex-M variants.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
The gen_devicetree_rest.py script is responsible for generating .rst
files that comprise the devicetree bindings index. As a first step, it
finds all the YAML files that might be bindings.
However, it's doing that incorrectly and ignoring files in nested
subdirectories. This affects bindings in places like
dts/bindings/net/wireless, which are not found.
Fix it by using recursive=True in the glob.glob() call.
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Test fails consistently in CI but local builds succeed. Puzzling. In
order to keep main green, disabling this test only for qemu_riscv32
until a solution is found.
```
% west build -p always -b qemu_riscv32 -t run \
tests/kernel/mem_protect/stack_random
...
*** Booting Zephyr OS build zephyr-v2.6.0-1039-g523764b3fd75 ***
Running test suite stack_pointer_randomness
===================================================================
START - test_stack_pt_randomization
Test Stack pointer randomization
stack pointer changed 13 times out of 64 tests
PASS - test_stack_pt_randomization in 0.5 seconds
===================================================================
Test suite stack_pointer_randomness succeeded
===================================================================
PROJECT EXECUTION SUCCESSFUL
```
```
*** Booting Zephyr OS build zephyr-v2.6.0-1063-g0106d8f2a391 ***
Running test suite stack_pointer_randomness
===================================================================
START - test_stack_pt_randomization
Test Stack pointer randomization
stack pointer changed 0 times out of 64 tests
Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/mem_protect/\
stack_random/src/main.c:68: test_stack_pt_randomization: \
(sp_changed equal to 0)
Stack pointer is not randomized
FAIL - test_stack_pt_randomization in 0.6 seconds
===================================================================
Test suite stack_pointer_randomness failed.
===================================================================
PROJECT EXECUTION FAILED
```
Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
Assuming gpio devices are required by pinmux which is used
by any device make it a device that is initialized in preliminary
steps of platform init.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Move GPIO devices clock handling in stm32_pin_configure function
which is also used in stm32_setup_pins.
Additionally, add device usability check to be sure gpio driver
was initialized before being used by pinmux pseudo driver.
Last, going from the assumption that GPIO devices should be
initialized before being used by pinmux, then there is no need
to enable clock in case CONFIG_PM_DEVICE_RUNTIME=n.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
So far only upstream boards were listed. Use just introduced
zephyr_module.parse_modules() function to get information about
out-of-tree board roots. Append them to user provided args.board_roots,
so out-of-tree boards from west modules are listed as well.
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
Add parse_modules() function, which will offload most of the work in
main() and additionally allow external Python code to use that function.
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
Refactor Periodic Advertising time update function to use
caller supplied Periodic Advertising PDU to calculate the
time reservations.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Apply suggestions from code review, and change to using
BT_HCI_ERR_SUCCESS instead of returning 0.
Co-authored-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix Extended and Periodic Coded PHY time reservation. The
define earlier used does not have calculations for Coded
PHY.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Implementation to update Periodic Advertising time
reservations when advertising data and/or CTE length is
updated.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>