Lines Matching +full:reserved +full:- +full:memory
1 *** Reserved memory regions ***
3 Reserved memory is specified as a node under the /reserved-memory node.
4 The operating system shall exclude reserved memory from normal usage
5 one can create child nodes describing particular reserved (excluded from
6 normal use) memory regions. Such memory regions are usually designed for
9 Parameters for each memory region can be encoded into the device tree
12 /reserved-memory node
13 ---------------------
14 #address-cells, #size-cells (required) - standard definition
15 - Should use the same values as the root node
16 ranges (required) - standard definition
17 - Should be empty
19 /reserved-memory/ child nodes
20 -----------------------------
21 Each child of the reserved-memory node specifies one or more regions of
22 reserved memory. Each child node may either use a 'reg' property to
23 specify a specific range of reserved memory, or a 'size' property with
24 optional constraints to request a dynamically allocated block of memory.
26 Following the generic-names recommended practice, node names should
27 reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit
34 reg (required) - standard definition
36 size (required) - length based on parent's #size-cells
37 - Size in bytes of memory to reserve.
38 alignment (optional) - length based on parent's #size-cells
39 - Address boundary for alignment of allocation.
40 alloc-ranges (optional) - prop-encoded-array (address, length pairs).
41 - Specifies regions of memory that are
48 compatible (optional) - standard definition
49 - may contain the following strings:
50 - shared-dma-pool: This indicates a region of memory meant to be
54 - restricted-dma-pool: This indicates a region of memory meant to be
56 memory region would be the only region accessible to those devices.
57 When using this, the no-map and reusable properties must not be set,
61 which could result in the DMA accessing the system memory at
66 system memory corruption, the system needs to provide way to lock down
67 the memory access, e.g., MPU. Note that since coherent allocation
69 shared-dma-pool and use dma_alloc_from_dev_coherent instead for atomic
71 - vendor specific string in the form <vendor>,[<device>-]<usage>
72 no-map (optional) - empty property
73 - Indicates the operating system must not create a virtual mapping
74 of the region as part of its standard mapping of system memory,
77 reusable (optional) - empty property
78 - The operating system can use the memory in this region with the
84 A node must not carry both the no-map and the reusable property as these are
88 - If a "linux,cma-default" property is present, then Linux will use the
89 region for the default pool of the contiguous memory allocator.
91 - If a "linux,dma-default" property is present, then Linux will use the
94 Device node references to reserved memory
95 -----------------------------------------
96 Regions in the /reserved-memory node may be referenced by other device
97 nodes by adding a memory-region property to the device node.
99 memory-region (optional) - phandle, specifier pairs to children of /reserved-memory
100 memory-region-names (optional) - a list of names, one for each corresponding
101 entry in the memory-region property
104 -------
108 one for multimedia processing (named multimedia-memory@77000000, 64MiB), and
112 #address-cells = <1>;
113 #size-cells = <1>;
115 memory {
119 reserved-memory {
120 #address-cells = <1>;
121 #size-cells = <1>;
126 compatible = "shared-dma-pool";
130 linux,cma-default;
138 compatible = "acme,multimedia-memory";
143 compatible = "restricted-dma-pool";
151 memory-region = <&display_reserved>;
156 memory-region = <&multimedia_reserved>;
161 memory-region = <&multimedia_reserved>;
168 memory-region = <&restricted_dma_reserved>;