xref: /freebsd-src/sys/contrib/device-tree/src/arm/sunplus/sunplus-sp7021-achip.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Device Tree Source for Sunplus SP7021
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Copyright (C) 2021 Sunplus Technology Co.
6*f126890aSEmmanuel Vadot */
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot#include "sunplus-sp7021.dtsi"
9*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot/ {
12*f126890aSEmmanuel Vadot	compatible = "sunplus,sp7021-achip", "sunplus,sp7021";
13*f126890aSEmmanuel Vadot	model = "Sunplus SP7021 (CA7)";
14*f126890aSEmmanuel Vadot	#address-cells = <1>;
15*f126890aSEmmanuel Vadot	#size-cells = <1>;
16*f126890aSEmmanuel Vadot	interrupt-parent = <&gic>;
17*f126890aSEmmanuel Vadot
18*f126890aSEmmanuel Vadot	cpus {
19*f126890aSEmmanuel Vadot		#address-cells = <1>;
20*f126890aSEmmanuel Vadot		#size-cells = <0>;
21*f126890aSEmmanuel Vadot
22*f126890aSEmmanuel Vadot		cpu0: cpu@0 {
23*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
24*f126890aSEmmanuel Vadot			device_type = "cpu";
25*f126890aSEmmanuel Vadot			reg = <0>;
26*f126890aSEmmanuel Vadot			clock-frequency = <931000000>;
27*f126890aSEmmanuel Vadot		};
28*f126890aSEmmanuel Vadot		cpu1: cpu@1 {
29*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
30*f126890aSEmmanuel Vadot			device_type = "cpu";
31*f126890aSEmmanuel Vadot			reg = <1>;
32*f126890aSEmmanuel Vadot			clock-frequency = <931000000>;
33*f126890aSEmmanuel Vadot		};
34*f126890aSEmmanuel Vadot		cpu2: cpu@2 {
35*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
36*f126890aSEmmanuel Vadot			device_type = "cpu";
37*f126890aSEmmanuel Vadot			reg = <2>;
38*f126890aSEmmanuel Vadot			clock-frequency = <931000000>;
39*f126890aSEmmanuel Vadot		};
40*f126890aSEmmanuel Vadot		cpu3: cpu@3 {
41*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
42*f126890aSEmmanuel Vadot			device_type = "cpu";
43*f126890aSEmmanuel Vadot			reg = <3>;
44*f126890aSEmmanuel Vadot			clock-frequency = <931000000>;
45*f126890aSEmmanuel Vadot		};
46*f126890aSEmmanuel Vadot	};
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot	gic: interrupt-controller@9f101000 {
49*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a7-gic";
50*f126890aSEmmanuel Vadot		interrupt-controller;
51*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
52*f126890aSEmmanuel Vadot		reg = <0x9f101000 0x1000>,
53*f126890aSEmmanuel Vadot		      <0x9f102000 0x2000>,
54*f126890aSEmmanuel Vadot		      <0x9f104000 0x2000>,
55*f126890aSEmmanuel Vadot		      <0x9f106000 0x2000>;
56*f126890aSEmmanuel Vadot	};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot	timer {
59*f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
60*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
61*f126890aSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
62*f126890aSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
63*f126890aSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
64*f126890aSEmmanuel Vadot		clock-frequency = <XTAL>;
65*f126890aSEmmanuel Vadot		arm,cpu-registers-not-fw-configured;
66*f126890aSEmmanuel Vadot	};
67*f126890aSEmmanuel Vadot
68*f126890aSEmmanuel Vadot	arm-pmu {
69*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a7-pmu";
70*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
71*f126890aSEmmanuel Vadot			     <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>,
72*f126890aSEmmanuel Vadot			     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>,
73*f126890aSEmmanuel Vadot			     <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
74*f126890aSEmmanuel Vadot		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
75*f126890aSEmmanuel Vadot	};
76*f126890aSEmmanuel Vadot
77*f126890aSEmmanuel Vadot	soc@9c000000 {
78*f126890aSEmmanuel Vadot		intc: interrupt-controller@780 {
79*f126890aSEmmanuel Vadot			interrupt-parent = <&gic>;
80*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, /* EXT_INT0 */
81*f126890aSEmmanuel Vadot				     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; /* EXT_INT1 */
82*f126890aSEmmanuel Vadot		};
83*f126890aSEmmanuel Vadot	};
84*f126890aSEmmanuel Vadot};
85