summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/sram/sram.txt
blob: 068c2c03c38f7226dd36a6a38ea12a6d87565892 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Generic on-chip SRAM

Simple IO memory regions to be managed by the genalloc API.

Required properties:

- compatible : mmio-sram or atmel,sama5d2-securam

- reg : SRAM iomem address range

Reserving sram areas:
---------------------

Each child of the sram node specifies a region of reserved memory. Each
child node should use a 'reg' property to specify a specific range of
reserved memory.

Following the generic-names recommended practice, node names should
reflect the purpose of the node. Unit address (@<address>) should be
appended to the name.

Required properties in the sram node:

- #address-cells, #size-cells : should use the same values as the root node
- ranges : standard definition, should translate from local addresses
           within the sram to bus addresses

Optional properties in the sram node:

- no-memory-wc : the flag indicating, that SRAM memory region has not to
                 be remapped as write combining. WC is used by default.

Required properties in the area nodes:

- reg : iomem address range, relative to the SRAM range

Optional properties in the area nodes:

- compatible : standard definition, should contain a vendor specific string
               in the form <vendor>,[<device>-]<usage>
- pool : indicates that the particular reserved SRAM area is addressable
         and in use by another device or devices
- export : indicates that the reserved SRAM area may be accessed outside
           of the kernel, e.g. by bootloader or userspace
- label : the name for the reserved partition, if omitted, the label
          is taken from the node name excluding the unit address.

Example:

sram: sram@5c000000 {
	compatible = "mmio-sram";
	reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */

	#address-cells = <1>;
	#size-cells = <1>;
	ranges = <0 0x5c000000 0x40000>;

	smp-sram@100 {
		compatible = "socvendor,smp-sram";
		reg = <0x100 0x50>;
	};

	device-sram@1000 {
		reg = <0x1000 0x1000>;
		pool;
	};

	exported@20000 {
		reg = <0x20000 0x20000>;
		export;
	};
};