Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0 |
| 2 | #include "bcm283x.dtsi" |
| 3 | #include "bcm2835-common.dtsi" |
| 4 | |
| 5 | / { |
| 6 | compatible = "brcm,bcm2835"; |
| 7 | |
| 8 | cpus { |
| 9 | #address-cells = <1>; |
| 10 | #size-cells = <0>; |
| 11 | |
| 12 | cpu@0 { |
| 13 | device_type = "cpu"; |
| 14 | compatible = "arm,arm1176jzf-s"; |
| 15 | reg = <0x0>; |
| 16 | /* Source for d/i-cache-line-size and d/i-cache-sets |
| 17 | * https://developer.arm.com/documentation/ddi0301 |
| 18 | * /h/level-one-memory-system/cache-organization?lang=en |
| 19 | * |
| 20 | * Source for d/i-cache-size |
| 21 | * https://forums.raspberrypi.com/viewtopic.php?t=98428 |
| 22 | * |
| 23 | * NOTE: The BCM2835 has a L2 cache but it is dedicated to the GPU |
| 24 | * It can be shared with the CPU through fw settings, |
| 25 | * but this is not recommended. |
| 26 | */ |
| 27 | d-cache-size = <0x4000>; |
| 28 | d-cache-line-size = <16>; |
| 29 | d-cache-sets = <256>; // 16KiB(size)/16(line-size)=1024ways/4-way set |
| 30 | i-cache-size = <0x4000>; |
| 31 | i-cache-line-size = <16>; |
| 32 | i-cache-sets = <256>; // 16KiB(size)/16(line-size)=1024ways/4-way set |
| 33 | }; |
| 34 | }; |
| 35 | |
| 36 | soc { |
| 37 | ranges = <0x7e000000 0x20000000 0x02000000>; |
| 38 | dma-ranges = <0x40000000 0x00000000 0x20000000>; |
| 39 | }; |
| 40 | |
| 41 | arm-pmu { |
| 42 | compatible = "arm,arm1176-pmu"; |
| 43 | }; |
| 44 | }; |
| 45 | |
| 46 | &cpu_thermal { |
| 47 | coefficients = <(-538) 407000>; |
| 48 | }; |
| 49 | |
| 50 | /* enable thermal sensor with the correct compatible property set */ |
| 51 | &thermal { |
| 52 | compatible = "brcm,bcm2835-thermal"; |
| 53 | status = "okay"; |
| 54 | }; |