61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| UniPhier outer cache controller
 | |
| 
 | |
| UniPhier SoCs are integrated with a full-custom outer cache controller system.
 | |
| All of them have a level 2 cache controller, and some have a level 3 cache
 | |
| controller as well.
 | |
| 
 | |
| Required properties:
 | |
| - compatible: should be "socionext,uniphier-system-cache"
 | |
| - reg: offsets and lengths of the register sets for the device.  It should
 | |
|   contain 3 regions: control register, revision register, operation register,
 | |
|   in this order.
 | |
| - cache-unified: specifies the cache is a unified cache.
 | |
| - cache-size: specifies the size in bytes of the cache
 | |
| - cache-sets: specifies the number of associativity sets of the cache
 | |
| - cache-line-size: specifies the line size in bytes
 | |
| - cache-level: specifies the level in the cache hierarchy.  The value should
 | |
|   be 2 for L2 cache, 3 for L3 cache, etc.
 | |
| 
 | |
| Optional properties:
 | |
| - next-level-cache: phandle to the next level cache if present.  The next level
 | |
|   cache should be also compatible with "socionext,uniphier-system-cache".
 | |
| 
 | |
| The L2 cache must exist to use the L3 cache; the cache hierarchy must be
 | |
| indicated correctly with "next-level-cache" properties.
 | |
| 
 | |
| Example 1 (system with L2):
 | |
| 	l2: l2-cache@500c0000 {
 | |
| 		compatible = "socionext,uniphier-system-cache";
 | |
| 		reg = <0x500c0000 0x2000>, <0x503c0100 0x4>,
 | |
| 		      <0x506c0000 0x400>;
 | |
| 		cache-unified;
 | |
| 		cache-size = <0x80000>;
 | |
| 		cache-sets = <256>;
 | |
| 		cache-line-size = <128>;
 | |
| 		cache-level = <2>;
 | |
| 	};
 | |
| 
 | |
| Example 2 (system with L2 and L3):
 | |
| 	l2: l2-cache@500c0000 {
 | |
| 		compatible = "socionext,uniphier-system-cache";
 | |
| 		reg = <0x500c0000 0x2000>, <0x503c0100 0x8>,
 | |
| 		      <0x506c0000 0x400>;
 | |
| 		cache-unified;
 | |
| 		cache-size = <0x200000>;
 | |
| 		cache-sets = <512>;
 | |
| 		cache-line-size = <128>;
 | |
| 		cache-level = <2>;
 | |
| 		next-level-cache = <&l3>;
 | |
| 	};
 | |
| 
 | |
| 	l3: l3-cache@500c8000 {
 | |
| 		compatible = "socionext,uniphier-system-cache";
 | |
| 		reg = <0x500c8000 0x2000>, <0x503c8100 0x8>,
 | |
| 		      <0x506c8000 0x400>;
 | |
| 		cache-unified;
 | |
| 		cache-size = <0x400000>;
 | |
| 		cache-sets = <512>;
 | |
| 		cache-line-size = <256>;
 | |
| 		cache-level = <3>;
 | |
| 	};
 |