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