|
76 | 76 | #define TEST_DMA_CTLR_1 DT_NODELABEL(test_dma1)
|
77 | 77 | #define TEST_DMA_CTLR_2 DT_NODELABEL(test_dma2)
|
78 | 78 |
|
| 79 | +#define TEST_VIDEO2 DT_NODELABEL(test_video2) |
| 80 | +#define TEST_VIDEO2_PORT0 DT_NODELABEL(test_video2_port0) |
| 81 | +#define TEST_VIDEO2_PORT0_IN0 DT_NODELABEL(test_video2_port0_in0) |
| 82 | +#define TEST_VIDEO2_PORT0_IN1 DT_NODELABEL(test_video2_port0_in1) |
| 83 | +#define TEST_VIDEO2_PORT1 DT_NODELABEL(test_video2_port1) |
| 84 | +#define TEST_VIDEO2_PORT1_IN DT_NODELABEL(test_video2_port1_in) |
| 85 | +#define TEST_VIDEO0 DT_NODELABEL(test_video0) |
| 86 | +#define TEST_VIDEO0_OUT DT_NODELABEL(test_video0_out) |
| 87 | +#define TEST_VIDEO0_PORT DT_NODELABEL(test_video0_port) |
| 88 | +#define TEST_VIDEO1 DT_NODELABEL(test_video1) |
| 89 | +#define TEST_VIDEO1_OUT0 DT_NODELABEL(test_video1_out0) |
| 90 | +#define TEST_VIDEO1_OUT1 DT_NODELABEL(test_video1_out1) |
| 91 | +#define TEST_VIDEO1_PORT DT_NODELABEL(test_video1_port) |
| 92 | + |
79 | 93 | #define TEST_IO_CHANNEL_CTLR_1 DT_NODELABEL(test_adc_1)
|
80 | 94 | #define TEST_IO_CHANNEL_CTLR_2 DT_NODELABEL(test_adc_2)
|
81 | 95 |
|
@@ -1309,6 +1323,78 @@ ZTEST(devicetree_api, test_dma)
|
1309 | 1323 | zassert_false(DT_INST_DMAS_HAS_IDX(0, 2), "");
|
1310 | 1324 | }
|
1311 | 1325 |
|
| 1326 | +#undef DT_DRV_COMPAT |
| 1327 | +DT_FOREACH_STATUS_OKAY_VARGS(vnd_video_single_port, DEVICE_DT_DEFINE, NULL, NULL, NULL, NULL, |
| 1328 | + POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY, NULL); |
| 1329 | +DT_FOREACH_STATUS_OKAY_VARGS(vnd_video_multi_port, DEVICE_DT_DEFINE, NULL, NULL, NULL, NULL, |
| 1330 | + POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY, NULL); |
| 1331 | +ZTEST(devicetree_api, test_video) |
| 1332 | +{ |
| 1333 | + /* DT_INST_PORT_BY_ID */ |
| 1334 | +#define DT_DRV_COMPAT vnd_video_single_port |
| 1335 | + zassert_true(DT_SAME_NODE(DT_INST_PORT_BY_ID(0, 0), |
| 1336 | + TEST_VIDEO0_PORT), "get port node of video0"); |
| 1337 | + zassert_true(DT_SAME_NODE(DT_INST_PORT_BY_ID(1, 0), TEST_VIDEO1_PORT), |
| 1338 | + "get port node of video1"); |
| 1339 | +#undef DT_DRV_COMPAT |
| 1340 | +#define DT_DRV_COMPAT vnd_video_multi_port |
| 1341 | + zassert_true(DT_SAME_NODE(DT_INST_PORT_BY_ID(0, 0), TEST_VIDEO2_PORT0), |
| 1342 | + "get port@0 node of video2"); |
| 1343 | + zassert_true(DT_SAME_NODE(DT_INST_PORT_BY_ID(0, 1), TEST_VIDEO2_PORT1), |
| 1344 | + "get port@1 node of video2"); |
| 1345 | +#undef DT_DRV_COMPAT |
| 1346 | + |
| 1347 | + /* DT_INST_ENDPOINT_BY_ID */ |
| 1348 | +#define DT_DRV_COMPAT vnd_video_single_port |
| 1349 | + zassert_true(DT_SAME_NODE(DT_INST_ENDPOINT_BY_ID(0, 0, 0), TEST_VIDEO0_OUT), |
| 1350 | + "get endpoint node of port node of video0"); |
| 1351 | + zassert_true(DT_SAME_NODE(DT_INST_ENDPOINT_BY_ID(1, 0, 0), TEST_VIDEO1_OUT0), |
| 1352 | + "get endpoint@0 node of port node of video1"); |
| 1353 | + zassert_true(DT_SAME_NODE(DT_INST_ENDPOINT_BY_ID(1, 0, 1), TEST_VIDEO1_OUT1), |
| 1354 | + "get endpoint@1 node of port node of video1"); |
| 1355 | +#undef DT_DRV_COMPAT |
| 1356 | +#define DT_DRV_COMPAT vnd_video_multi_port |
| 1357 | + zassert_true(DT_SAME_NODE(DT_INST_ENDPOINT_BY_ID(0, 0, 0), TEST_VIDEO2_PORT0_IN0), |
| 1358 | + "get endpoint@0 node of port@0 node of video2"); |
| 1359 | + zassert_true(DT_SAME_NODE(DT_INST_ENDPOINT_BY_ID(0, 0, 1), TEST_VIDEO2_PORT0_IN1), |
| 1360 | + "get endpoint@1 node of port@0 node of video2"); |
| 1361 | + zassert_true(DT_SAME_NODE(DT_INST_ENDPOINT_BY_ID(0, 1, 0), TEST_VIDEO2_PORT1_IN), |
| 1362 | + "get endpoint node of port@1 node of video2"); |
| 1363 | +#undef DT_DRV_COMPAT |
| 1364 | + |
| 1365 | + /* DT_NODE_BY_ENDPOINT */ |
| 1366 | + zassert_true(DT_SAME_NODE(DT_NODE_BY_ENDPOINT(TEST_VIDEO0_OUT), |
| 1367 | + TEST_VIDEO0), "get video0 node from its endpoint"); |
| 1368 | + zassert_true(DT_SAME_NODE(DT_NODE_BY_ENDPOINT(TEST_VIDEO1_OUT0), TEST_VIDEO1), |
| 1369 | + "get video1 node from its endpoint@0"); |
| 1370 | + zassert_true(DT_SAME_NODE(DT_NODE_BY_ENDPOINT(TEST_VIDEO1_OUT1), TEST_VIDEO1), |
| 1371 | + "get video1 node from its endpoint@1"); |
| 1372 | + zassert_true(DT_SAME_NODE(DT_NODE_BY_ENDPOINT(TEST_VIDEO2_PORT0_IN0), TEST_VIDEO2), |
| 1373 | + "get video2 node from its endpoint@0 at port@0"); |
| 1374 | + zassert_true(DT_SAME_NODE(DT_NODE_BY_ENDPOINT(TEST_VIDEO2_PORT0_IN1), TEST_VIDEO2), |
| 1375 | + "get video2 node from its endpoint@1 at port@0"); |
| 1376 | + zassert_true(DT_SAME_NODE(DT_NODE_BY_ENDPOINT(TEST_VIDEO2_PORT1_IN), TEST_VIDEO2), |
| 1377 | + "get video2 node from its endpoint at port@1"); |
| 1378 | + |
| 1379 | + /* DT_NODE_REMOTE_DEVICE */ |
| 1380 | +#define DT_DRV_COMPAT vnd_video_single_port |
| 1381 | + zassert_true(DT_SAME_NODE(DT_NODE_REMOTE_DEVICE(TEST_VIDEO0_OUT), TEST_VIDEO2), |
| 1382 | + "get remote device node of video0's endpoint"); |
| 1383 | + zassert_true(DT_SAME_NODE(DT_NODE_REMOTE_DEVICE(TEST_VIDEO1_OUT0), TEST_VIDEO2), |
| 1384 | + "get remote device node of video1's endpoint@0"); |
| 1385 | + zassert_true(DT_SAME_NODE(DT_NODE_REMOTE_DEVICE(TEST_VIDEO1_OUT1), TEST_VIDEO2), |
| 1386 | + "get remote device node of video1's endpoint@1"); |
| 1387 | +#undef DT_DRV_COMPAT |
| 1388 | +#define DT_DRV_COMPAT vnd_video_multi_port |
| 1389 | + zassert_true(DT_SAME_NODE(DT_NODE_REMOTE_DEVICE(TEST_VIDEO2_PORT0_IN0), TEST_VIDEO0), |
| 1390 | + "get remote device node of video2's port@0 endpoint@0"); |
| 1391 | + zassert_true(DT_SAME_NODE(DT_NODE_REMOTE_DEVICE(TEST_VIDEO2_PORT0_IN1), TEST_VIDEO1), |
| 1392 | + "get remote device node of video2's port@0 endpoint@1"); |
| 1393 | + zassert_true(DT_SAME_NODE(DT_NODE_REMOTE_DEVICE(TEST_VIDEO2_PORT1_IN), TEST_VIDEO1), |
| 1394 | + "get remote device node of video2's port@1 endpoint"); |
| 1395 | +#undef DT_DRV_COMPAT |
| 1396 | +} |
| 1397 | + |
1312 | 1398 | #undef DT_DRV_COMPAT
|
1313 | 1399 | #define DT_DRV_COMPAT vnd_phandle_holder
|
1314 | 1400 | ZTEST(devicetree_api, test_pwms)
|
|
0 commit comments