|  | 
| 433 | 433 | 		#size-cells = <0>; | 
| 434 | 434 | 		enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit | 
| 435 | 435 | 
 | 
|  | 436 | +		/* Source for d/i-cache-line-size and d/i-cache-sets | 
|  | 437 | +		 * https://developer.arm.com/documentation/100095/0003 | 
|  | 438 | +		 * /Level-1-Memory-System/About-the-L1-memory-system?lang=en | 
|  | 439 | +		 * Source for d/i-cache-size | 
|  | 440 | +		 * https://www.raspberrypi.com/documentation/computers | 
|  | 441 | +		 * /processors.html#bcm2711 | 
|  | 442 | +		 */ | 
| 436 | 443 | 		cpu0: cpu@0 { | 
| 437 | 444 | 			device_type = "cpu"; | 
| 438 | 445 | 			compatible = "arm,cortex-a72"; | 
| 439 | 446 | 			reg = <0>; | 
| 440 | 447 | 			enable-method = "spin-table"; | 
| 441 | 448 | 			cpu-release-addr = <0x0 0x000000d8>; | 
|  | 449 | +			d-cache-size = <0x8000>; | 
|  | 450 | +			d-cache-line-size = <64>; | 
|  | 451 | +			d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set | 
|  | 452 | +			i-cache-size = <0xc000>; | 
|  | 453 | +			i-cache-line-size = <64>; | 
|  | 454 | +			i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set | 
|  | 455 | +			next-level-cache = <&l2>; | 
| 442 | 456 | 		}; | 
| 443 | 457 | 
 | 
| 444 | 458 | 		cpu1: cpu@1 { | 
|  | 
| 447 | 461 | 			reg = <1>; | 
| 448 | 462 | 			enable-method = "spin-table"; | 
| 449 | 463 | 			cpu-release-addr = <0x0 0x000000e0>; | 
|  | 464 | +			d-cache-size = <0x8000>; | 
|  | 465 | +			d-cache-line-size = <64>; | 
|  | 466 | +			d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set | 
|  | 467 | +			i-cache-size = <0xc000>; | 
|  | 468 | +			i-cache-line-size = <64>; | 
|  | 469 | +			i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set | 
|  | 470 | +			next-level-cache = <&l2>; | 
| 450 | 471 | 		}; | 
| 451 | 472 | 
 | 
| 452 | 473 | 		cpu2: cpu@2 { | 
|  | 
| 455 | 476 | 			reg = <2>; | 
| 456 | 477 | 			enable-method = "spin-table"; | 
| 457 | 478 | 			cpu-release-addr = <0x0 0x000000e8>; | 
|  | 479 | +			d-cache-size = <0x8000>; | 
|  | 480 | +			d-cache-line-size = <64>; | 
|  | 481 | +			d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set | 
|  | 482 | +			i-cache-size = <0xc000>; | 
|  | 483 | +			i-cache-line-size = <64>; | 
|  | 484 | +			i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set | 
|  | 485 | +			next-level-cache = <&l2>; | 
| 458 | 486 | 		}; | 
| 459 | 487 | 
 | 
| 460 | 488 | 		cpu3: cpu@3 { | 
|  | 
| 463 | 491 | 			reg = <3>; | 
| 464 | 492 | 			enable-method = "spin-table"; | 
| 465 | 493 | 			cpu-release-addr = <0x0 0x000000f0>; | 
|  | 494 | +			d-cache-size = <0x8000>; | 
|  | 495 | +			d-cache-line-size = <64>; | 
|  | 496 | +			d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set | 
|  | 497 | +			i-cache-size = <0xc000>; | 
|  | 498 | +			i-cache-line-size = <64>; | 
|  | 499 | +			i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set | 
|  | 500 | +			next-level-cache = <&l2>; | 
|  | 501 | +		}; | 
|  | 502 | + | 
|  | 503 | +		/* Source for d/i-cache-line-size and d/i-cache-sets | 
|  | 504 | +		 *  https://developer.arm.com/documentation/100095/0003 | 
|  | 505 | +		 *  /Level-2-Memory-System/About-the-L2-memory-system?lang=en | 
|  | 506 | +		 *  Source for d/i-cache-size | 
|  | 507 | +		 *  https://www.raspberrypi.com/documentation/computers | 
|  | 508 | +		 *  /processors.html#bcm2711 | 
|  | 509 | +		 */ | 
|  | 510 | +		l2: l2-cache0 { | 
|  | 511 | +			compatible = "cache"; | 
|  | 512 | +			cache-size = <0x100000>; | 
|  | 513 | +			cache-line-size = <64>; | 
|  | 514 | +			cache-sets = <1024>; // 1MiB(size)/64(line-size)=16384ways/16-way set | 
|  | 515 | +			cache-level = <2>; | 
| 466 | 516 | 		}; | 
| 467 | 517 | 	}; | 
| 468 | 518 | 
 | 
|  | 
0 commit comments