| 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 : should be: |
| - "allwinner,sun4i-a10-sram-controller" |
| - "allwinner,sun50i-a64-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 for A10 are: |
| - allwinner,sun4i-a10-sram-a3-a4 |
| - allwinner,sun4i-a10-sram-d |
| |
| The valid sections compatible for A64 are: |
| - allwinner,sun50i-a64-sram-c |
| |
| 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@1c00000 { |
| 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>; |
| }; |
| }; |
| }; |
| |
| emac: ethernet@1c0b000 { |
| compatible = "allwinner,sun4i-a10-emac"; |
| ... |
| |
| allwinner,sram = <&emac_sram 1>; |
| }; |