bcm2836.dtsi 1.99 KB
Newer Older
1
// SPDX-License-Identifier: GPL-2.0
2
#include "bcm283x.dtsi"
3
#include "bcm2835-common.dtsi"
4
#include "bcm2835-rpi-common.dtsi"
5 6 7 8 9 10 11 12 13

/ {
	compatible = "brcm,bcm2836";

	soc {
		ranges = <0x7e000000 0x3f000000 0x1000000>,
			 <0x40000000 0x40000000 0x00001000>;
		dma-ranges = <0xc0000000 0x00000000 0x3f000000>;

14
		local_intc: local_intc@40000000 {
15 16 17
			compatible = "brcm,bcm2836-l1-intc";
			reg = <0x40000000 0x100>;
			interrupt-controller;
18
			#interrupt-cells = <2>;
19 20
			interrupt-parent = <&local_intc>;
		};
21
	};
22

23 24 25 26
	arm-pmu {
		compatible = "arm,cortex-a7-pmu";
		interrupt-parent = <&local_intc>;
		interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
27 28 29 30 31
	};

	timer {
		compatible = "arm,armv7-timer";
		interrupt-parent = <&local_intc>;
32 33 34 35
		interrupts = <0 IRQ_TYPE_LEVEL_HIGH>, // PHYS_SECURE_PPI
			     <1 IRQ_TYPE_LEVEL_HIGH>, // PHYS_NONSECURE_PPI
			     <3 IRQ_TYPE_LEVEL_HIGH>, // VIRT_PPI
			     <2 IRQ_TYPE_LEVEL_HIGH>; // HYP_PPI
36 37 38 39 40 41
		always-on;
	};

	cpus: cpus {
		#address-cells = <1>;
		#size-cells = <0>;
42
		enable-method = "brcm,bcm2836-smp";
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

		v7_cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0xf00>;
			clock-frequency = <800000000>;
		};

		v7_cpu1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0xf01>;
			clock-frequency = <800000000>;
		};

		v7_cpu2: cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0xf02>;
			clock-frequency = <800000000>;
		};

		v7_cpu3: cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0xf03>;
			clock-frequency = <800000000>;
		};
	};
};

/* Make the BCM2835-style global interrupt controller be a child of the
 * CPU-local interrupt controller.
 */
&intc {
	compatible = "brcm,bcm2836-armctrl-ic";
	reg = <0x7e00b200 0x200>;
	interrupt-parent = <&local_intc>;
81
	interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
82
};
83

84 85 86 87
&cpu_thermal {
	coefficients = <(-538)	407000>;
};

88 89 90 91 92
/* enable thermal sensor with the correct compatible property set */
&thermal {
	compatible = "brcm,bcm2836-thermal";
	status = "okay";
};