Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: sram: describe option to reserve parts of the memory

Some SoCs need parts of their sram for special purposes. So while being part
of the peripheral, it should not be part of the genpool controlling the sram.

Therefore add the option to define reserved regions as subnodes of the
sram-node similar to defining reserved global memory regions.

Originally
Suggested-by: Rob Herring <robherring2@gmail.com>

Using subnodes for reserved regions
Suggested-by: Grant Likely <grant.likely@linaro.org>

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Ulrich Prinz <ulrich.prinz@googlemail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Heiko Stübner and committed by
Greg Kroah-Hartman
96328cda 42d87b18

+35
+35
Documentation/devicetree/bindings/misc/sram.txt
··· 8 8 9 9 - reg : SRAM iomem address range 10 10 11 + Reserving sram areas: 12 + --------------------- 13 + 14 + Each child of the sram node specifies a region of reserved memory. Each 15 + child node should use a 'reg' property to specify a specific range of 16 + reserved memory. 17 + 18 + Following the generic-names recommended practice, node names should 19 + reflect the purpose of the node. Unit address (@<address>) should be 20 + appended to the name. 21 + 22 + Required properties in the sram node: 23 + 24 + - #address-cells, #size-cells : should use the same values as the root node 25 + - ranges : standard definition, should translate from local addresses 26 + within the sram to bus addresses 27 + 28 + Required properties in the area nodes: 29 + 30 + - reg : iomem address range, relative to the SRAM range 31 + 32 + Optional properties in the area nodes: 33 + 34 + - compatible : standard definition, should contain a vendor specific string 35 + in the form <vendor>,[<device>-]<usage> 36 + 11 37 Example: 12 38 13 39 sram: sram@5c000000 { 14 40 compatible = "mmio-sram"; 15 41 reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */ 42 + 43 + #adress-cells = <1>; 44 + #size-cells = <1>; 45 + ranges = <0 0x5c000000 0x40000>; 46 + 47 + smp-sram@100 { 48 + compatible = "socvendor,smp-sram"; 49 + reg = <0x100 0x50>; 50 + }; 16 51 };