xref: /freebsd/sys/contrib/device-tree/src/arm64/ti/k3-am625.dtsi (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c9ccf3a3SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c9ccf3a3SEmmanuel Vadot/*
3c9ccf3a3SEmmanuel Vadot * Device Tree Source for AM625 SoC family in Quad core configuration
4c9ccf3a3SEmmanuel Vadot *
5c9ccf3a3SEmmanuel Vadot * TRM: https://www.ti.com/lit/pdf/spruiv7
6c9ccf3a3SEmmanuel Vadot *
7c9ccf3a3SEmmanuel Vadot * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
8c9ccf3a3SEmmanuel Vadot */
9c9ccf3a3SEmmanuel Vadot
10c9ccf3a3SEmmanuel Vadot/dts-v1/;
11c9ccf3a3SEmmanuel Vadot
12c9ccf3a3SEmmanuel Vadot#include "k3-am62.dtsi"
13c9ccf3a3SEmmanuel Vadot
14c9ccf3a3SEmmanuel Vadot/ {
15c9ccf3a3SEmmanuel Vadot	cpus {
16c9ccf3a3SEmmanuel Vadot		#address-cells = <1>;
17c9ccf3a3SEmmanuel Vadot		#size-cells = <0>;
18c9ccf3a3SEmmanuel Vadot
19c9ccf3a3SEmmanuel Vadot		cpu-map {
20c9ccf3a3SEmmanuel Vadot			cluster0: cluster0 {
21c9ccf3a3SEmmanuel Vadot				core0 {
22c9ccf3a3SEmmanuel Vadot					cpu = <&cpu0>;
23c9ccf3a3SEmmanuel Vadot				};
24c9ccf3a3SEmmanuel Vadot
25c9ccf3a3SEmmanuel Vadot				core1 {
26c9ccf3a3SEmmanuel Vadot					cpu = <&cpu1>;
27c9ccf3a3SEmmanuel Vadot				};
28c9ccf3a3SEmmanuel Vadot
29c9ccf3a3SEmmanuel Vadot				core2 {
30c9ccf3a3SEmmanuel Vadot					cpu = <&cpu2>;
31c9ccf3a3SEmmanuel Vadot				};
32c9ccf3a3SEmmanuel Vadot
33c9ccf3a3SEmmanuel Vadot				core3 {
34c9ccf3a3SEmmanuel Vadot					cpu = <&cpu3>;
35c9ccf3a3SEmmanuel Vadot				};
36c9ccf3a3SEmmanuel Vadot			};
37c9ccf3a3SEmmanuel Vadot		};
38c9ccf3a3SEmmanuel Vadot
39c9ccf3a3SEmmanuel Vadot		cpu0: cpu@0 {
40c9ccf3a3SEmmanuel Vadot			compatible = "arm,cortex-a53";
41c9ccf3a3SEmmanuel Vadot			reg = <0x000>;
42c9ccf3a3SEmmanuel Vadot			device_type = "cpu";
43c9ccf3a3SEmmanuel Vadot			enable-method = "psci";
44c9ccf3a3SEmmanuel Vadot			i-cache-size = <0x8000>;
45c9ccf3a3SEmmanuel Vadot			i-cache-line-size = <64>;
46c9ccf3a3SEmmanuel Vadot			i-cache-sets = <256>;
47c9ccf3a3SEmmanuel Vadot			d-cache-size = <0x8000>;
48c9ccf3a3SEmmanuel Vadot			d-cache-line-size = <64>;
49c9ccf3a3SEmmanuel Vadot			d-cache-sets = <128>;
50c9ccf3a3SEmmanuel Vadot			next-level-cache = <&L2_0>;
518bab661aSEmmanuel Vadot			operating-points-v2 = <&a53_opp_table>;
528bab661aSEmmanuel Vadot			clocks = <&k3_clks 135 0>;
53c9ccf3a3SEmmanuel Vadot		};
54c9ccf3a3SEmmanuel Vadot
55c9ccf3a3SEmmanuel Vadot		cpu1: cpu@1 {
56c9ccf3a3SEmmanuel Vadot			compatible = "arm,cortex-a53";
57c9ccf3a3SEmmanuel Vadot			reg = <0x001>;
58c9ccf3a3SEmmanuel Vadot			device_type = "cpu";
59c9ccf3a3SEmmanuel Vadot			enable-method = "psci";
60c9ccf3a3SEmmanuel Vadot			i-cache-size = <0x8000>;
61c9ccf3a3SEmmanuel Vadot			i-cache-line-size = <64>;
62c9ccf3a3SEmmanuel Vadot			i-cache-sets = <256>;
63c9ccf3a3SEmmanuel Vadot			d-cache-size = <0x8000>;
64c9ccf3a3SEmmanuel Vadot			d-cache-line-size = <64>;
65c9ccf3a3SEmmanuel Vadot			d-cache-sets = <128>;
66c9ccf3a3SEmmanuel Vadot			next-level-cache = <&L2_0>;
678bab661aSEmmanuel Vadot			operating-points-v2 = <&a53_opp_table>;
688bab661aSEmmanuel Vadot			clocks = <&k3_clks 136 0>;
69c9ccf3a3SEmmanuel Vadot		};
70c9ccf3a3SEmmanuel Vadot
71c9ccf3a3SEmmanuel Vadot		cpu2: cpu@2 {
72c9ccf3a3SEmmanuel Vadot			compatible = "arm,cortex-a53";
73c9ccf3a3SEmmanuel Vadot			reg = <0x002>;
74c9ccf3a3SEmmanuel Vadot			device_type = "cpu";
75c9ccf3a3SEmmanuel Vadot			enable-method = "psci";
76c9ccf3a3SEmmanuel Vadot			i-cache-size = <0x8000>;
77c9ccf3a3SEmmanuel Vadot			i-cache-line-size = <64>;
78c9ccf3a3SEmmanuel Vadot			i-cache-sets = <256>;
79c9ccf3a3SEmmanuel Vadot			d-cache-size = <0x8000>;
80c9ccf3a3SEmmanuel Vadot			d-cache-line-size = <64>;
81c9ccf3a3SEmmanuel Vadot			d-cache-sets = <128>;
82c9ccf3a3SEmmanuel Vadot			next-level-cache = <&L2_0>;
838bab661aSEmmanuel Vadot			operating-points-v2 = <&a53_opp_table>;
848bab661aSEmmanuel Vadot			clocks = <&k3_clks 137 0>;
85c9ccf3a3SEmmanuel Vadot		};
86c9ccf3a3SEmmanuel Vadot
87c9ccf3a3SEmmanuel Vadot		cpu3: cpu@3 {
88c9ccf3a3SEmmanuel Vadot			compatible = "arm,cortex-a53";
89c9ccf3a3SEmmanuel Vadot			reg = <0x003>;
90c9ccf3a3SEmmanuel Vadot			device_type = "cpu";
91c9ccf3a3SEmmanuel Vadot			enable-method = "psci";
92c9ccf3a3SEmmanuel Vadot			i-cache-size = <0x8000>;
93c9ccf3a3SEmmanuel Vadot			i-cache-line-size = <64>;
94c9ccf3a3SEmmanuel Vadot			i-cache-sets = <256>;
95c9ccf3a3SEmmanuel Vadot			d-cache-size = <0x8000>;
96c9ccf3a3SEmmanuel Vadot			d-cache-line-size = <64>;
97c9ccf3a3SEmmanuel Vadot			d-cache-sets = <128>;
98c9ccf3a3SEmmanuel Vadot			next-level-cache = <&L2_0>;
998bab661aSEmmanuel Vadot			operating-points-v2 = <&a53_opp_table>;
1008bab661aSEmmanuel Vadot			clocks = <&k3_clks 138 0>;
1018bab661aSEmmanuel Vadot		};
1028bab661aSEmmanuel Vadot	};
1038bab661aSEmmanuel Vadot
1048bab661aSEmmanuel Vadot	a53_opp_table: opp-table {
1058bab661aSEmmanuel Vadot		compatible = "operating-points-v2-ti-cpu";
1068bab661aSEmmanuel Vadot		opp-shared;
1078bab661aSEmmanuel Vadot		syscon = <&wkup_conf>;
1088bab661aSEmmanuel Vadot
1098bab661aSEmmanuel Vadot		opp-200000000 {
1108bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <200000000>;
1118bab661aSEmmanuel Vadot			opp-supported-hw = <0x01 0x0007>;
1128bab661aSEmmanuel Vadot			clock-latency-ns = <6000000>;
1138bab661aSEmmanuel Vadot		};
1148bab661aSEmmanuel Vadot
1158bab661aSEmmanuel Vadot		opp-400000000 {
1168bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <400000000>;
1178bab661aSEmmanuel Vadot			opp-supported-hw = <0x01 0x0007>;
1188bab661aSEmmanuel Vadot			clock-latency-ns = <6000000>;
1198bab661aSEmmanuel Vadot		};
1208bab661aSEmmanuel Vadot
1218bab661aSEmmanuel Vadot		opp-600000000 {
1228bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <600000000>;
1238bab661aSEmmanuel Vadot			opp-supported-hw = <0x01 0x0007>;
1248bab661aSEmmanuel Vadot			clock-latency-ns = <6000000>;
1258bab661aSEmmanuel Vadot		};
1268bab661aSEmmanuel Vadot
1278bab661aSEmmanuel Vadot		opp-800000000 {
1288bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <800000000>;
1298bab661aSEmmanuel Vadot			opp-supported-hw = <0x01 0x0007>;
1308bab661aSEmmanuel Vadot			clock-latency-ns = <6000000>;
1318bab661aSEmmanuel Vadot		};
1328bab661aSEmmanuel Vadot
1338bab661aSEmmanuel Vadot		opp-1000000000 {
1348bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <1000000000>;
1358bab661aSEmmanuel Vadot			opp-supported-hw = <0x01 0x0006>;
1368bab661aSEmmanuel Vadot			clock-latency-ns = <6000000>;
1378bab661aSEmmanuel Vadot		};
1388bab661aSEmmanuel Vadot
1398bab661aSEmmanuel Vadot		opp-1250000000 {
1408bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <1250000000>;
1418bab661aSEmmanuel Vadot			opp-supported-hw = <0x01 0x0004>;
1428bab661aSEmmanuel Vadot			clock-latency-ns = <6000000>;
1438bab661aSEmmanuel Vadot			opp-suspend;
144c9ccf3a3SEmmanuel Vadot		};
145c9ccf3a3SEmmanuel Vadot	};
146c9ccf3a3SEmmanuel Vadot
147c9ccf3a3SEmmanuel Vadot	L2_0: l2-cache0 {
148c9ccf3a3SEmmanuel Vadot		compatible = "cache";
149*cb7aa33aSEmmanuel Vadot		cache-unified;
150c9ccf3a3SEmmanuel Vadot		cache-level = <2>;
151c9ccf3a3SEmmanuel Vadot		cache-size = <0x40000>;
152c9ccf3a3SEmmanuel Vadot		cache-line-size = <64>;
153c9ccf3a3SEmmanuel Vadot		cache-sets = <512>;
154c9ccf3a3SEmmanuel Vadot	};
155c9ccf3a3SEmmanuel Vadot};
156