101 lines
2.8 KiB
YAML
101 lines
2.8 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: /reserved-memory Child Node Common
|
|
|
|
maintainers:
|
|
- devicetree-spec@vger.kernel.org
|
|
|
|
description: >
|
|
Reserved memory is specified as a node under the /reserved-memory node. The
|
|
operating system shall exclude reserved memory from normal usage one can
|
|
create child nodes describing particular reserved (excluded from normal use)
|
|
memory regions. Such memory regions are usually designed for the special
|
|
usage by various device drivers.
|
|
|
|
Each child of the reserved-memory node specifies one or more regions
|
|
of reserved memory. Each child node may either use a 'reg' property to
|
|
specify a specific range of reserved memory, or a 'size' property with
|
|
optional constraints to request a dynamically allocated block of
|
|
memory.
|
|
|
|
Following the generic-names recommended practice, node names should
|
|
reflect the purpose of the node (ie. "framebuffer" or "dma-pool").
|
|
Unit address (@<address>) should be appended to the name if the node
|
|
is a static allocation.
|
|
|
|
properties:
|
|
reg: true
|
|
|
|
size:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
minItems: 1
|
|
maxItems: 2
|
|
description: >
|
|
Length based on parent's \#size-cells. Size in bytes of memory to
|
|
reserve.
|
|
|
|
alignment:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
minItems: 1
|
|
maxItems: 2
|
|
description: >
|
|
Length based on parent's \#size-cells. Address boundary for
|
|
alignment of allocation.
|
|
|
|
alloc-ranges:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
description: >
|
|
Address and Length pairs. Specifies regions of memory that are
|
|
acceptable to allocate from.
|
|
|
|
no-map:
|
|
type: boolean
|
|
description: >
|
|
Indicates the operating system must not create a virtual mapping
|
|
of the region as part of its standard mapping of system memory,
|
|
nor permit speculative access to it under any circumstances other
|
|
than under the control of the device driver using the region.
|
|
|
|
reusable:
|
|
type: boolean
|
|
description: >
|
|
The operating system can use the memory in this region with the
|
|
limitation that the device driver(s) owning the region need to be
|
|
able to reclaim it back. Typically that means that the operating
|
|
system can use that region to store volatile or cached data that
|
|
can be otherwise regenerated or migrated elsewhere.
|
|
|
|
allOf:
|
|
- if:
|
|
required:
|
|
- no-map
|
|
|
|
then:
|
|
not:
|
|
required:
|
|
- reusable
|
|
|
|
- if:
|
|
required:
|
|
- reusable
|
|
|
|
then:
|
|
not:
|
|
required:
|
|
- no-map
|
|
|
|
oneOf:
|
|
- required:
|
|
- reg
|
|
|
|
- required:
|
|
- size
|
|
|
|
additionalProperties: true
|
|
|
|
...
|