100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.9 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 : should be:
 | 
						|
    - "allwinner,sun4i-a10-sram-controller" (deprecated)
 | 
						|
    - "allwinner,sun4i-a10-system-control"
 | 
						|
    - "allwinner,sun5i-a13-system-control"
 | 
						|
    - "allwinner,sun7i-a20-system-control", "allwinner,sun4i-a10-system-control"
 | 
						|
    - "allwinner,sun8i-a23-system-control"
 | 
						|
    - "allwinner,sun8i-h3-system-control"
 | 
						|
    - "allwinner,sun50i-a64-sram-controller" (deprecated)
 | 
						|
    - "allwinner,sun50i-a64-system-control"
 | 
						|
- 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-c1
 | 
						|
    - allwinner,sun4i-a10-sram-d
 | 
						|
 | 
						|
The valid sections compatible for A13 are:
 | 
						|
    - allwinner,sun5i-a13-sram-a3-a4, allwinner,sun4i-a10-sram-a3-a4
 | 
						|
    - allwinner,sun5i-a13-sram-c1, allwinner,sun4i-a10-sram-c1
 | 
						|
    - allwinner,sun5i-a13-sram-d, allwinner,sun4i-a10-sram-d
 | 
						|
 | 
						|
The valid sections compatible for A20 are:
 | 
						|
    - allwinner,sun7i-a20-sram-a3-a4, allwinner,sun4i-a10-sram-a3-a4
 | 
						|
    - allwinner,sun7i-a20-sram-c1, allwinner,sun4i-a10-sram-c1
 | 
						|
    - allwinner,sun7i-a20-sram-d, allwinner,sun4i-a10-sram-d
 | 
						|
 | 
						|
The valid sections compatible for A23/A33 are:
 | 
						|
    - allwinner,sun8i-a23-sram-c1, allwinner,sun4i-a10-sram-c1
 | 
						|
 | 
						|
The valid sections compatible for H3 are:
 | 
						|
    - allwinner,sun8i-h3-sram-c1, allwinner,sun4i-a10-sram-c1
 | 
						|
 | 
						|
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
 | 
						|
-------
 | 
						|
system-control@1c00000 {
 | 
						|
	compatible = "allwinner,sun4i-a10-system-control";
 | 
						|
	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>;
 | 
						|
};
 |