xref: /linux/scripts/dtc/include-prefixes/arm64/hisilicon/hi3670.dtsi (revision dd8c7b78c11bac66083ec2ff0d5d7285f001cbf6)
1*dd8c7b78SManivannan Sadhasivam// SPDX-License-Identifier: GPL-2.0
2*dd8c7b78SManivannan Sadhasivam/*
3*dd8c7b78SManivannan Sadhasivam * dts file for Hisilicon Hi3670 SoC
4*dd8c7b78SManivannan Sadhasivam *
5*dd8c7b78SManivannan Sadhasivam * Copyright (C) 2016, Hisilicon Ltd.
6*dd8c7b78SManivannan Sadhasivam * Copyright (C) 2018, Linaro Ltd.
7*dd8c7b78SManivannan Sadhasivam */
8*dd8c7b78SManivannan Sadhasivam
9*dd8c7b78SManivannan Sadhasivam#include <dt-bindings/interrupt-controller/arm-gic.h>
10*dd8c7b78SManivannan Sadhasivam
11*dd8c7b78SManivannan Sadhasivam/ {
12*dd8c7b78SManivannan Sadhasivam	compatible = "hisilicon,hi3670";
13*dd8c7b78SManivannan Sadhasivam	interrupt-parent = <&gic>;
14*dd8c7b78SManivannan Sadhasivam	#address-cells = <2>;
15*dd8c7b78SManivannan Sadhasivam	#size-cells = <2>;
16*dd8c7b78SManivannan Sadhasivam
17*dd8c7b78SManivannan Sadhasivam	psci {
18*dd8c7b78SManivannan Sadhasivam		compatible = "arm,psci-0.2";
19*dd8c7b78SManivannan Sadhasivam		method = "smc";
20*dd8c7b78SManivannan Sadhasivam	};
21*dd8c7b78SManivannan Sadhasivam
22*dd8c7b78SManivannan Sadhasivam	cpus {
23*dd8c7b78SManivannan Sadhasivam		#address-cells = <2>;
24*dd8c7b78SManivannan Sadhasivam		#size-cells = <0>;
25*dd8c7b78SManivannan Sadhasivam
26*dd8c7b78SManivannan Sadhasivam		cpu-map {
27*dd8c7b78SManivannan Sadhasivam			cluster0 {
28*dd8c7b78SManivannan Sadhasivam				core0 {
29*dd8c7b78SManivannan Sadhasivam					cpu = <&cpu0>;
30*dd8c7b78SManivannan Sadhasivam				};
31*dd8c7b78SManivannan Sadhasivam				core1 {
32*dd8c7b78SManivannan Sadhasivam					cpu = <&cpu1>;
33*dd8c7b78SManivannan Sadhasivam				};
34*dd8c7b78SManivannan Sadhasivam				core2 {
35*dd8c7b78SManivannan Sadhasivam					cpu = <&cpu2>;
36*dd8c7b78SManivannan Sadhasivam				};
37*dd8c7b78SManivannan Sadhasivam				core3 {
38*dd8c7b78SManivannan Sadhasivam					cpu = <&cpu3>;
39*dd8c7b78SManivannan Sadhasivam				};
40*dd8c7b78SManivannan Sadhasivam			};
41*dd8c7b78SManivannan Sadhasivam			cluster1 {
42*dd8c7b78SManivannan Sadhasivam				core0 {
43*dd8c7b78SManivannan Sadhasivam					cpu = <&cpu4>;
44*dd8c7b78SManivannan Sadhasivam				};
45*dd8c7b78SManivannan Sadhasivam				core1 {
46*dd8c7b78SManivannan Sadhasivam					cpu = <&cpu5>;
47*dd8c7b78SManivannan Sadhasivam				};
48*dd8c7b78SManivannan Sadhasivam				core2 {
49*dd8c7b78SManivannan Sadhasivam					cpu = <&cpu6>;
50*dd8c7b78SManivannan Sadhasivam				};
51*dd8c7b78SManivannan Sadhasivam				core3 {
52*dd8c7b78SManivannan Sadhasivam					cpu = <&cpu7>;
53*dd8c7b78SManivannan Sadhasivam				};
54*dd8c7b78SManivannan Sadhasivam			};
55*dd8c7b78SManivannan Sadhasivam		};
56*dd8c7b78SManivannan Sadhasivam
57*dd8c7b78SManivannan Sadhasivam		cpu0: cpu@0 {
58*dd8c7b78SManivannan Sadhasivam			compatible = "arm,cortex-a53", "arm,armv8";
59*dd8c7b78SManivannan Sadhasivam			device_type = "cpu";
60*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0x0>;
61*dd8c7b78SManivannan Sadhasivam			enable-method = "psci";
62*dd8c7b78SManivannan Sadhasivam		};
63*dd8c7b78SManivannan Sadhasivam
64*dd8c7b78SManivannan Sadhasivam		cpu1: cpu@1 {
65*dd8c7b78SManivannan Sadhasivam			compatible = "arm,cortex-a53", "arm,armv8";
66*dd8c7b78SManivannan Sadhasivam			device_type = "cpu";
67*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0x1>;
68*dd8c7b78SManivannan Sadhasivam			enable-method = "psci";
69*dd8c7b78SManivannan Sadhasivam		};
70*dd8c7b78SManivannan Sadhasivam
71*dd8c7b78SManivannan Sadhasivam		cpu2: cpu@2 {
72*dd8c7b78SManivannan Sadhasivam			compatible = "arm,cortex-a53", "arm,armv8";
73*dd8c7b78SManivannan Sadhasivam			device_type = "cpu";
74*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0x2>;
75*dd8c7b78SManivannan Sadhasivam			enable-method = "psci";
76*dd8c7b78SManivannan Sadhasivam		};
77*dd8c7b78SManivannan Sadhasivam
78*dd8c7b78SManivannan Sadhasivam		cpu3: cpu@3 {
79*dd8c7b78SManivannan Sadhasivam			compatible = "arm,cortex-a53", "arm,armv8";
80*dd8c7b78SManivannan Sadhasivam			device_type = "cpu";
81*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0x3>;
82*dd8c7b78SManivannan Sadhasivam			enable-method = "psci";
83*dd8c7b78SManivannan Sadhasivam		};
84*dd8c7b78SManivannan Sadhasivam
85*dd8c7b78SManivannan Sadhasivam		cpu4: cpu@100 {
86*dd8c7b78SManivannan Sadhasivam			compatible = "arm,cortex-a73", "arm,armv8";
87*dd8c7b78SManivannan Sadhasivam			device_type = "cpu";
88*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0x100>;
89*dd8c7b78SManivannan Sadhasivam			enable-method = "psci";
90*dd8c7b78SManivannan Sadhasivam		};
91*dd8c7b78SManivannan Sadhasivam
92*dd8c7b78SManivannan Sadhasivam		cpu5: cpu@101 {
93*dd8c7b78SManivannan Sadhasivam			compatible = "arm,cortex-a73", "arm,armv8";
94*dd8c7b78SManivannan Sadhasivam			device_type = "cpu";
95*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0x101>;
96*dd8c7b78SManivannan Sadhasivam			enable-method = "psci";
97*dd8c7b78SManivannan Sadhasivam		};
98*dd8c7b78SManivannan Sadhasivam
99*dd8c7b78SManivannan Sadhasivam		cpu6: cpu@102 {
100*dd8c7b78SManivannan Sadhasivam			compatible = "arm,cortex-a73", "arm,armv8";
101*dd8c7b78SManivannan Sadhasivam			device_type = "cpu";
102*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0x102>;
103*dd8c7b78SManivannan Sadhasivam			enable-method = "psci";
104*dd8c7b78SManivannan Sadhasivam		};
105*dd8c7b78SManivannan Sadhasivam
106*dd8c7b78SManivannan Sadhasivam		cpu7: cpu@103 {
107*dd8c7b78SManivannan Sadhasivam			compatible = "arm,cortex-a73", "arm,armv8";
108*dd8c7b78SManivannan Sadhasivam			device_type = "cpu";
109*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0x103>;
110*dd8c7b78SManivannan Sadhasivam			enable-method = "psci";
111*dd8c7b78SManivannan Sadhasivam		};
112*dd8c7b78SManivannan Sadhasivam	};
113*dd8c7b78SManivannan Sadhasivam
114*dd8c7b78SManivannan Sadhasivam	gic: interrupt-controller@e82b0000 {
115*dd8c7b78SManivannan Sadhasivam		compatible = "arm,gic-400";
116*dd8c7b78SManivannan Sadhasivam		reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */
117*dd8c7b78SManivannan Sadhasivam		      <0x0 0xe82b2000 0 0x2000>, /* GICC */
118*dd8c7b78SManivannan Sadhasivam		      <0x0 0xe82b4000 0 0x2000>, /* GICH */
119*dd8c7b78SManivannan Sadhasivam		      <0x0 0xe82b6000 0 0x2000>; /* GICV */
120*dd8c7b78SManivannan Sadhasivam		#interrupt-cells = <3>;
121*dd8c7b78SManivannan Sadhasivam		#address-cells = <0>;
122*dd8c7b78SManivannan Sadhasivam		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
123*dd8c7b78SManivannan Sadhasivam					 IRQ_TYPE_LEVEL_HIGH)>;
124*dd8c7b78SManivannan Sadhasivam		interrupt-controller;
125*dd8c7b78SManivannan Sadhasivam	};
126*dd8c7b78SManivannan Sadhasivam
127*dd8c7b78SManivannan Sadhasivam	timer {
128*dd8c7b78SManivannan Sadhasivam		compatible = "arm,armv8-timer";
129*dd8c7b78SManivannan Sadhasivam		interrupt-parent = <&gic>;
130*dd8c7b78SManivannan Sadhasivam		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) |
131*dd8c7b78SManivannan Sadhasivam					  IRQ_TYPE_LEVEL_LOW)>,
132*dd8c7b78SManivannan Sadhasivam			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) |
133*dd8c7b78SManivannan Sadhasivam					  IRQ_TYPE_LEVEL_LOW)>,
134*dd8c7b78SManivannan Sadhasivam			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) |
135*dd8c7b78SManivannan Sadhasivam					  IRQ_TYPE_LEVEL_LOW)>,
136*dd8c7b78SManivannan Sadhasivam			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) |
137*dd8c7b78SManivannan Sadhasivam					  IRQ_TYPE_LEVEL_LOW)>;
138*dd8c7b78SManivannan Sadhasivam		clock-frequency = <1920000>;
139*dd8c7b78SManivannan Sadhasivam	};
140*dd8c7b78SManivannan Sadhasivam
141*dd8c7b78SManivannan Sadhasivam	soc {
142*dd8c7b78SManivannan Sadhasivam		compatible = "simple-bus";
143*dd8c7b78SManivannan Sadhasivam		#address-cells = <2>;
144*dd8c7b78SManivannan Sadhasivam		#size-cells = <2>;
145*dd8c7b78SManivannan Sadhasivam		ranges;
146*dd8c7b78SManivannan Sadhasivam
147*dd8c7b78SManivannan Sadhasivam		uart6_clk: clk_19_2M {
148*dd8c7b78SManivannan Sadhasivam			compatible = "fixed-clock";
149*dd8c7b78SManivannan Sadhasivam			#clock-cells = <0>;
150*dd8c7b78SManivannan Sadhasivam			clock-frequency = <19200000>;
151*dd8c7b78SManivannan Sadhasivam		};
152*dd8c7b78SManivannan Sadhasivam
153*dd8c7b78SManivannan Sadhasivam		uart6: serial@fff32000 {
154*dd8c7b78SManivannan Sadhasivam			compatible = "arm,pl011", "arm,primecell";
155*dd8c7b78SManivannan Sadhasivam			reg = <0x0 0xfff32000 0x0 0x1000>;
156*dd8c7b78SManivannan Sadhasivam			interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
157*dd8c7b78SManivannan Sadhasivam			clocks = <&uart6_clk &uart6_clk>;
158*dd8c7b78SManivannan Sadhasivam			clock-names = "uartclk", "apb_pclk";
159*dd8c7b78SManivannan Sadhasivam			status = "disabled";
160*dd8c7b78SManivannan Sadhasivam		};
161*dd8c7b78SManivannan Sadhasivam	};
162*dd8c7b78SManivannan Sadhasivam};
163