Commit Graph

75 Commits

Author SHA1 Message Date
TOKITA Hiroshi
1b93f036d7 tests: dma: loop_transfer: add overlay for GD32 boards
Add overlay file for gd32_e507z_eval, gd32f407v_start,
gd32f450v_start, gd32f450v_start and longan_nano_lite.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
TOKITA Hiroshi
6dc1187e44 tests: dma: loop_transfer: Correct DMA definition of gd32f350r_eval
The overlay file overrides not existing node `dma0`.
Correct it to `dma`.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-22 13:43:49 +01:00
Francois Ramu
4d5c99060a tests: drivers: dma: test the DMA drivers on the stm32MP157 disco kit
Define configuration to run the tests/drivers/dma
on the stm32mp157c_dk2 disco platform

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-11-04 10:16:56 +01:00
Michał Barnaś
dae8efa692 ztest: remove the obsolete NULL appended to zassert macros
This commit removes the usage of NULL parameter as message in
zassert_* macros after making it optional

Signed-off-by: Michał Barnaś <mb@semihalf.com>
2022-09-09 07:05:38 -04:00
Gerard Marull-Paretas
79e6b0e0f6 includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h>
As of today <zephyr/zephyr.h> is 100% equivalent to <zephyr/kernel.h>.
This patch proposes to then include <zephyr/kernel.h> instead of
<zephyr/zephyr.h> since it is more clear that you are including the
Kernel APIs and (probably) nothing else. <zephyr/zephyr.h> sounds like a
catch-all header that may be confusing. Most applications need to
include a bunch of other things to compile, e.g. driver headers or
subsystem headers like BT, logging, etc.

The idea of a catch-all header in Zephyr is probably not feasible
anyway. Reason is that Zephyr is not a library, like it could be for
example `libpython`. Zephyr provides many utilities nowadays: a kernel,
drivers, subsystems, etc and things will likely grow. A catch-all header
would be massive, difficult to keep up-to-date. It is also likely that
an application will only build a small subset. Note that subsystem-level
headers may use a catch-all approach to make things easier, though.

NOTE: This patch is **NOT** removing the header, just removing its usage
in-tree. I'd advocate for its deprecation (add a #warning on it), but I
understand many people will have concerns.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-09-05 16:31:47 +02:00
Francois Ramu
60bb584301 tests/drivers/dma: testing mem-to-mem DMA transfer on stm32u5
Add the testcase to run on the stm32u5x5 disco kit
and nucleo_u575zi_q boards.
The DMA instance is the GPDMA (up to 16 channels).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-08-24 10:05:32 +02:00
Fabio Baltieri
def230187b test: fix more legacy #include paths
Add a bunch of missing "zephyr/" prefixes to #include statements in
various test and test framework files.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-08-02 16:41:41 +01:00
TOKITA Hiroshi
d5ab3ee0b0 tests: dma: loop_transfer: Add GD32 series to loop_transfer test
Add configuration file for GD32 boards.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-08-02 09:13:21 +02:00
Kumar Gala
37fded7d37 tests: dma: Add FRDM-K64F to test platforms
Add overlays that enables FRDM-K64F for several dma tests.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-29 11:36:08 -05:00
Kumar Gala
0100dc5e3c tests: dma: loop_transfer: Add filter to limit platforms
Add testcase filter based on devicetree nodelabel test_dma being set.
This is needed since the testcase requires it to build.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-29 11:36:08 -05:00
Hake Huang
54094809d6 tests: dma: upgrade dma test to new ztest api
1. config ztest_new_api and update the testcase defines

2. remove shell interactive test cases, twister has another plan

3. add sg case support for kinetis and rt10xx platfrom

related: #47002

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2022-07-29 09:31:34 -05:00
Kumar Gala
b1a8246b56 tests: dma: loop_transfer: Convert to DEVICE_DT_GET
Convert test to use DEVICE_DT_GET via a nodelabel.

Introduce a test_dma devicetree nodelabel to reference the DMA
controller the test should use.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-27 09:47:59 +02:00
Gerard Marull-Paretas
ade7ccb918 tests: migrate includes to <zephyr/...>
In order to bring consistency in-tree, migrate all tests to the new
prefix <zephyr/...>. Note that the conversion has been scripted, refer
to #45388 for more details.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-06 20:02:14 +02:00
Tom Burdick
f8250c9813 dma: Better suspend/resume testing
Make the test data larger to help slow down the transfer long enough
to get suspend to work. Then attempt to spin on suspend. Suspending any
of the test transfers is a success.

Previous suspend resume test would always fail on DesignWare DMA
as it was seemingly already done by the time dma_suspend would be
called in the ISR.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-03-24 10:44:50 +01:00
Hake Huang
3b576fc688 tests: dma: fix loopback suspend and resume issue
update dma loop test to resolve call sequence issue,
and avoid randum failure due to
dma finished fast than the dma status check. which cause suspend fails.

fixing #43739

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2022-03-18 12:14:05 -04:00
Tomasz Bursztyka
c94b341a54 tests: constify all device instances
Run cocci script to constify device instances.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2022-03-16 12:33:12 +01:00
Francois Ramu
d91bdc0f51 tests: drivers: dma test running on the nucleo_wl55 board
enable the dma and dmamux to the nucleo_wl55jc
so that dma testcases can run on that target

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-04 09:11:38 -06:00
Tom Burdick
0e96f59e83 dma: Add suspend resume implementation for edma
Implement the suspend and resume transfer api calls for NXP's eDMA.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-01-12 17:33:48 -05:00
Torsten Rasmussen
1cccc8a8fe cmake: increase minimal required version to 3.20.0
Move to CMake 3.20.0.

At the Toolchain WG it was decided to move to CMake 3.20.0.

The main reason for increasing CMake version is better toolchain
support.

Better toolchain support is added in the following CMake versions:
- armclang, CMake 3.15
- Intel oneAPI, CMake 3.20
- IAR, CMake 3.15 and 3.20

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-08-20 09:47:34 +02:00
Francois Ramu
c47d573175 tests: drivers: dma testing on the stm32f103 nucleo board
This adds the configuration to pass the testcases
dma/loop_transfer and the dma/chan_blen_transfer
on the nucleo_f103rb board.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-07-29 11:48:23 -04:00
Francois Ramu
a5cca19386 tests: drivers: dma testing on the stm32f429 nucleo board
This adds the configuration and set the DTS to pass
the dma/loop_transfer and the dma/chan_blen_transfer
on the nucleo_f429zi board.
The DMA2 instance supports mem2mem transfers.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-07-29 11:48:23 -04:00
Francois Ramu
9ecf810832 tests: drivers: dma testing on the stm32l152 nucleo board
This adds the configuration to pass testcases
dma/loop_transfer and the dma/chan_blen_transfer
on the nucleo_l152re board.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-07-29 11:48:23 -04:00
Francois Ramu
772c9c5cee tests: drivers: dma testing on the stm32f091 nucleo board
This adds the configuration to pass testscases
dma/loop_transfer and the dma/chan_blen_transfer
on the nucleo_f091rc board.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-07-29 11:48:23 -04:00
Krishna Mohan Dani
a63bee82fd tests/drivers: dma: sets DMA config in loop_transfer on stm32f3_disco
This commit sets the below configuration when
tests/drivers/dma/loop_transfer is executed on stm32f3_disco
platform.

CONFIG_DMA_LOOP_TRANSFER_DRV_NAME="DMA_1"
CONFIG_DMA_LOOP_TRANSFER_CHANNEL_NR=4

Signed-off-by: Krishna Mohan Dani <krishnamohan.d@hcl.com>
2021-07-29 11:01:40 -04:00
Krishna Mohan Dani
cf39aec86a tests/drivers: nucleo_l552ze_q: Configures DMA to run loop_transfer test
This commit configures DMA to run tests/drivers/dma/loop_transfer
test on nucleo_l552ze_q platform.

Signed-off-by: Krishna Mohan Dani <krishnamohan.d@hcl.com>
2021-07-10 12:43:19 -04:00
Krishna Mohan Dani
2194b79804 tests/drivers: stm32l562e_dk: Configures DMA to run loop_transfer test.
This commit configures the required DMA parameters to run
tests/drivers/dma/loop_transfer test on stm32l562e_dk platform.
This has been tested and is working as expected.

Signed-off-by: Krishna Mohan Dani <krishnamohan.d@hcl.com>
2021-07-10 12:43:19 -04:00
Hake Huang
f6c338d600 test: dma: assign correct LPC dma engine channel for test
LPC dma channel 32/31 is for memory to memory.

Fixing: #34909

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2021-05-25 09:57:21 -05:00
Simon Guinot
54d3f136ec tests: drivers: dma: enable tests on nucleo_f070rb
This patch enables the DMA chan_blen_transfer and loop_transfer tests on
the nucleo_f070rb board.

Signed-off-by: Simon Guinot <simon.guinot@seagate.com>
2021-05-20 13:24:18 -05:00
Thomas Stranger
a3967cefa4 tests: dma: add nucleog474re board
Add nucleo_g474re board to dma/chan_blen_transfer and dma/loop_transfer
tests.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-05-06 09:28:33 -05:00
Francois Ramu
cb1ac9e925 tests: drivers: dma set correct type for the chan_id
The chan_id value returned by dma_request_channel
can be negative, changing the type of chan_id to int.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-05-04 10:12:11 -05:00
Thomas Stranger
2cf23469e5 tests: driver: dma: enable tests on stm32g0 boards
Enables dma test cases loop_transfer and chan_blen_transfer
on stm32g03116_disco, nucleo_g071rb and nucleo_g0b1re.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-04-26 14:16:03 -04:00
Hake Huang
b609242903 dma: add request channel and release channel helper
add two dma api for dynamic channel reqest and release

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2021-04-23 14:58:40 +02:00
Shlomi Vaknin
703d396956 tests: dma: add stm32h7 to loop_transfer
Add nucleo h743zi board to loop_transfer test.

Signed-off-by: Shlomi Vaknin <shlomi.39sd@gmail.com>
2021-04-14 18:18:12 +02:00
Henrik Brix Andersen
711347686e tests: drivers: dma: add twr_ke18f board configurations
Add NXP TWR-KE18F development board test configurations for the DMA
driver test suites.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-03-31 09:22:10 -05:00
Francois Ramu
7664171518 tests: drivers: dma: remove dead code in test_dma_loop.c
Fix the error of the [Coverity CID :219489] "Structurally
dead code in tests/drivers/dma/loop_transfer/src/test_dma_loop.c"

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-03-10 05:41:20 -05:00
Erwan Gouriou
b389d1940e tests/drivers/dma: Enable tests on nucleo_f746zg and disco_l475_iot1
This will enable dma device testing on these platforms in ST CI.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-04 12:35:04 -05:00
Erwan Gouriou
d74dae2eaf tests/drivers/dma: loop_transfer: Use ztest harness
loop_transfer test was not using ztest framework as test harness.
Fix it.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-04 07:41:55 -05:00
Hake Huang
f02454f68a tests: update edma test pattern
align test pattern with testcase.yml

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2021-01-14 16:14:51 -06:00
Francois Ramu
64da50f45b tests: drivers: dma: adapt test applications on stm32l476 nucleo board
The dma test applications for MEM-to-MEM transfers are modified
to run on the stm32l476 with a DMA.
The CONFIG_DMA_LOOP_TRANSFER_DRV_NAME is either DMA_1 or DMA_2
CONFIG_DMA_LOOP_TRANSFER_CHANNEL_NR from 1 to 7 for DMA_1
CONFIG_DMA_LOOP_TRANSFER_CHANNEL_NR from 1 to 5 for DMA_2

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-12-27 18:16:47 +01:00
Francois Ramu
0a3437d4ca tests: drivers: dma: adapt test applications on stm32wb55 nucleo board
The dma test applications for MEM-to-MEM transfers are modified
to run on the stm32wb55 with a DMAMUX
loop_transfer on any CONFIG_DMA_LOOP_TRANSFER_CHANNEL_NR from 0 to 13
chan_blen_trasnfer on CONFIG_DMA_TRANSFER_CHANNEL_NR_0 from 0 to 13
and on CONFIG_DMA_TRANSFER_CHANNEL_NR_1 from 0 to 13

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-12-27 18:16:47 +01:00
Francois Ramu
445c8936e7 tests: drivers: dma adapt the dma tests applications for stm32 devices
It adds flexibility to test different dma channels
The chan_blen_transfer is modified
like the loop_transfer application to support stm32xx devices
with dma and/or dmamux.
On the stm32 devices, the first dma channel is 1.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2020-12-27 18:16:47 +01:00
Erwin Rol
f3ca040e41 tests: dma: loop_transfer: add board configurations
Add configurations for Nucleo F207ZG, F767ZI, L053R8, and L496ZG.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2020-09-03 21:50:58 +02:00
Erwin Rol
fc71836769 tests: dma: loop_transfer: allow configuration of device and channel
Add Kconfig with the following options:

- DMA_LOOP_TRANSFER_DRV_NAME to set the DMA device name, because
  some SOCs do not allow memory to memory DMA on all DMA devices
- DMA_LOOP_TRANSFER_CHANNEL_NR some SOCs start counting the DMA
  channels at 1 instead of 0.

Signed-off-by: Erwin Rol <erwin@erwinrol.com>
2020-09-03 21:50:58 +02:00
Tomasz Bursztyka
e18fcbba5a device: Const-ify all device driver instance pointers
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>
2020-09-02 13:48:13 +02:00
Tomasz Bursztyka
d99c59ead1 tests: Align all drivers using user_data for callback
s/callback_arg/user_data

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:48:00 +02:00
Tomasz Bursztyka
fe71673167 tests: Apply DMA callback change to relevant tests
Now the dma device instance is passed as parameter to the callback.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:48:00 +02:00
Hake Huang
30ce64d543 test: dma: avoid useing flash as dma source address
avoid to use the flash address as dma source,
to avoid flash cache issue
this is fix to issue #26812

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2020-07-20 18:01:04 -05:00
Hake Huang
abce94bb98 dma: add EDMA test support for MCUX
for RT series CONFIG_NOCACHE_MEMORY need enabled
for Kinetis series CONFIG_DMA_TEST_SLOT_START for test
modify the target and dest alignment

frdmk64f need replace strlen to sizeof in irq callback
clean the unused receive buffer, so output is tidy

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2020-06-12 13:03:28 -05:00
Kumar Gala
a1b77fd589 zephyr: replace zephyr integer types with C99 types
git grep -l 'u\(8\|16\|32\|64\)_t' | \
		xargs sed -i "s/u\(8\|16\|32\|64\)_t/uint\1_t/g"
	git grep -l 's\(8\|16\|32\|64\)_t' | \
		xargs sed -i "s/s\(8\|16\|32\|64\)_t/int\1_t/g"

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-06-08 08:23:57 -05:00
Marc Herbert
debade9121 tests: make find_package(Zephyr...) REQUIRED
... 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>
2020-05-29 10:47:25 +02:00