xref: /freebsd-src/sys/contrib/device-tree/src/arm64/qcom/sa8540p.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1b97ee269SEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2b97ee269SEmmanuel Vadot/*
3b97ee269SEmmanuel Vadot * Copyright (c) 2021, The Linux Foundation. All rights reserved.
4b97ee269SEmmanuel Vadot * Copyright (c) 2022, Linaro Limited
5b97ee269SEmmanuel Vadot */
6b97ee269SEmmanuel Vadot
7b97ee269SEmmanuel Vadot#include "sc8280xp.dtsi"
8b97ee269SEmmanuel Vadot
9b97ee269SEmmanuel Vadot/delete-node/ &cpu0_opp_table;
10b97ee269SEmmanuel Vadot/delete-node/ &cpu4_opp_table;
11b97ee269SEmmanuel Vadot
12b97ee269SEmmanuel Vadot/ {
13cb7aa33aSEmmanuel Vadot	cpu0_opp_table: opp-table-cpu0 {
14b97ee269SEmmanuel Vadot		compatible = "operating-points-v2";
15b97ee269SEmmanuel Vadot		opp-shared;
16b97ee269SEmmanuel Vadot
178bab661aSEmmanuel Vadot		opp-300000000 {
188bab661aSEmmanuel Vadot			opp-hz = /bits/ 64 <300000000>;
198bab661aSEmmanuel Vadot			opp-peak-kBps = <(300000 * 32)>;
208bab661aSEmmanuel Vadot		};
21b97ee269SEmmanuel Vadot		opp-403200000 {
22b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <403200000>;
238bab661aSEmmanuel Vadot			opp-peak-kBps = <(384000 * 32)>;
24b97ee269SEmmanuel Vadot		};
25b97ee269SEmmanuel Vadot		opp-499200000 {
26b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <499200000>;
278bab661aSEmmanuel Vadot			opp-peak-kBps = <(480000 * 32)>;
28b97ee269SEmmanuel Vadot		};
29b97ee269SEmmanuel Vadot		opp-595200000 {
30b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <595200000>;
318bab661aSEmmanuel Vadot			opp-peak-kBps = <(576000 * 32)>;
32b97ee269SEmmanuel Vadot		};
33b97ee269SEmmanuel Vadot		opp-710400000 {
34b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <710400000>;
358bab661aSEmmanuel Vadot			opp-peak-kBps = <(672000 * 32)>;
36b97ee269SEmmanuel Vadot		};
37b97ee269SEmmanuel Vadot		opp-806400000 {
38b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <806400000>;
398bab661aSEmmanuel Vadot			opp-peak-kBps = <(768000 * 32)>;
40b97ee269SEmmanuel Vadot		};
41b97ee269SEmmanuel Vadot		opp-902400000 {
42b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <902400000>;
438bab661aSEmmanuel Vadot			opp-peak-kBps = <(864000 * 32)>;
44b97ee269SEmmanuel Vadot		};
45b97ee269SEmmanuel Vadot		opp-1017600000 {
46b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1017600000>;
478bab661aSEmmanuel Vadot			opp-peak-kBps = <(960000 * 32)>;
48b97ee269SEmmanuel Vadot		};
49b97ee269SEmmanuel Vadot		opp-1113600000 {
50b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1113600000>;
518bab661aSEmmanuel Vadot			opp-peak-kBps = <(1075200 * 32)>;
52b97ee269SEmmanuel Vadot		};
53b97ee269SEmmanuel Vadot		opp-1209600000 {
54b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1209600000>;
558bab661aSEmmanuel Vadot			opp-peak-kBps = <(1171200 * 32)>;
56b97ee269SEmmanuel Vadot		};
57b97ee269SEmmanuel Vadot		opp-1324800000 {
58b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1324800000>;
598bab661aSEmmanuel Vadot			opp-peak-kBps = <(1286400 * 32)>;
60b97ee269SEmmanuel Vadot		};
61b97ee269SEmmanuel Vadot		opp-1440000000 {
62b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1440000000>;
638bab661aSEmmanuel Vadot			opp-peak-kBps = <(1382400 * 32)>;
64b97ee269SEmmanuel Vadot		};
65b97ee269SEmmanuel Vadot		opp-1555200000 {
66b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1555200000>;
678bab661aSEmmanuel Vadot			opp-peak-kBps = <(1497600 * 32)>;
68b97ee269SEmmanuel Vadot		};
69b97ee269SEmmanuel Vadot		opp-1670400000 {
70b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1670400000>;
718bab661aSEmmanuel Vadot			opp-peak-kBps = <(1593600 * 32)>;
72b97ee269SEmmanuel Vadot		};
73b97ee269SEmmanuel Vadot		opp-1785600000 {
74b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1785600000>;
758bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
76b97ee269SEmmanuel Vadot		};
77b97ee269SEmmanuel Vadot		opp-1881600000 {
78b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1881600000>;
798bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
80b97ee269SEmmanuel Vadot		};
81b97ee269SEmmanuel Vadot		opp-2016000000 {
82b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2016000000>;
838bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
84b97ee269SEmmanuel Vadot		};
85b97ee269SEmmanuel Vadot		opp-2131200000 {
86b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2131200000>;
878bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
88b97ee269SEmmanuel Vadot		};
89b97ee269SEmmanuel Vadot		opp-2246400000 {
90b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2246400000>;
918bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
92b97ee269SEmmanuel Vadot		};
93b97ee269SEmmanuel Vadot	};
94b97ee269SEmmanuel Vadot
95cb7aa33aSEmmanuel Vadot	cpu4_opp_table: opp-table-cpu4 {
96b97ee269SEmmanuel Vadot		compatible = "operating-points-v2";
97b97ee269SEmmanuel Vadot		opp-shared;
98b97ee269SEmmanuel Vadot
99b97ee269SEmmanuel Vadot		opp-825600000 {
100b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <825600000>;
1018bab661aSEmmanuel Vadot			opp-peak-kBps = <(300000 * 32)>;
102b97ee269SEmmanuel Vadot		};
103b97ee269SEmmanuel Vadot		opp-940800000 {
104b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <940800000>;
1058bab661aSEmmanuel Vadot			opp-peak-kBps = <(864000 * 32)>;
106b97ee269SEmmanuel Vadot		};
107b97ee269SEmmanuel Vadot		opp-1056000000 {
108b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1056000000>;
1098bab661aSEmmanuel Vadot			opp-peak-kBps = <(960000 * 32)>;
110b97ee269SEmmanuel Vadot		};
111b97ee269SEmmanuel Vadot		opp-1171200000 {
112b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1171200000>;
1138bab661aSEmmanuel Vadot			opp-peak-kBps = <(1171200 * 32)>;
114b97ee269SEmmanuel Vadot		};
115b97ee269SEmmanuel Vadot		opp-1286400000 {
116b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1286400000>;
1178bab661aSEmmanuel Vadot			opp-peak-kBps = <(1286400 * 32)>;
118b97ee269SEmmanuel Vadot		};
119b97ee269SEmmanuel Vadot		opp-1401600000 {
120b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1401600000>;
1218bab661aSEmmanuel Vadot			opp-peak-kBps = <(1382400 * 32)>;
122b97ee269SEmmanuel Vadot		};
123b97ee269SEmmanuel Vadot		opp-1516800000 {
124b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1516800000>;
1258bab661aSEmmanuel Vadot			opp-peak-kBps = <(1497600 * 32)>;
126b97ee269SEmmanuel Vadot		};
127b97ee269SEmmanuel Vadot		opp-1632000000 {
128b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1632000000>;
1298bab661aSEmmanuel Vadot			opp-peak-kBps = <(1593600 * 32)>;
130b97ee269SEmmanuel Vadot		};
131b97ee269SEmmanuel Vadot		opp-1747200000 {
132b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1747200000>;
1338bab661aSEmmanuel Vadot			opp-peak-kBps = <(1593600 * 32)>;
134b97ee269SEmmanuel Vadot		};
135b97ee269SEmmanuel Vadot		opp-1862400000 {
136b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1862400000>;
1378bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
138b97ee269SEmmanuel Vadot		};
139b97ee269SEmmanuel Vadot		opp-1977600000 {
140b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <1977600000>;
1418bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
142b97ee269SEmmanuel Vadot		};
143b97ee269SEmmanuel Vadot		opp-2073600000 {
144b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2073600000>;
1458bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
146b97ee269SEmmanuel Vadot		};
147b97ee269SEmmanuel Vadot		opp-2169600000 {
148b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2169600000>;
1498bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
150b97ee269SEmmanuel Vadot		};
151b97ee269SEmmanuel Vadot		opp-2284800000 {
152b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2284800000>;
1538bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
154b97ee269SEmmanuel Vadot		};
155b97ee269SEmmanuel Vadot		opp-2380800000 {
156b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2380800000>;
1578bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
158b97ee269SEmmanuel Vadot		};
159b97ee269SEmmanuel Vadot		opp-2496000000 {
160b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2496000000>;
1618bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
162b97ee269SEmmanuel Vadot		};
163b97ee269SEmmanuel Vadot		opp-2592000000 {
164b97ee269SEmmanuel Vadot			opp-hz = /bits/ 64 <2592000000>;
1658bab661aSEmmanuel Vadot			opp-peak-kBps = <(1708800 * 32)>;
166b97ee269SEmmanuel Vadot		};
167b97ee269SEmmanuel Vadot	};
168b97ee269SEmmanuel Vadot};
169b97ee269SEmmanuel Vadot
170f126890aSEmmanuel Vadot&gpucc {
171*01950c46SEmmanuel Vadot	/* SA8295P and SA8540P doesn't provide gfx.lvl */
172*01950c46SEmmanuel Vadot	/delete-property/ power-domains;
173*01950c46SEmmanuel Vadot
174f126890aSEmmanuel Vadot	status = "disabled";
175f126890aSEmmanuel Vadot};
176f126890aSEmmanuel Vadot
177f126890aSEmmanuel Vadot&gpu_smmu {
178f126890aSEmmanuel Vadot	status = "disabled";
179f126890aSEmmanuel Vadot};
180f126890aSEmmanuel Vadot
1818bab661aSEmmanuel Vadot&pcie2a {
1828bab661aSEmmanuel Vadot	compatible = "qcom,pcie-sa8540p";
1838bab661aSEmmanuel Vadot
1848bab661aSEmmanuel Vadot	linux,pci-domain = <0>;
1858bab661aSEmmanuel Vadot
1868bab661aSEmmanuel Vadot	interrupts = <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>;
1878bab661aSEmmanuel Vadot	interrupt-names = "msi";
1888bab661aSEmmanuel Vadot};
1898bab661aSEmmanuel Vadot
1908bab661aSEmmanuel Vadot&pcie2b {
1918bab661aSEmmanuel Vadot	compatible = "qcom,pcie-sa8540p";
1928bab661aSEmmanuel Vadot
1938bab661aSEmmanuel Vadot	linux,pci-domain = <1>;
1948bab661aSEmmanuel Vadot
1958bab661aSEmmanuel Vadot	interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
1968bab661aSEmmanuel Vadot	interrupt-names = "msi";
1978bab661aSEmmanuel Vadot};
1988bab661aSEmmanuel Vadot
1998bab661aSEmmanuel Vadot&pcie3a {
2008bab661aSEmmanuel Vadot	compatible = "qcom,pcie-sa8540p";
2018bab661aSEmmanuel Vadot	reg = <0x0 0x01c10000 0x0 0x3000>,
2028bab661aSEmmanuel Vadot	      <0x0 0x40000000 0x0 0xf1d>,
2038bab661aSEmmanuel Vadot	      <0x0 0x40000f20 0x0 0xa8>,
2048bab661aSEmmanuel Vadot	      <0x0 0x40001000 0x0 0x1000>,
2058bab661aSEmmanuel Vadot	      <0x0 0x40100000 0x0 0x100000>;
2068bab661aSEmmanuel Vadot	reg-names = "parf", "dbi", "elbi", "atu", "config";
2078bab661aSEmmanuel Vadot
2088bab661aSEmmanuel Vadot	ranges = <0x01000000 0x0 0x40200000 0x0 0x40200000 0x0 0x100000>,
2098bab661aSEmmanuel Vadot		 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1d00000>;
2108bab661aSEmmanuel Vadot
2118bab661aSEmmanuel Vadot	linux,pci-domain = <2>;
2128bab661aSEmmanuel Vadot
2138bab661aSEmmanuel Vadot	interrupts = <GIC_SPI 567 IRQ_TYPE_LEVEL_HIGH>;
2148bab661aSEmmanuel Vadot	interrupt-names = "msi";
2158bab661aSEmmanuel Vadot
2168bab661aSEmmanuel Vadot	interrupt-map = <0 0 0 1 &intc 0 0 GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>,
2178bab661aSEmmanuel Vadot			<0 0 0 2 &intc 0 0 GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH>,
2188bab661aSEmmanuel Vadot			<0 0 0 3 &intc 0 0 GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH>,
2198bab661aSEmmanuel Vadot			<0 0 0 4 &intc 0 0 GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>;
2208bab661aSEmmanuel Vadot};
2218bab661aSEmmanuel Vadot
2228bab661aSEmmanuel Vadot&pcie3b {
2238bab661aSEmmanuel Vadot	compatible = "qcom,pcie-sa8540p";
2248bab661aSEmmanuel Vadot
2258bab661aSEmmanuel Vadot	linux,pci-domain = <3>;
2268bab661aSEmmanuel Vadot
2278bab661aSEmmanuel Vadot	interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>;
2288bab661aSEmmanuel Vadot	interrupt-names = "msi";
2298bab661aSEmmanuel Vadot};
2308bab661aSEmmanuel Vadot
2318bab661aSEmmanuel Vadot&pcie4 {
2328bab661aSEmmanuel Vadot	compatible = "qcom,pcie-sa8540p";
2338bab661aSEmmanuel Vadot
2348bab661aSEmmanuel Vadot	linux,pci-domain = <4>;
2358bab661aSEmmanuel Vadot
2368bab661aSEmmanuel Vadot	interrupts = <GIC_SPI 518 IRQ_TYPE_LEVEL_HIGH>;
2378bab661aSEmmanuel Vadot	interrupt-names = "msi";
2388bab661aSEmmanuel Vadot};
2398bab661aSEmmanuel Vadot
240b97ee269SEmmanuel Vadot&rpmhpd {
241b97ee269SEmmanuel Vadot	compatible = "qcom,sa8540p-rpmhpd";
242b97ee269SEmmanuel Vadot};
243