Enable by default the use of RAM buffers in the spi_nrfx_spim.c
driver for copying TX data located in flash (as SPIM peripherals
cannot transfer directly form flash). Without this patch, users can
get confused, especially when SPI transaction is used by an upper
level driver which does not check all error codes.
For size of the buffer, use the value used so far in the reel_board
default configuration and in the SPI loopback test, i.e. 8 bytes.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Now that device_api attribute is unmodified at runtime, as well as all
the other attributes, it is possible to switch all device driver
instance to be constant.
A coccinelle rule is used for this:
@r_const_dev_1
disable optional_qualifier
@
@@
-struct device *
+const struct device *
@r_const_dev_2
disable optional_qualifier
@
@@
-struct device * const
+const struct device *
Fixes#27399
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Add support for running the SPI loopback driver test on the ARM
Cortex-M1 DesignStart FPGA reference design.
Since Xilinx AXI Quad SPI IP only supports loopback mode when configured
for single line SPI width, we utilise the (normally disabled) single SPI
instance going to the optional V2C DAPLINK shield SD card slot for
testing purposes.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Now that the patches have landed, enable more of the peripherals on
the board.
In particular:
* Enable PWM on the LED
* Enable the SPI, USB, and DMA
* Enable the bootloader support
* Add to the PWM and SPI tests
* Call these out in supported.yaml
Signed-off-by: Michael Hope <mlhx@google.com>
Due to issue #20589 DEBUG_OPTIMIZATIONS were enabled for the rv32m1 vega
ri5cy vega config. This is now resolved after making sure the spi tx
buffer is always initialized and the rv32m1 ri5cy core stack properly
initialized, so this workaround can be removed.
Signed-off-by: Karsten Koenig <karsten.koenig.030@gmail.com>
Plus corresponding configuration file for the spi_loopback test that
will be activated for that board by this added capability.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
... because it is (required).
This makes a difference when building with CMake and forgetting
ZEPHYR_BASE or not registering Zephyr in the CMake package registry.
In this particular case, REQUIRED turns this harmless looking log
statement:
-- Could NOT find Zephyr (missing: Zephyr_DIR)
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- ...
-- ...
-- ...
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:8 (target_sources):
Cannot specify sources for target "app" which is not built by
this project.
... into this louder, clearer, faster and (last but not least) final
error:
CMake Error at CMakeLists.txt:5 (find_package):
Could not find a package configuration file provided by "Zephyr" with
any of the following names:
ZephyrConfig.cmake
zephyr-config.cmake
Add the installation prefix of "Zephyr" to CMAKE_PREFIX_PATH or set
"Zephyr_DIR" to a directory containing one of the above files. If
"Zephyr" provides a separate development package or SDK, be sure it
has been installed.
-- Configuring incomplete, errors occurred!
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This configures the nucleo_wb55rg board for testing
the SPI loopback with DMA MUX transfer.
This test requires pin SPI_A_MISO (D12) to be connected
to pin SPI_A_MOSI (D11) on the nucleo_wb55rg board
Signed-off-by: Francois Ramu <francois.ramu@st.com>
After increasing SPI speeds on LPC family SoCs, the slow clock
speeds have been removed and default clock speeds are in use now.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
This commit removes the redundant `LOG` and `LOG_IMMEDIATE` selections
in `prj.conf`, since the `TEST_LOGGING_DEFAULTS`, which is enabled by
default for all tests, selects `LOG` and `LOG_MINIMAL`.
This effectively allows the test to run with the default test logging
policy, set by the testing subsystem.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the SPI testing support with an internal MOSI to MISO
loopback for the Atmel SAM R21 Xplained Pro board.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the SPI testing support with an internal MOSI to MISO
loopback for the Atmel SAM E54 Xplained Pro board.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The STM32 and CC13xx/CC26xx SPI drivers don't utilize the Kconfig
symbols for per instance SPI anymore so we don't need to set them on the
conf files for this test.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This configures the nucleo_f411re board for testing the SPI loopback
with DMA V1 transfer. DMA instance 2 is used.
This test requires pin SPI_A_MISO (D12) to be connected
to pin SPI_A_MOSI (D11) on the nucleo_wb55rg boardtest dma_V1
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This configures the nucleo_l476rg board for testing the SPI loopback
when with DMA transfer.
It requires pin MOSI to be connected to pin MISO of the SPI1
SPI tx/rx are assigned to the request ID 1 of dma1 channels 3 and 2
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This adds a new testcase in the spi_loopback test application
to use several buffers for the DMA transfer.
It requires the MOSI to be connected to the MISO of the SPI1.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
This changes the spi_loopback test application to use the DMA transfer.
In case of DMA, some testcases are useless.
It requires the MOSI to be connected to the MISO of the SPI1.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Don't assume in the soc level device trees that flexcomm nodes will
always be configured as spi. Instead, configure flexcomm nodes at the
board level for lpcxpresso55s69 and lpcxpresso54114 boards.
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
The board name for the nRF52 DK, so far known as nrf52_pca10040, is
renamed to nrf52dk_nrf52832. Its documentation and all references
to its name in the tree are updated accordingly. Overlay and
configuration files specific to this board are also renamed, to
match the new board name.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Kconfig options that enable I2C and SPI instances are no longer used
in nRF drivers. Remove all assignments done to these options in related
board definitions, samples, and tests.
For nrf52_pca20020, also no longer needed setting of default values
for GPIO_SX1509B* options is removed (now the gpio_sx1509b driver is
enabled by default when a corresponding devicetree node is enabled).
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Using find_package to locate Zephyr.
Old behavior was to use $ENV{ZEPHYR_BASE} for inclusion of boiler plate
code.
Whenever an automatic run of CMake happend by the build system / IDE
then it was required that ZEPHYR_BASE was defined.
Using ZEPHYR_BASE only to locate the Zephyr package allows CMake to
cache the base variable and thus allowing subsequent invocation even
if ZEPHYR_BASE is not set in the environment.
It also removes the risk of strange build results if a user switchs
between different Zephyr based project folders and forgetting to reset
ZEPHYR_BASE before running ninja / make.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
The nRF52840 DK board target, so far known as nrf52840_pca10056,
is renamed to nrf52840dk_nrf52840.
Its documentation and all references to its name in the tree are
updated accordingly. Overlay and configuration files specific to
this board are also renamed, to match the new board name.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
We rename the nRF51 Dev Kit board target (nrf51_pca10028)
to nrf51dk_nrf51422. We update all associated references
in the supportive documentation and all nRF51-related
cofigurations and overlay files in the samples and tests
in the tree.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Since commit 22326f6d99 got in, this test
requires that so-called NOP frames (bytes of value 0) are sent when no
TX data is provided. For nRF SoCs, the over-read character (ORC) that
is sent in such case is by default configured to the value of 0xFF.
Alter configurations for nRF boards so that 0x00 is used instead.
On the occasion, remove redundant selections of driver type in those
configurations (CONFIG_SPI_x_NRF_SPI[M]=y), as such selections must
be aligned with the value of "compatible" property in corresponding
nodes in dts, so there's no much sense in having them separately here.
Correct also the SPI instance to be used for nrf51_pca10028.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Adds a board-specific configuration for the rv32m1 VEGAboard to the
spi_loopback test.
Enabled slave number 2, and turned on debug configurations to debug
effectively and from excess code being optimized out.
Signed-off-by: Jose Manuel Pacheco Luna <manuel.pacheco@nxp.com>
This patch enables SPI4 on the 96Boards STM32 Sensors Mezzanine.
SPI4 has been broken out to a Grove Connector on the board.
Changes:
- Updated board dts to enable spi4
- Updated board Kconfig
- Updated board documentation
- Update board pinmux
- Updated stm32f4 pinmux header file
- Updated stm32f401 dtsi
- Updated stm32f4 defconfig to enable PORTE GPIO
- Added board to spi_loopback test
Test: spi_loopback test passed
Signed-off-by: Sahaj Sarup <sahaj.sarup@linaro.org>
Adds board-specific configurations for the lpcxpresso54114 and
lpcxpresso55s69 to the spi_loopback test.
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
The seasonal overhaul of test identifiers aligning the terms being used
and creating a structure. This is hopefully the last time we do this,
plan is to document the identifiers and enforce syntax.
The end-goal is to be able to generate a testsuite description from the
existing tests and sync it frequently with the testsuite in Testrail.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Bool symbols implicitly default to 'n'.
A 'default n' can make sense e.g. in a Kconfig.defconfig file, if you
want to override a 'default y' on the base definition of the symbol. It
isn't used like that on any of these symbols though.
Also replace some
config
prompt "foo"
bool/int
with the more common shorthand
config
bool/int "foo"
See the 'Style recommendations and shorthands' section in
https://docs.zephyrproject.org/latest/guides/kconfig/index.html.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Adding a Kconfig option for this test to configure the SPI in LOOP
mode. This saves physical wiring for hardware that support it.
Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
Making CONFIG_SPI_ASYNC optional allows the test to be run on devices
where the feature is not yet supported in the driver.
Signed-off-by: Vincent Wan <vincent.wan@linaro.org>