 |
Zephyr API 3.6.99
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
7#ifndef ZEPHYR_INCLUDE_DEVICETREE_MAP_H_
8#define ZEPHYR_INCLUDE_DEVICETREE_MAP_H_
82#define DT_NODE_HAS_MAP(node_id, prop) DT_NODE_HAS_PROP(node_id, prop)
93#define DT_MAP_LEN(node_id, prop) DT_PROP_LEN(node_id, prop)
104#define DT_MAP_HAS_ENTRY_BY_IDX(node_id, prop, entry_idx) \
105 IS_ENABLED(DT_CAT6(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _EXISTS))
118#define DT_MAP_HAS_ENTRY(node_id, prop) DT_MAP_HAS_ENTRY_BY_IDX(node_id, prop, 0)
128#define DT_MAP_ENTRY_CHILD_ADDRESS_LEN(node_id, prop, entry_idx) \
129 DT_CAT6(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _CHILD_ADDRESS_LEN)
140#define DT_MAP_ENTRY_HAS_CHILD_ADDRESS_BY_IDX(node_id, prop, entry_idx, param_idx) \
141 IS_ENABLED(DT_CAT8(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _CHILD_ADDRESS_IDX_, \
155#define DT_MAP_ENTRY_HAS_CHILD_ADDRESS(node_id, prop, entry_idx) \
156 DT_MAP_ENTRY_HAS_CHILD_ADDRESS_BY_IDX(node_id, prop, entry_idx, 0)
167#define DT_MAP_ENTRY_CHILD_ADDRESS_BY_IDX(node_id, prop, entry_idx, param_idx) \
168 DT_CAT7(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _CHILD_ADDRESS_IDX_, param_idx)
181#define DT_MAP_ENTRY_CHILD_ADDRESS(node_id, prop, entry_idx) \
182 DT_MAP_ENTRY_CHILD_ADDRESS_BY_IDX(node_id, prop, entry_idx, 0)
192#define DT_MAP_ENTRY_CHILD_SPECIFIER_LEN(node_id, prop, entry_idx) \
193 DT_CAT6(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _CHILD_SPECIFIER_LEN)
204#define DT_MAP_ENTRY_HAS_CHILD_SPECIFIER_BY_IDX(node_id, prop, entry_idx, param_idx) \
205 IS_ENABLED(DT_CAT8(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _CHILD_SPECIFIER_IDX_, \
219#define DT_MAP_ENTRY_HAS_CHILD_SPECIFIER(node_id, prop, entry_idx) \
220 DT_MAP_ENTRY_HAS_CHILD_SPECIFIER_BY_IDX(node_id, prop, entry_idx, 0)
231#define DT_MAP_ENTRY_CHILD_SPECIFIER_BY_IDX(node_id, prop, entry_idx, param_idx) \
232 DT_CAT7(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _CHILD_SPECIFIER_IDX_, param_idx)
245#define DT_MAP_ENTRY_CHILD_SPECIFIER(node_id, prop, entry_idx) \
246 DT_MAP_ENTRY_CHILD_SPECIFIER_BY_IDX(node_id, prop, entry_idx, 0)
256#define DT_MAP_ENTRY_PARENT_BY_IDX(node_id, prop, entry_idx) \
257 DT_CAT6(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _PARENT)
269#define DT_MAP_ENTRY_PARENT(node_id, prop) \
270 DT_MAP_ENTRY_PARENT_BY_IDX(node_id, prop, 0)
280#define DT_MAP_ENTRY_PARENT_ADDRESS_LEN(node_id, prop, entry_idx) \
281 DT_CAT6(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _PARENT_ADDRESS_LEN)
292#define DT_MAP_ENTRY_HAS_PARENT_ADDRESS_BY_IDX(node_id, prop, entry_idx, param_idx) \
293 IS_ENABLED(DT_CAT8(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _PARENT_ADDRESS_IDX_, \
307#define DT_MAP_ENTRY_HAS_PARENT_ADDRESS(node_id, prop, entry_idx) \
308 DT_MAP_ENTRY_HAS_PARENT_ADDRESS_BY_IDX(node_id, prop, entry_idx, 0)
319#define DT_MAP_ENTRY_PARENT_ADDRESS_BY_IDX(node_id, prop, entry_idx, param_idx) \
320 DT_CAT7(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _PARENT_ADDRESS_IDX_, param_idx)
333#define DT_MAP_ENTRY_PARENT_ADDRESS(node_id, prop, entry_idx) \
334 DT_MAP_ENTRY_PARENT_ADDRESS_BY_IDX(node_id, prop, entry_idx, 0)
344#define DT_MAP_ENTRY_PARENT_SPECIFIER_LEN(node_id, prop, entry_idx) \
345 DT_CAT6(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _PARENT_SPECIFIER_LEN)
356#define DT_MAP_ENTRY_HAS_PARENT_SPECIFIER_BY_IDX(node_id, prop, entry_idx, param_idx) \
357 IS_ENABLED(DT_CAT8(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _PARENT_SPECIFIER_IDX_, \
371#define DT_MAP_ENTRY_HAS_PARENT_SPECIFIER(node_id, prop, entry_idx) \
372 DT_MAP_ENTRY_HAS_PARENT_SPECIFIER_BY_IDX(node_id, prop, entry_idx, 0)
383#define DT_MAP_ENTRY_PARENT_SPECIFIER_BY_IDX(node_id, prop, entry_idx, param_idx) \
384 DT_CAT7(node_id, _P_, prop, _MAP_ENTRY_, entry_idx, _PARENT_SPECIFIER_IDX_, param_idx)
397#define DT_MAP_ENTRY_PARENT_SPECIFIER(node_id, prop, entry_idx) \
398 DT_MAP_ENTRY_PARENT_SPECIFIER_BY_IDX(node_id, prop, entry_idx, 0)
409#define DT_FOREACH_MAP_ENTRY(node_id, prop, fn) DT_CAT4(node_id, _P_, prop, _FOREACH_MAP_ENTRY)(fn)
422#define DT_FOREACH_MAP_ENTRY_SEP(node_id, prop, fn, sep) \
423 DT_CAT4(node_id, _P_, prop, _FOREACH_MAP_ENTRY_SEP)(fn, sep)
435#define DT_FOREACH_MAP_ENTRY_VARGS(node_id, prop, fn, ...) \
436 DT_CAT4(node_id, _P_, prop, _FOREACH_MAP_ENTRY_VARGS)(fn, __VA_ARGS__)
450#define DT_FOREACH_MAP_ENTRY_SEP_VARGS(node_id, prop, fn, sep, ...) \
451 DT_CAT4(node_id, _P_, prop, _FOREACH_MAP_ENTRY_SEP_VARGS)(fn, sep, __VA_ARGS__)