1 /*
2  * Copyright (c) 2021, Commonwealth Scientific and Industrial Research
3  * Organisation (CSIRO) ABN 41 687 119 230.
4  *
5  * SPDX-License-Identifier: Apache-2.0
6  */
7 
8 #include <zephyr/ztest.h>
9 #include <zephyr/devicetree.h>
10 #include <zephyr/device.h>
11 #include <zephyr/drivers/gpio.h>
12 #include <zephyr/drivers/adc.h>
13 #include <zephyr/drivers/mbox.h>
14 
15 #include <zephyr/linker/devicetree_regions.h>
16 
17 #define TEST_SRAM1 DT_NODELABEL(test_sram1)
18 #define TEST_SRAM2 DT_NODELABEL(test_sram2)
19 #define TEST_TEMP  DT_NODELABEL(test_temp_sensor)
20 
ZTEST(devicetree_api_ext,test_linker_regions)21 ZTEST(devicetree_api_ext, test_linker_regions)
22 {
23 	zassert_true(!strcmp(LINKER_DT_NODE_REGION_NAME(TEST_SRAM1), "SRAM_REGION"), "");
24 	zassert_true(!strcmp(LINKER_DT_NODE_REGION_NAME(TEST_SRAM2), "SRAM_REGION_2"), "");
25 }
26 
27 #define DT_DRV_COMPAT vnd_adc_temp_sensor
ZTEST(devicetree_api_ext,test_adc_dt_spec)28 ZTEST(devicetree_api_ext, test_adc_dt_spec)
29 {
30 	struct adc_dt_spec adc_spec;
31 
32 	/* ADC_DT_SPEC_GET_BY_NAME */
33 	adc_spec = (struct adc_dt_spec)ADC_DT_SPEC_GET_BY_NAME(TEST_TEMP, ch1);
34 	zassert_equal(adc_spec.channel_id, 10, "");
35 
36 	adc_spec = (struct adc_dt_spec)ADC_DT_SPEC_GET_BY_NAME(TEST_TEMP, ch2);
37 	zassert_equal(adc_spec.channel_id, 20, "");
38 
39 	/* ADC_DT_SPEC_INST_GET_BY_NAME */
40 	adc_spec = (struct adc_dt_spec)ADC_DT_SPEC_INST_GET_BY_NAME(0, ch1);
41 	zassert_equal(adc_spec.channel_id, 10, "");
42 
43 	adc_spec = (struct adc_dt_spec)ADC_DT_SPEC_INST_GET_BY_NAME(0, ch2);
44 	zassert_equal(adc_spec.channel_id, 20, "");
45 }
46 
47 DEVICE_DT_DEFINE(DT_NODELABEL(test_mbox), NULL, NULL, NULL, NULL, POST_KERNEL, 90, NULL);
48 DEVICE_DT_DEFINE(DT_NODELABEL(test_mbox_zero_cell), NULL, NULL, NULL, NULL, POST_KERNEL, 90, NULL);
ZTEST(devicetree_api_ext,test_mbox_dt_spec)49 ZTEST(devicetree_api_ext, test_mbox_dt_spec)
50 {
51 	const struct mbox_dt_spec channel_tx = MBOX_DT_SPEC_GET(TEST_TEMP, tx);
52 	const struct mbox_dt_spec channel_rx = MBOX_DT_SPEC_GET(TEST_TEMP, rx);
53 
54 	zassert_equal(channel_tx.channel_id, 1, "");
55 	zassert_equal(channel_rx.channel_id, 2, "");
56 
57 	const struct mbox_dt_spec channel_zero = MBOX_DT_SPEC_GET(TEST_TEMP, zero);
58 
59 	zassert_equal(channel_zero.channel_id, 0, "");
60 }
61 
62 ZTEST_SUITE(devicetree_api_ext, NULL, NULL, NULL, NULL, NULL);
63