162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#include "bcm283x.dtsi"
362306a36Sopenharmony_ci#include "bcm2835-common.dtsi"
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci/ {
662306a36Sopenharmony_ci	compatible = "brcm,bcm2835";
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci	cpus {
962306a36Sopenharmony_ci		#address-cells = <1>;
1062306a36Sopenharmony_ci		#size-cells = <0>;
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci		cpu@0 {
1362306a36Sopenharmony_ci			device_type = "cpu";
1462306a36Sopenharmony_ci			compatible = "arm,arm1176jzf-s";
1562306a36Sopenharmony_ci			reg = <0x0>;
1662306a36Sopenharmony_ci			/* Source for d/i-cache-line-size and d/i-cache-sets
1762306a36Sopenharmony_ci			 * https://developer.arm.com/documentation/ddi0301
1862306a36Sopenharmony_ci			 * /h/level-one-memory-system/cache-organization?lang=en
1962306a36Sopenharmony_ci			 *
2062306a36Sopenharmony_ci			 * Source for d/i-cache-size
2162306a36Sopenharmony_ci			 * https://forums.raspberrypi.com/viewtopic.php?t=98428
2262306a36Sopenharmony_ci			 *
2362306a36Sopenharmony_ci			 * NOTE: The BCM2835 has a L2 cache but it is dedicated to the GPU
2462306a36Sopenharmony_ci			 * It can be shared with the CPU through fw settings,
2562306a36Sopenharmony_ci			 * but this is not recommended.
2662306a36Sopenharmony_ci			 */
2762306a36Sopenharmony_ci			d-cache-size = <0x4000>;
2862306a36Sopenharmony_ci			d-cache-line-size = <16>;
2962306a36Sopenharmony_ci			d-cache-sets = <256>; // 16KiB(size)/16(line-size)=1024ways/4-way set
3062306a36Sopenharmony_ci			i-cache-size = <0x4000>;
3162306a36Sopenharmony_ci			i-cache-line-size = <16>;
3262306a36Sopenharmony_ci			i-cache-sets = <256>; // 16KiB(size)/16(line-size)=1024ways/4-way set
3362306a36Sopenharmony_ci		};
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	soc {
3762306a36Sopenharmony_ci		ranges = <0x7e000000 0x20000000 0x02000000>;
3862306a36Sopenharmony_ci		dma-ranges = <0x40000000 0x00000000 0x20000000>;
3962306a36Sopenharmony_ci	};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	arm-pmu {
4262306a36Sopenharmony_ci		compatible = "arm,arm1176-pmu";
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci&cpu_thermal {
4762306a36Sopenharmony_ci	coefficients = <(-538)	407000>;
4862306a36Sopenharmony_ci};
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci/* enable thermal sensor with the correct compatible property set */
5162306a36Sopenharmony_ci&thermal {
5262306a36Sopenharmony_ci	compatible = "brcm,bcm2835-thermal";
5362306a36Sopenharmony_ci	status = "okay";
5462306a36Sopenharmony_ci};
55