1Allwinnner SoC SRAM controllers 2----------------------------------------------------- 3 4The SRAM controller found on most Allwinner devices is represented by 5a regular node for the SRAM controller itself, with sub-nodes 6reprensenting the SRAM handled by the SRAM controller. 7 8Controller Node 9--------------- 10 11Required properties: 12- compatible : should be: 13 - "allwinner,sun4i-a10-sram-controller" (deprecated) 14 - "allwinner,sun4i-a10-system-control" 15 - "allwinner,sun5i-a13-system-control" 16 - "allwinner,sun7i-a20-system-control", "allwinner,sun4i-a10-system-control" 17 - "allwinner,sun8i-a23-system-control" 18 - "allwinner,sun8i-h3-system-control" 19 - "allwinner,sun50i-a64-sram-controller" (deprecated) 20 - "allwinner,sun50i-a64-system-control" 21 - "allwinner,sun50i-h5-system-control" 22 - "allwinner,sun50i-h6-system-control", "allwinner,sun50i-a64-system-control" 23 - "allwinner,suniv-f1c100s-system-control", "allwinner,sun4i-a10-system-control" 24- reg : sram controller register offset + length 25 26SRAM nodes 27---------- 28 29Each SRAM is described using the mmio-sram bindings documented in 30Documentation/devicetree/bindings/sram/sram.txt 31 32Each SRAM will have SRAM sections that are going to be handled by the 33SRAM controller as subnodes. These sections are represented following 34once again the representation described in the mmio-sram binding. 35 36The valid sections compatible for A10 are: 37 - allwinner,sun4i-a10-sram-a3-a4 38 - allwinner,sun4i-a10-sram-c1 39 - allwinner,sun4i-a10-sram-d 40 41The valid sections compatible for A13 are: 42 - allwinner,sun5i-a13-sram-a3-a4, allwinner,sun4i-a10-sram-a3-a4 43 - allwinner,sun5i-a13-sram-c1, allwinner,sun4i-a10-sram-c1 44 - allwinner,sun5i-a13-sram-d, allwinner,sun4i-a10-sram-d 45 46The valid sections compatible for A20 are: 47 - allwinner,sun7i-a20-sram-a3-a4, allwinner,sun4i-a10-sram-a3-a4 48 - allwinner,sun7i-a20-sram-c1, allwinner,sun4i-a10-sram-c1 49 - allwinner,sun7i-a20-sram-d, allwinner,sun4i-a10-sram-d 50 51The valid sections compatible for A23/A33 are: 52 - allwinner,sun8i-a23-sram-c1, allwinner,sun4i-a10-sram-c1 53 54The valid sections compatible for H3 are: 55 - allwinner,sun8i-h3-sram-c1, allwinner,sun4i-a10-sram-c1 56 57The valid sections compatible for A64 are: 58 - allwinner,sun50i-a64-sram-c 59 - allwinner,sun50i-a64-sram-c1, allwinner,sun4i-a10-sram-c1 60 61The valid sections compatible for H5 are: 62 - allwinner,sun50i-h5-sram-c1, allwinner,sun4i-a10-sram-c1 63 64The valid sections compatible for H6 are: 65 - allwinner,sun50i-h6-sram-c, allwinner,sun50i-a64-sram-c 66 - allwinner,sun50i-h6-sram-c1, allwinner,sun4i-a10-sram-c1 67 68The valid sections compatible for F1C100s are: 69 - allwinner,suniv-f1c100s-sram-d, allwinner,sun4i-a10-sram-d 70 71Devices using SRAM sections 72--------------------------- 73 74Some devices need to request to the SRAM controller to map an SRAM for 75their exclusive use. 76 77The relationship between such a device and an SRAM section is 78expressed through the allwinner,sram property, that will take a 79phandle and an argument. 80 81This valid values for this argument are: 82 - 0: CPU 83 - 1: Device 84 85Example 86------- 87system-control@1c00000 { 88 compatible = "allwinner,sun4i-a10-system-control"; 89 reg = <0x01c00000 0x30>; 90 #address-cells = <1>; 91 #size-cells = <1>; 92 ranges; 93 94 sram_a: sram@00000000 { 95 compatible = "mmio-sram"; 96 reg = <0x00000000 0xc000>; 97 #address-cells = <1>; 98 #size-cells = <1>; 99 ranges = <0 0x00000000 0xc000>; 100 101 emac_sram: sram-section@8000 { 102 compatible = "allwinner,sun4i-a10-sram-a3-a4"; 103 reg = <0x8000 0x4000>; 104 }; 105 }; 106}; 107 108emac: ethernet@1c0b000 { 109 compatible = "allwinner,sun4i-a10-emac"; 110 ... 111 112 allwinner,sram = <&emac_sram 1>; 113}; 114