Commit Graph

173 Commits

Author SHA1 Message Date
Erwan Gouriou
efd6fdb381 tests: clock_control: stm32: Enhance tests log messages
Perform some rework in messages displayed in case of failure to ease
readability:
- remove redundant information
- add missing information
- convert registers values to hex

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-11-10 09:30:09 +01:00
Erwan Gouriou
447c3df873 tests: clock_control: stm32h7_devices: Fix clock source check
Test was using "clock-names" property to query domain clock configuration.
This is not working since clock-names was removed in the last step of the
feature implementation and whole macro was always reporting DT_NO_CLOCK.

This issue went undetected because of an additional issue in the exception
case which was testing "zassert_true(1, .." instead of "zassert_true(0, .".

Fix both issues to make the test efficient again.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-11-10 09:30:09 +01:00
Kumar Gala
a1195ae39b smp: Move for loops to use arch_num_cpus instead of CONFIG_MP_NUM_CPUS
Change for loops of the form:

for (i = 0; i < CONFIG_MP_NUM_CPUS; i++)
   ...

to

unsigned int num_cpus = arch_num_cpus();
for (i = 0; i < num_cpus; i++)
   ...

We do the call outside of the for loop so that it only happens once,
rather than on every iteration.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2022-10-21 13:14:58 +02:00
Gerard Marull-Paretas
6a0f554ffa include: add missing kernel.h include
Some files make use of Kernel APIs without including kernel.h, fix this
problem.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-10-11 18:05:17 +02:00
Lauren Murphy
85445474f2 boards, dts: fix filenames and dts refs for adsp clock
Changes filenames and DTS references from CAVS clock to
ADSP clock.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2022-09-14 07:23:08 -04: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
Meng xianglin
9882ae8ace tests: stm32u5_devices: move to new ztest API
test cases in
tests/drivers/clock_control/stm32_clock_configuration/stm32u5_devices
are move to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
f8f667e91c tests: stm32u5_core: move to new ztest API
test cases in
tests/drivers/clock_control/stm32_clock_configuration/stm32u5_core
are moved to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
0ef8aae92b tests: stm32h7_devices: move to new ztest API
test cases in
tests/drivers/clock_control/stm32_clock_configuration/stm32h7_devices
are moved to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
45c5c7ba91 tests: stm32h7_core: move to new ztest API
test cases in
tests/drivers/clock_control/stm32_clock_configuration/stm32h7_core
are moved to new zest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
4e2da2e58f tests: stm32_common_devices: move to new ztest API
test cases in
tests/drivers/clock_control/stm32_clock_configuration/stm32_common_devices
are moved to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
bfd5118f53 tests: stm32_common_core: move to new ztest API
test cases in
tests/dirvers/clock_control/stm32_clock_configuration/stm32_common_core
are moved to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
13d281b683 tests: onoff: move to new ztest API
test cases in tests/drivers/clock_control/onoff are moved to new
ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
22d62cf28d tests: nrf_onof_and_bt: move to new ztest API
test cases in tests/drivers/clock_control/nrf_onoff_and_bt are moved
to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
13d22e0937 tests: nrf_lf_clock_start: move to new ztest API
test cases in tests/drivers/clock_control/nrf_lf_clock_start are
move to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
dae9bb4705 tests: nrf_clock_calibration: move to new ztest API
test cases in tests/drivers/clock_control/nrf_clck_calibration
are moved to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
d22f52a306 tests: clock_control_api: move to new ztest API
test cases in tests/drivers/clock_control/clock_control_api are
moved to new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Meng xianglin
fc2e86011b tests: cavs_clock: move to new ztest API
test cases in tests/drivers/clock_control/cavs_clock are moved to
new ztest API

Signed-off-by: Meng xianglin <xianglinx.meng@intel.com>
2022-09-05 10:13:27 +00:00
Gerard Marull-Paretas
a202341958 devices: constify device pointers initialized at compile time
Many device pointers are initialized at compile and never changed. This
means that the device pointer can be constified (immutable).

Automated using:

```
perl -i -pe 's/const struct device \*(?!const)(.*)= DEVICE/const struct
device *const $1= DEVICE/g' **/*.c
```

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-22 17:08:26 +02:00
Gerard Marull-Paretas
e0125d04af devices: constify statically initialized device pointers
It is frequent to find variable definitions like this:

```c
static const struct device *dev = DEVICE_DT_GET(...)
```

That is, module level variables that are statically initialized with a
device reference. Such value is, in most cases, never changed meaning
the variable can also be declared as const (immutable). This patch
constifies all such cases.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-19 11:51:26 +02:00
Erwan Gouriou
7b8baf3c56 tests: clock_control: stm32_common: Add a comment when enabling adc node
On some tests adc node is enabled w/o setting any domain clock.
This is made on purpose but deserves a comment to avoid surprises
for the reader.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-08-12 16:35:41 +01:00
Erwan Gouriou
110ac02da1 tests: clock_control: stm32f3: Fix test overlay
A second, faulty, configuration was provided for rcc node, which made
the test failing.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-08-12 16:35:41 +01:00
Francois Ramu
8401644416 tests: drivers: clock_control rename stm32 ahb test configuration
rename to pll_msis_ahb_2_40

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-08-10 14:32:14 +02:00
Erwan Gouriou
1ef9e9eb9b include: drivers: stm32 clock_control: Replace OPT by DOMAIN
In the continuation of the previous commit, replace _OPT_ by _DOMAIN_
in macros relating to this feature.
hen, adapt drivers and tests to this new wording.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-08-08 14:17:07 +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
Erwan Gouriou
97d75a6f59 tests: clock_control: stm32u5: Add tests to check HSE and HSI as sysclk src
This allows to complete test coverage on this driver.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-07-30 08:23:35 -05:00
Erwan Gouriou
5fe7b47e52 tests: clock_control: stm32u5 device: Fix clk_msik configuration
In tests/drivers/clock_control/stm32_clock_configuration/stm32u5_devices
test suite, core_init.overlay configure msis to use pll-mode.
Since pll-mode is not configured for msik in spi1_msik variant the test
fails since both clocks should support the same configuration regarding
pll mode (an assert in raised in the driver).

Fix this in spi1_msik test variant.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-07-30 08:23:35 -05:00
Kumar Gala
2014c59d20 clock_control: remove defconfig/proj setting of clock control drivers
Now that clock control drivers are enabled based on devicetree we
can remove any cases of them getting enabled by *defconfig and
proj.conf files.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-29 14:12:12 +02:00
Ederson de Souza
49d1583e2a soc/xtensa/intel_adsp: Enable WOVCRO based on platform support
Instead of enabling WOVCRO clock based on the SOC, use a configuration
to indicate support, so that each platform can specify if WOVCRO is
supported or not.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-07-28 11:04:05 -04:00
Anas Nashif
43371d0414 intel_adsp: move cavs to be a series
Intel ADSP CAVS is now a proper series with all CAVS SoCs running under
it. This will give us to Intel ADSP series:
- CAVS
- ACE v1.x

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-07-25 16:50:24 -04:00
Tomislav Milkovic
0fe2c1fe90 everywhere: Fix legacy include paths
Any project with Kconfig option CONFIG_LEGACY_INCLUDE_PATH set to n
couldn't be built because some files were missing zephyr/ prefix in
includes
Re-run the migrate_includes.py script to fix all legacy include paths

Signed-off-by: Tomislav Milkovic <milkovic@byte-lab.com>
2022-07-18 16:16:47 +00:00
Johann Fischer
d66e047e5b tests: use unsigned int for irq_lock()
irq_lock() returns an unsigned integer key.
Generated by spatch using semantic patch
scripts/coccinelle/irq_lock.cocci

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-07-14 14:37:13 -05:00
Kumar Gala
284611f3f1 tests: clock_control_api: Rework test to use struct device
Move to pass 'struct device *' instead of a 'char *'.  This lets us move
from device_get_binding to DEVICE_DT_GET.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-11 10:21:26 +02:00
Kumar Gala
9985f2d281 tests: drivers: nrf_clock_calibration: Convert to use DEVICE_DT_GET
Move to use DEVICE_DT_GET instead of device_get_binding as
we work on phasing out use of DTS 'label' property.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-07 10:04:38 +02:00
Kumar Gala
ef26ab7e85 tests: clock_control: on_off: Convert to use DEVICE_DT_GET
Move to use DEVICE_DT_GET instead of device_get_binding as
we work on phasing out use of DTS 'label' property.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-07 10:03:49 +02:00
Kumar Gala
e42cffb058 tests: clock_control: nrf_onoff_and_bt: Convert to use DEVICE_DT_GET
Move to use DEVICE_DT_GET instead of device_get_binding as
we work on phasing out use of DTS 'label' property.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-07 10:03:36 +02:00
Thomas Stranger
33eba217de tests/drivers/clock_control: stm32_common_devices: add adc alt. clk. src
This commit adds a test case that configures an alternative clock source
for an ADC peripheral.

In case no alt clock is available, only the gating clock is enabled
and disabled.
Unlike the i2c and lptim test, the actual gating clock frequency is
not checked, because for the adc there seems to be no uniform way
to retrieve the frequency via the hal.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-04 16:41:24 +02:00
Thomas Stranger
a6f4d604b6 tests/drivers/clock_control: stm32 add adc-pll_p overlays(g0,g4,wl)
For the STM32G0, STM32G4, and STM32WL enable the adc node in one
configuration, and select the PLL_P output as its clock source.
PLL_P divider is chosen to be 20 to make sure it's a unique frequency.
- g0, and g4 have pll as sysclk
- wl has hse as sysclock

The test configurations and the overlay-files are renamed accordingly.
All overlays that don't specify an alternative clock source still
make sure that the adc node is "okay" to be able to perform basic test.
The basic test only turns on and off the gate clock without checking the
frequency.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-04 16:41:24 +02:00
Thomas Stranger
1feaea34aa tests/drivers/clock_control: stm32_common_devices: lptim check disabled
The test checks if the peripheral gating clock was correctly disabled
after the test, but accidentally the I2C_CLK was checked instead of the
LPTIM_CLK.

This commit fixes this by using __HAL_RCC_LPTIM1_IS_CLK_ENABLED instead.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-04 16:41:24 +02:00
Thomas Stranger
fd49f4df1b tests: drivers: clock_control: stm32_wl fix external clock dts
The nucleo_wl55jc according to the datasheet does have a
NT2016SF-32M-END5875A 32MHz TCXO as HSE, therefore needs
enable the "hse-tcxo;" property to work, this was not the case
for the clock_configuration/stm32_common_devices test cases.

Additionally, remove the comment about about ST-Link clock,
because the source is the tcxo and not the ST-Link.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-07-04 16:41:24 +02:00
TLIG Dhaou
933bd0e55a tests: drivers: clock_control: stm32_clock_configuartion add testcases
Add testcases when hsi used with the hsi div as system clock source.

Signed-off-by: TLIG Dhaou <dhaou.tlig-ext@st.com>
2022-07-04 15:20:06 +02:00
Erwan Gouriou
bced529f78 include: stm32: clock_control: Ease usage of STM32_DT_CLOCKS macro
STM32_DT_CLOCKS was designed to take a device tree node label name as
argument: STM32_DT_CLOCKS(uart1)
Change its implementation to take a node identifier instead:
STM32_DT_CLOCKS(DT_NODELABEL(uart1)).

This make its usage more flexible since the argument can now be extracted
from other DT macros such as DT_PARENT. Then, the following can be done:
STM32_DT_CLOCKS(DT_PARENT(child_node_label)).

Since it is now possible implement STM32_DT_INST_CLOCKS using
STM32_DT_CLOCKS.

Finally, update existing STM32_DT_CLOCKS users and convert
STM32_INST_CLOCK_INFO users to STM32_CLOCK_INFO.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-06-28 11:07:29 +02:00
Ederson de Souza
b56088ba6d drivers/clock_control: Add cAVS clock driver
Simple driver that allows one to choose the clock speed of xtensa cores.
It's basically a shim layer on top of SOC level driver.
Also, a really simple test case was added, mainly to ensure things are
build and are sane.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-06-27 12:42:04 +02:00
Erwan Gouriou
b52021189b tests/drivers/clock_control: stm32: Migrate includes to <zephyr/...>
Follow up of what was done in main branch during this development.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +02:00
Erwan Gouriou
d9b9e12cd3 dts/bindings/clocks: stm32: 'clock-names' optional for source clock setting
Since implementation of clock source selection in consumer device drivers
could be achieved without usage of a clock-names property and no
example of usage is provided up to now, remove this property from existing
examples.
Additionally, make it clear in stm32 clock control binding that it is
driver's responsibility to correctly access clock source information
and use it as required.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +02:00
Erwan Gouriou
ac61ea9e44 tests/drivers/clock_control: stm32: Add stm32_common_devices tests
Add a test section to enable device clock source selection testing.
Test targets I2C1 device which supports clock source selection
on all SOCs using this driver except L1
Initial test done on wb target.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +02:00
Erwan Gouriou
17ace929f9 tests/drivers/clock_control: stm32_common: Move to stm32_common_core
Move stm32_common tests to stm32_common_core before adding new folder
for device source selection tests.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +02:00
Erwan Gouriou
bc2a0b65a6 tests/drivers/clock_control: stm32u5: Fix pll_msis_80 test config
PLL input should be between 4 and 16MHz, so when MSI is set to 4MHz
fix PLLM can't be higher than 1.
Fix PLL1-NQR in consequence.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +02:00
Erwan Gouriou
b821599abc tests/drivers/clock_control: stm32u5: Add a _devices test
Add a stm32u5_devices test which aims at testing devices
clock control configuration on stm32u5 targets

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +02:00
Erwan Gouriou
c0238a7af3 tests/drivers/clock_control: stm32h7_device: Add test for CKPER source
Add 2 scenarios to test CKPER used as a clock source.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +02:00
Erwan Gouriou
f61c4ae838 tests/drivers/clock_control: stm32h7_device: Use STM32_DT_CLOCKS_FOO
Make use of STM32_DT_CLOCKS_ macros to have the test work conditionally
based on alt clock presence.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +02:00
Erwan Gouriou
78f40773b8 tests/drivers/clock_control: stm32h7: Add test for devices clock cfg
Add 2 clocks tests around device clock configuration on stm32h7.
For now, 'spi1_pllq_2_d1ppre_4' test variant is failed, which
illustrates issue reported in #41650.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-05-10 18:42:30 +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
Erwan Gouriou
531c484958 tests/drivers/clock_control: stm32_common: Test HCLCK instead of SYSCLK
Rework test_*_freq to test HCLK freq instead of SYSCLK one, as it is not
correct to compare CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC with SYSCLK.

Additionally, add a test to verify use of AHB prescaler.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-04-21 14:09:44 +02:00
Erwan Gouriou
d8f5ef725f tests/drivers/clock_control: stm32u5: Rework to explicitly test HCLK
Instead of testing SysClockFreq setting, we should instead check HCLK
setting which is the real zephyr CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC
counterpart (core clock freq) and takes AHB prescaler setting into
account.

Additionally, update one test configuration to explicitly verify AHB
prescaler is correctly taken into account by clock driver.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-04-21 14:09:44 +02:00
Erwan Gouriou
da370ea720 tests/drivers/clock_control: stm32l0/l1: MSI range 11 is not allowed
Remove L0 and L1 targets from "sysclksrc_msi_48" test case as this
MSI range 11 is not an allowed value on these series.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-04-21 14:09:44 +02:00
Erwan Gouriou
fa85670f1b tests/drivers/clock_control: stm32f1: HSI clock is 8MHz
On STM32F series, HSI clock is 8MHz, fix test using 16MHz
and a test name.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-04-21 14:09:44 +02:00
Erwan Gouriou
ca842acdd7 tests/drivers/clock_control: stm32h7: Change clock_control champion
Change default board to fit board used on ST bench.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
058aa0d669 tests/drivers/clock_control: stm32: Remove prescalers from overlays
Test doesn't do any check on prescalers. Remove references and
existing user: wx_clear_clocks overlay.
Proceed to new factorization when possible.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
aeb4d29777 tests/drivers/clock_control: stm32: G4/G0 grouping
Factorize some G4/G0 cases.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
086fac7134 tests/drivers/clock_control: stm32: Revise TC order
Group TC by series, then clck srce

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
51494fb9bd tests/drivers/clock_control: stm32: Factorize wl/wb clear clocks overlay
Since they don't have impact on sysclock src configuration,
remove LSI/E clocks from clear clocks overlays.
This enables the possibility to factorize wl and wb clear clocks overlays
and brings some use cases factorizations as well.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
f9e0bc642e tests/drivers/clock_control: stm32: Revise TC naming
Revise test cases naming:
- Replace _<series>_ by a .<series>. field in test cases naming
- Rename clear_clocks_msi.overlay to clear_msi.overlay

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
101024e67c tests/drivers/clock_control: stm32: Fix board selection
Fix selection of boards used:
- Remove superfluous/redundant configs
- Adapt to boards available on ST test bench
- fix typos

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
8d6e8b6428 tests/drivers/clock_control: stm32: Fix fixture
To be functional, harness_config require a `harness: ztest` property,
add it.
Additionally, provide a comment to explain motivation behind this fixture.


Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
c3cffecd22 tests/drivers/clock_control: stm32u5: Rename to _core
Rename stm32u5 test to stm32u5_core before addition
of stm32u5_devices.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Erwan Gouriou
47d553d089 tests/drivers/clock_control: stm32h7: Move tests under stm32h7_core
Before introducing a new test for peripheral clocks,
rename existing stm32h7 test section by stm32h7_core.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-03-31 12:29:25 -05:00
Francois Ramu
8e0db1431e tests: drivers: stm32 clock control testing on stm32fx mcus
target is stm32fxx with clearing clock config
target is stm32fxx with pll from hsi clock config
target is stm32fxx with pll from hse clock config (with bypass)
target is stm32fxx with hse, hsi, clock config (no pll)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
70d2b136ec tests: drivers: stm32 clock control testing on stm32l4 / l5 mcus
target is stm32l4x/l5x with clearing clock config
target is stm32l4x/l5x with pll 64MHz from hsi clock config
target is stm32l4x/l5x with pll 48MHz from msi clock config
target is stm32l4x/l5x with pll 64MHz from hse clock config (with bypass)
target is stm32l4x/l5x with hse, hsi, msi clock config (no pll)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
68add9e7e1 tests: drivers: stm32 hse clock control testing on stm32g071 nucleo
Testing the HSE on the nucleo_stm32g071rb requires a hw fixture
on the hw board : MCO signal must given by the STLink to the mcu.
Put a hardware fixture to activate the hse clock with by-passed
only if the SB17 is closed on the HW.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
676ddd72a9 tests: drivers: stm32 clock control testing on stm32wb55
target is stm32wb55 with clearing clock config
target is stm32wb55 with pll 48MHz from hsi clock config
target is stm32wb55 with pll 48MHz from msi clock config
target is stm32wb55 with pll 64Hz from hse clock config
target is stm32wb55 with hse, msi, hsi clock config (no pll)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
30a65dc6d1 tests: drivers: stm32 clock control testing on stm32wl55
target is stm32wl55 with clearing clock config
target is stm32wl55 with pll 48MHz from hsi clock config
target is stm32wl55 with pll 48MHz from hse clock config
target is stm32wl55 with hse clock config (no pll)
target is stm32wl55 with msi clock config (no pll)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
47933bf808 tests: drivers: stm32 clock control for stm32l0 and stm32l1
Fix build error for stm32 devices which have no function
to get the PLL ON bit from the RCC_CR register
Use the register access instead.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
02c3e9ac6f tests: drivers: stm32 clock control testing on stm32l1 and stm32l0
target is stm32l1/l0 with pll 32MHz from hsi clock config
target is stm32l1/l0 with pll 32MHz from hse clock config
target is stm32l1/l0 with hse clock config (no pll)
target is stm32l1/l0 with hsi clock config (no pll)
target is stm32l1/l0 with msi clock config (no pll)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
032fb610a4 tests: drivers: stm32 clock control testing on stm32g4
target is stm32g4 with pll 64MHz from hsi clock config
target is stm32g4 with pll 64MHz from hse clock config
target is stm32g4 with hsi clock config (no pll)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
f3a1d03b5c tests: drivers: stm32 clock control testing on stm32g0
target is stm32g0 with pll 64MHz from hsi clock config
target is stm32g0 with pll 64MHz from hse clock config
target is stm32g0 with hsi clock config (no pll)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Francois Ramu
cb2c255332 tests: drivers: clock_control for stm32h7 config
fix comment when configuring the PLL with CSI clock source

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-03-23 09:25:47 -05:00
Nazar Kazakov
f483b1bc4c everywhere: fix typos
Fix a lot of typos

Signed-off-by: Nazar Kazakov <nazar.kazakov.work@gmail.com>
2022-03-18 13:24:08 -04:00
Gerard Marull-Paretas
9a02676d9e tests: drivers: clock_control: nrf_onoff_and_bt: use DEVICE_DT_GET
Use DEVICE_DT_GET to obtain a reference to the chosen entropy device.
The device is now global, and readiness is checked at the test setup
fixture.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-11 15:27:05 -08:00
Krzysztof Chruscinski
5cf70e4860 tests: drivers: clock_control: nrf_calibration: Skip test for nrf52832
On nrf52832 disabling low frequency clock results in RTC COUNTER
reset. It is unexpected and system clock can be disrupted and
test may hang. Disable test which restarts LF clock for nrf52832.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-01 14:16:18 -06:00
Krzysztof Chruscinski
18c0c7a2e5 tests: drivers: clock_control: api: nrf: Disable tests for nrf52832
On nrf52832 LF clock cannot be stopped during runtime because
it resets RTC COUNTER. Testsuite run on nrf clock control driver
assumes that it will not happen. Disabling testing of LF clock
for nrf52832.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-01 14:16:18 -06:00
Erwan Gouriou
b5b32b9b3e tests/drivers/clock_control: stm32: Add test suite for H7 series
Add clock_control test suite for H7 boards

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-01-07 18:19:16 +01:00
Erwan Gouriou
fc23da19af tests/drivers/clock_control: stm32u5: Factorize tests in yaml file
To ease maintenance, add a common section.
It appears that using DTC_OVERLAY_FILE in the common section
preserves the required overlay order.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-01-07 18:19:16 +01:00
Erwan Gouriou
73c1233461 tests/drivers/clock_control: stm32u5: Add a pll_msis_160 overlay
Instead of relying on default board configuration,
add a specific test for this config.

Additionally rename existing pll_msi_80 to pll_msis_160.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-01-07 18:19:16 +01:00
Erwan Gouriou
228a96e41e tests/drivers/clock_control: stm32u5: Use a clear_clocks overlay
Instead of relying on existing board clock configuration,
use a clear_clocks.overlay file to first reset the clock
configuration to the default .dtsi state, then apply a
new configuration.
This method should be more robust when trying to use on more
boards and has the benefit to provide correct configuration
examples.

This relies on the fact that overlays are applied in the order
they are provided in DTC_OVERLAY_FILE CMake variable.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-01-07 18:19:16 +01:00
Erwan Gouriou
c6fd75af54 tests/drivers/clock_control: stm32: Move u5 tests in dedicated folder
Before adding more tests, organize things a little.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-01-07 18:19:16 +01:00
Erwan Gouriou
f7f67ded53 tests/drivers/clock_control: stm32u5: Add tests on clock configs
Add a test suite to check various clocks configurations.
Test is based on HAL functions that read clock configuration
from registers.
One test is build only, as there is no available hw to test it today.
Others can be tested on target.

More configurations and test points could be added in future.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-12-09 19:45:41 -05:00
Henrik Brix Andersen
265cdf8dc6 cmake: use find_package() instead of literal include in tests and samples
Convert remaining tests and samples to using find_package() instead of
literally including the CMake boilerplate code.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2021-11-01 10:33:09 -04: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
Gerard Marull-Paretas
9a2fcb7a97 tests: drivers: remove usage of device_pm_control_nop
device_pm_control_nop is now deprecated in favour of NULL.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-04-28 12:53:09 -04:00
Kumar Gala
1706bd2b41 tests: convert DEVICE_AND_API_INIT to DEVICE_DEFINE
Convert tests to DEVICE_{DT_}DEFINE instead of DEVICE_AND_API_INIT
so we can deprecate DEVICE_AND_API_INIT in the future.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-12-19 20:05:40 -05:00
Krzysztof Chruscinski
2d247ccf70 tests: drivers: clock_control: Change errno in the test
Aligned error code to API change.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:56 +02:00
Krzysztof Chruscinski
a348cec400 drivers: clock_control: Change clock_control_async_on parameters
Stable API change: modify parameters of clock_control_async_on which
previously took a structure which contains list node, callback and user
context. Removing list node and replacing structure with two parameters:
callback and user context. List node is removed because it has no use
in current API.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-10-14 14:06:56 +02:00
Krzysztof Chruscinski
96b6da9bea tests: drivers: clock_control: Add LF clock start test
Added test which verifies various modes of waiting for system clock
(no wait, available, stable) for different clock configurations (xtal,
rc, synth).

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-09-10 21:31:01 +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
Anas Nashif
dca317c730 sanitycheck: inclusive language
change whitelist -> allow.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-08-27 07:04:07 -04:00
Flavio Ceolin
e227f5ba13 tests: clock_control: Check return error
clock_control_off returns a negative value on error. Check it properly.

Fixes #27329

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-08-06 18:56:37 -04:00
Krzysztof Chruscinski
c0169f985f tests: drivers: clock_control: nrf: Add suite for bluetooth API
Nordic platforms exposes API for controlling HF clock along
onoff API. This API is dedicated to be used by the bluetooth
controller and must not be used elsewhere.

Test suite is validating stability of HF clock control using
onoff API and specialized API.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-07-20 16:22:21 +02:00
Krzysztof Chruscinski
cd9bb3221c tests: drivers: clock_control: Add suite for onoff with clock
Added suite to test clock control with onoff.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-07-20 16:22:21 +02:00
Krzysztof Chruscinski
6f01c0bc79 drivers: clock_control: nrf: Add onoff service support
Updated nrf clock control driver to use onoff service for managing
multiple users.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-07-20 16:22:21 +02:00