Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
memory-attr-arm64.h
Go to the documentation of this file.
1
10#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_MEM_ATTR_ARM64_H_
11#define ZEPHYR_INCLUDE_DT_BINDINGS_MEM_ATTR_ARM64_H_
12
14
20
22
24#define DT_MEM_ARM64_MASK DT_MEM_ARCH_ATTR_MASK
25
30#define DT_MEM_ARM64(x) ((x) << DT_MEM_ARCH_ATTR_SHIFT)
31
32/*
33 * Architecture-specific sub-attribute bits (before shifting).
34 *
35 * These refine the generic DT_MEM_* attributes for ARM64. They occupy
36 * bits [31:20] of the zephyr,memory-attr value via DT_MEM_ARM64().
37 */
38
40#define ATTR_ARM64_CACHE_WB BIT(1)
41
43
51 #define DT_MEM_ARM64_GET(x) ((x) & DT_MEM_ARM64_MASK)
52
53/*
54 * Convenience macros: combinations of generic + arch-specific attributes.
55 *
56 * Following the subsystem's composable-bitmask design, each macro is
57 * built from the generic DT_MEM_CACHEABLE flag and architecture-specific
58 * sub-attributes rather than standalone one-hot enumerations.
59 */
60
62#define DT_MEM_ARM64_MMU_NORMAL_NC (0)
64#define DT_MEM_ARM64_MMU_NORMAL_WT (DT_MEM_CACHEABLE)
66#define DT_MEM_ARM64_MMU_NORMAL (DT_MEM_CACHEABLE | \
67 DT_MEM_ARM64(ATTR_ARM64_CACHE_WB))
68
69#define DT_MEM_ARM64_MMU_UNKNOWN DT_MEM_ARCH_ATTR_UNKNOWN
70
72
73#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_MEM_ATTR_ARM64_H_ */
Generic devicetree memory attribute definitions.