0001 // SPDX-License-Identifier: GPL-2.0
0002 #include "bcm283x.dtsi"
0003 #include "bcm2835-common.dtsi"
0004 #include "bcm2835-rpi-common.dtsi"
0005
0006 / {
0007 compatible = "brcm,bcm2835";
0008
0009 cpus {
0010 #address-cells = <1>;
0011 #size-cells = <0>;
0012
0013 cpu@0 {
0014 device_type = "cpu";
0015 compatible = "arm,arm1176jzf-s";
0016 reg = <0x0>;
0017 /* Source for d/i-cache-line-size and d/i-cache-sets
0018 * https://developer.arm.com/documentation/ddi0301
0019 * /h/level-one-memory-system/cache-organization?lang=en
0020 *
0021 * Source for d/i-cache-size
0022 * https://forums.raspberrypi.com/viewtopic.php?t=98428
0023 *
0024 * NOTE: The BCM2835 has a L2 cache but it is dedicated to the GPU
0025 * It can be shared with the CPU through fw settings,
0026 * but this is not recommended.
0027 */
0028 d-cache-size = <0x4000>;
0029 d-cache-line-size = <16>;
0030 d-cache-sets = <256>; // 16KiB(size)/16(line-size)=1024ways/4-way set
0031 i-cache-size = <0x4000>;
0032 i-cache-line-size = <16>;
0033 i-cache-sets = <256>; // 16KiB(size)/16(line-size)=1024ways/4-way set
0034 };
0035 };
0036
0037 soc {
0038 ranges = <0x7e000000 0x20000000 0x02000000>;
0039 dma-ranges = <0x40000000 0x00000000 0x20000000>;
0040 };
0041
0042 arm-pmu {
0043 compatible = "arm,arm1176-pmu";
0044 };
0045 };
0046
0047 &cpu_thermal {
0048 coefficients = <(-538) 407000>;
0049 };
0050
0051 /* enable thermal sensor with the correct compatible property set */
0052 &thermal {
0053 compatible = "brcm,bcm2835-thermal";
0054 status = "okay";
0055 };