123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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/misc/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>;
- };
|