mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
22697acdd7
SRAM bindings for various SoCs, using the mmio-sram genalloc API, are spread over different places - per SoC vendor. Since all of these are quite similar (they depend on mmio-sram) move them to a common place. Suggested-by: Rob Herring <robh+dt@kernel.org> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Cc: Heiko Stuebner <heiko@sntech.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Kukjin Kim <kgene@kernel.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Rob Herring <robh@kernel.org>
73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
Allwinnner SoC SRAM controllers
|
|
-----------------------------------------------------
|
|
|
|
The SRAM controller found on most Allwinner devices is represented by
|
|
a regular node for the SRAM controller itself, with sub-nodes
|
|
reprensenting the SRAM handled by the SRAM controller.
|
|
|
|
Controller Node
|
|
---------------
|
|
|
|
Required properties:
|
|
- compatible : "allwinner,sun4i-a10-sram-controller"
|
|
- reg : sram controller register offset + length
|
|
|
|
SRAM nodes
|
|
----------
|
|
|
|
Each SRAM is described using the mmio-sram bindings documented in
|
|
Documentation/devicetree/bindings/sram/sram.txt
|
|
|
|
Each SRAM will have SRAM sections that are going to be handled by the
|
|
SRAM controller as subnodes. These sections are represented following
|
|
once again the representation described in the mmio-sram binding.
|
|
|
|
The valid sections compatible are:
|
|
- allwinner,sun4i-a10-sram-a3-a4
|
|
- allwinner,sun4i-a10-sram-d
|
|
|
|
Devices using SRAM sections
|
|
---------------------------
|
|
|
|
Some devices need to request to the SRAM controller to map an SRAM for
|
|
their exclusive use.
|
|
|
|
The relationship between such a device and an SRAM section is
|
|
expressed through the allwinner,sram property, that will take a
|
|
phandle and an argument.
|
|
|
|
This valid values for this argument are:
|
|
- 0: CPU
|
|
- 1: Device
|
|
|
|
Example
|
|
-------
|
|
sram-controller@01c00000 {
|
|
compatible = "allwinner,sun4i-a10-sram-controller";
|
|
reg = <0x01c00000 0x30>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
sram_a: sram@00000000 {
|
|
compatible = "mmio-sram";
|
|
reg = <0x00000000 0xc000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0 0x00000000 0xc000>;
|
|
|
|
emac_sram: sram-section@8000 {
|
|
compatible = "allwinner,sun4i-a10-sram-a3-a4";
|
|
reg = <0x8000 0x4000>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|
|
|
|
emac: ethernet@01c0b000 {
|
|
compatible = "allwinner,sun4i-a10-emac";
|
|
...
|
|
|
|
allwinner,sram = <&emac_sram 1>;
|
|
};
|