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@xxxxxxxxx> Using subnodes for reserved regions Suggested-by: Grant Likely <grant.likely@xxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Tested-by: Ulrich Prinz <ulrich.prinz@xxxxxxxxxxxxxx> --- Hi Arnd, I've changed the range definition as suggested. I've also changed my rockchip dt-files accordingly, but will wait with respinning the whole series until the direction with this binding is a bit safer. I've also amended the "compatible"-property for the subnodes. It now mimics the text from the generic reserved memory nodes [0], which got no complaints from the DT maintainers. Heiko [0] https://lkml.org/lkml/2014/2/4/172 Documentation/devicetree/bindings/misc/sram.txt | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Documentation/devicetree/bindings/misc/sram.txt b/Documentation/devicetree/bindings/misc/sram.txt index 4d0a00e..36cbe5a 100644 --- a/Documentation/devicetree/bindings/misc/sram.txt +++ b/Documentation/devicetree/bindings/misc/sram.txt @@ -8,9 +8,44 @@ Required properties: - 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 + +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> + Example: sram: sram@5c000000 { compatible = "mmio-sram"; reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */ + + #adress-cells = <1>; + #size-cells = <1>; + ranges = <0 0x5c000000 0x40000>; + + smp-sram@100 { + compatible = "socvendor,smp-sram"; + reg = <0x100 0x50>; + }; }; -- 1.8.5.3 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html