Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
fixed-partitions.h
Go to the documentation of this file.
1
6/*
7 * Copyright (c) 2020, Linaro Ltd.
8 *
9 * SPDX-License-Identifier: Apache-2.0
10 */
11
12#ifndef ZEPHYR_INCLUDE_DEVICETREE_FIXED_PARTITION_H_
13#define ZEPHYR_INCLUDE_DEVICETREE_FIXED_PARTITION_H_
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
52#define DT_NODE_BY_FIXED_PARTITION_LABEL(label) \
53 DT_CAT(DT_COMPAT_fixed_partitions_LABEL_, label)
54
61#define DT_HAS_FIXED_PARTITION_LABEL(label) \
62 IS_ENABLED(DT_CAT3(DT_COMPAT_fixed_partitions_LABEL_, label, _EXISTS))
63
70#define DT_FIXED_PARTITION_EXISTS(node_id) \
71 DT_NODE_HAS_COMPAT(DT_PARENT(node_id), fixed_partitions)
72
78#define DT_FIXED_PARTITION_ID(node_id) DT_CAT(node_id, _PARTITION_ID)
79
86#define DT_MEM_FROM_FIXED_PARTITION(node_id) \
87 COND_CODE_1(DT_NODE_HAS_COMPAT(DT_GPARENT(node_id), soc_nv_flash), (DT_GPARENT(node_id)), \
88 (DT_INVALID_NODE))
89
96#define DT_MTD_FROM_FIXED_PARTITION(node_id) \
97 COND_CODE_1(DT_NODE_EXISTS(DT_MEM_FROM_FIXED_PARTITION(node_id)), \
98 (DT_PARENT(DT_MEM_FROM_FIXED_PARTITION(node_id))), (DT_GPARENT(node_id)))
99
133#define DT_FIXED_PARTITION_ADDR(node_id) \
134 (DT_REG_ADDR(DT_MEM_FROM_FIXED_PARTITION(node_id)) + DT_REG_ADDR(node_id))
135
140#ifdef __cplusplus
141}
142#endif
143
144#endif /* ZEPHYR_INCLUDE_DEVICETREE_FIXED_PARTITION_H_ */