mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	dt: amd-seattle: add a description of the CPUs and caches
Add a DT description of the CPU and cache hierarchy as found on the AMD Seattle SOC. Given the tight coupling of the PMU with the CPUs, move the PMU node into the cpu .dtsi file as well, and add the missing affinity description. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
		
							parent
							
								
									e0db1597a7
								
							
						
					
					
						commit
						6a2f0b2d3b
					
				
					 4 changed files with 226 additions and 12 deletions
				
			
		|  | @ -9,6 +9,7 @@ | |||
| /dts-v1/; | ||||
| 
 | ||||
| /include/ "amd-seattle-soc.dtsi" | ||||
| /include/ "amd-seattle-cpus.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	model = "AMD Seattle (Rev.B0) Development Board (Overdrive)"; | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
| /dts-v1/; | ||||
| 
 | ||||
| /include/ "amd-seattle-soc.dtsi" | ||||
| /include/ "amd-seattle-cpus.dtsi" | ||||
| 
 | ||||
| / { | ||||
| 	model = "AMD Seattle (Rev.B1) Development Board (Overdrive)"; | ||||
|  |  | |||
							
								
								
									
										224
									
								
								arch/arm64/boot/dts/amd/amd-seattle-cpus.dtsi
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										224
									
								
								arch/arm64/boot/dts/amd/amd-seattle-cpus.dtsi
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,224 @@ | |||
| // SPDX-License-Identifier: GPL-2.0 | ||||
| 
 | ||||
| / { | ||||
| 	cpus { | ||||
| 		#address-cells = <0x1>; | ||||
| 		#size-cells = <0x0>; | ||||
| 
 | ||||
| 		cpu-map { | ||||
| 			cluster0 { | ||||
| 				core0 { | ||||
| 					cpu = <&CPU0>; | ||||
| 				}; | ||||
| 				core1 { | ||||
| 					cpu = <&CPU1>; | ||||
| 				}; | ||||
| 			}; | ||||
| 			cluster1 { | ||||
| 				core0 { | ||||
| 					cpu = <&CPU2>; | ||||
| 				}; | ||||
| 				core1 { | ||||
| 					cpu = <&CPU3>; | ||||
| 				}; | ||||
| 			}; | ||||
| 			cluster2 { | ||||
| 				core0 { | ||||
| 					cpu = <&CPU4>; | ||||
| 				}; | ||||
| 				core1 { | ||||
| 					cpu = <&CPU5>; | ||||
| 				}; | ||||
| 			}; | ||||
| 			cluster3 { | ||||
| 				core0 { | ||||
| 					cpu = <&CPU6>; | ||||
| 				}; | ||||
| 				core1 { | ||||
| 					cpu = <&CPU7>; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		CPU0: cpu@0 { | ||||
| 			device_type = "cpu"; | ||||
| 			compatible = "arm,cortex-a57"; | ||||
| 			reg = <0x0>; | ||||
| 			enable-method = "psci"; | ||||
| 
 | ||||
| 			i-cache-size = <0xC000>; | ||||
| 			i-cache-line-size = <64>; | ||||
| 			i-cache-sets = <256>; | ||||
| 			d-cache-size = <0x8000>; | ||||
| 			d-cache-line-size = <64>; | ||||
| 			d-cache-sets = <256>; | ||||
| 			l2-cache = <&L2_0>; | ||||
| 
 | ||||
| 		}; | ||||
| 
 | ||||
| 		CPU1: cpu@1 { | ||||
| 			device_type = "cpu"; | ||||
| 			compatible = "arm,cortex-a57"; | ||||
| 			reg = <0x1>; | ||||
| 			enable-method = "psci"; | ||||
| 
 | ||||
| 			i-cache-size = <0xC000>; | ||||
| 			i-cache-line-size = <64>; | ||||
| 			i-cache-sets = <256>; | ||||
| 			d-cache-size = <0x8000>; | ||||
| 			d-cache-line-size = <64>; | ||||
| 			d-cache-sets = <256>; | ||||
| 			l2-cache = <&L2_0>; | ||||
| 		}; | ||||
| 
 | ||||
| 		CPU2: cpu@100 { | ||||
| 			device_type = "cpu"; | ||||
| 			compatible = "arm,cortex-a57"; | ||||
| 			reg = <0x100>; | ||||
| 			enable-method = "psci"; | ||||
| 
 | ||||
| 			i-cache-size = <0xC000>; | ||||
| 			i-cache-line-size = <64>; | ||||
| 			i-cache-sets = <256>; | ||||
| 			d-cache-size = <0x8000>; | ||||
| 			d-cache-line-size = <64>; | ||||
| 			d-cache-sets = <256>; | ||||
| 			l2-cache = <&L2_1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		CPU3: cpu@101 { | ||||
| 			device_type = "cpu"; | ||||
| 			compatible = "arm,cortex-a57"; | ||||
| 			reg = <0x101>; | ||||
| 			enable-method = "psci"; | ||||
| 
 | ||||
| 			i-cache-size = <0xC000>; | ||||
| 			i-cache-line-size = <64>; | ||||
| 			i-cache-sets = <256>; | ||||
| 			d-cache-size = <0x8000>; | ||||
| 			d-cache-line-size = <64>; | ||||
| 			d-cache-sets = <256>; | ||||
| 			l2-cache = <&L2_1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		CPU4: cpu@200 { | ||||
| 			device_type = "cpu"; | ||||
| 			compatible = "arm,cortex-a57"; | ||||
| 			reg = <0x200>; | ||||
| 			enable-method = "psci"; | ||||
| 
 | ||||
| 			i-cache-size = <0xC000>; | ||||
| 			i-cache-line-size = <64>; | ||||
| 			i-cache-sets = <256>; | ||||
| 			d-cache-size = <0x8000>; | ||||
| 			d-cache-line-size = <64>; | ||||
| 			d-cache-sets = <256>; | ||||
| 			l2-cache = <&L2_2>; | ||||
| 		}; | ||||
| 
 | ||||
| 		CPU5: cpu@201 { | ||||
| 			device_type = "cpu"; | ||||
| 			compatible = "arm,cortex-a57"; | ||||
| 			reg = <0x201>; | ||||
| 			enable-method = "psci"; | ||||
| 
 | ||||
| 			i-cache-size = <0xC000>; | ||||
| 			i-cache-line-size = <64>; | ||||
| 			i-cache-sets = <256>; | ||||
| 			d-cache-size = <0x8000>; | ||||
| 			d-cache-line-size = <64>; | ||||
| 			d-cache-sets = <256>; | ||||
| 			l2-cache = <&L2_2>; | ||||
| 		}; | ||||
| 
 | ||||
| 		CPU6: cpu@300 { | ||||
| 			device_type = "cpu"; | ||||
| 			compatible = "arm,cortex-a57"; | ||||
| 			reg = <0x300>; | ||||
| 			enable-method = "psci"; | ||||
| 
 | ||||
| 			i-cache-size = <0xC000>; | ||||
| 			i-cache-line-size = <64>; | ||||
| 			i-cache-sets = <256>; | ||||
| 			d-cache-size = <0x8000>; | ||||
| 			d-cache-line-size = <64>; | ||||
| 			d-cache-sets = <256>; | ||||
| 			l2-cache = <&L2_3>; | ||||
| 		}; | ||||
| 
 | ||||
| 		CPU7: cpu@301 { | ||||
| 			device_type = "cpu"; | ||||
| 			compatible = "arm,cortex-a57"; | ||||
| 			reg = <0x301>; | ||||
| 			enable-method = "psci"; | ||||
| 
 | ||||
| 			i-cache-size = <0xC000>; | ||||
| 			i-cache-line-size = <64>; | ||||
| 			i-cache-sets = <256>; | ||||
| 			d-cache-size = <0x8000>; | ||||
| 			d-cache-line-size = <64>; | ||||
| 			d-cache-sets = <256>; | ||||
| 			l2-cache = <&L2_3>; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	L2_0: l2-cache0 { | ||||
| 		cache-size = <0x100000>; | ||||
| 		cache-line-size = <64>; | ||||
| 		cache-sets = <1024>; | ||||
| 		cache-unified; | ||||
| 		next-level-cache = <&L3>; | ||||
| 	}; | ||||
| 
 | ||||
| 	L2_1: l2-cache1 { | ||||
| 		cache-size = <0x100000>; | ||||
| 		cache-line-size = <64>; | ||||
| 		cache-sets = <1024>; | ||||
| 		cache-unified; | ||||
| 		next-level-cache = <&L3>; | ||||
| 	}; | ||||
| 
 | ||||
| 	L2_2: l2-cache2 { | ||||
| 		cache-size = <0x100000>; | ||||
| 		cache-line-size = <64>; | ||||
| 		cache-sets = <1024>; | ||||
| 		cache-unified; | ||||
| 		next-level-cache = <&L3>; | ||||
| 	}; | ||||
| 
 | ||||
| 	L2_3: l2-cache3 { | ||||
| 		cache-size = <0x100000>; | ||||
| 		cache-line-size = <64>; | ||||
| 		cache-sets = <1024>; | ||||
| 		cache-unified; | ||||
| 		next-level-cache = <&L3>; | ||||
| 	}; | ||||
| 
 | ||||
| 	L3: l3-cache { | ||||
| 		cache-level = <3>; | ||||
| 		cache-size = <0x800000>; | ||||
| 		cache-line-size = <64>; | ||||
| 		cache-sets = <8192>; | ||||
| 		cache-unified; | ||||
| 	}; | ||||
| 
 | ||||
| 	pmu { | ||||
| 		compatible = "arm,cortex-a57-pmu"; | ||||
| 		interrupts = <0x0 0x7 0x4>, | ||||
| 			     <0x0 0x8 0x4>, | ||||
| 			     <0x0 0x9 0x4>, | ||||
| 			     <0x0 0xa 0x4>, | ||||
| 			     <0x0 0xb 0x4>, | ||||
| 			     <0x0 0xc 0x4>, | ||||
| 			     <0x0 0xd 0x4>, | ||||
| 			     <0x0 0xe 0x4>; | ||||
| 		interrupt-affinity = <&CPU0>, | ||||
| 				     <&CPU1>, | ||||
| 				     <&CPU2>, | ||||
| 				     <&CPU3>, | ||||
| 				     <&CPU4>, | ||||
| 				     <&CPU5>, | ||||
| 				     <&CPU6>, | ||||
| 				     <&CPU7>; | ||||
| 	}; | ||||
| }; | ||||
|  | @ -38,18 +38,6 @@ | |||
| 			     <1 10 0xff04>; | ||||
| 	}; | ||||
| 
 | ||||
| 	pmu { | ||||
| 		compatible = "arm,armv8-pmuv3"; | ||||
| 		interrupts = <0 7 4>, | ||||
| 			     <0 8 4>, | ||||
| 			     <0 9 4>, | ||||
| 			     <0 10 4>, | ||||
| 			     <0 11 4>, | ||||
| 			     <0 12 4>, | ||||
| 			     <0 13 4>, | ||||
| 			     <0 14 4>; | ||||
| 	}; | ||||
| 
 | ||||
| 	smb0: smb { | ||||
| 		compatible = "simple-bus"; | ||||
| 		#address-cells = <2>; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Ard Biesheuvel
						Ard Biesheuvel