162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2021, The Linux Foundation. All rights reserved.
462306a36Sopenharmony_ci * Copyright (c) 2022, Linaro Limited
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "sc8280xp.dtsi"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/delete-node/ &cpu0_opp_table;
1062306a36Sopenharmony_ci/delete-node/ &cpu4_opp_table;
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	cpu0_opp_table: opp-table-cpu0 {
1462306a36Sopenharmony_ci		compatible = "operating-points-v2";
1562306a36Sopenharmony_ci		opp-shared;
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci		opp-300000000 {
1862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <300000000>;
1962306a36Sopenharmony_ci			opp-peak-kBps = <(300000 * 32)>;
2062306a36Sopenharmony_ci		};
2162306a36Sopenharmony_ci		opp-403200000 {
2262306a36Sopenharmony_ci			opp-hz = /bits/ 64 <403200000>;
2362306a36Sopenharmony_ci			opp-peak-kBps = <(384000 * 32)>;
2462306a36Sopenharmony_ci		};
2562306a36Sopenharmony_ci		opp-499200000 {
2662306a36Sopenharmony_ci			opp-hz = /bits/ 64 <499200000>;
2762306a36Sopenharmony_ci			opp-peak-kBps = <(480000 * 32)>;
2862306a36Sopenharmony_ci		};
2962306a36Sopenharmony_ci		opp-595200000 {
3062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <595200000>;
3162306a36Sopenharmony_ci			opp-peak-kBps = <(576000 * 32)>;
3262306a36Sopenharmony_ci		};
3362306a36Sopenharmony_ci		opp-710400000 {
3462306a36Sopenharmony_ci			opp-hz = /bits/ 64 <710400000>;
3562306a36Sopenharmony_ci			opp-peak-kBps = <(672000 * 32)>;
3662306a36Sopenharmony_ci		};
3762306a36Sopenharmony_ci		opp-806400000 {
3862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <806400000>;
3962306a36Sopenharmony_ci			opp-peak-kBps = <(768000 * 32)>;
4062306a36Sopenharmony_ci		};
4162306a36Sopenharmony_ci		opp-902400000 {
4262306a36Sopenharmony_ci			opp-hz = /bits/ 64 <902400000>;
4362306a36Sopenharmony_ci			opp-peak-kBps = <(864000 * 32)>;
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci		opp-1017600000 {
4662306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1017600000>;
4762306a36Sopenharmony_ci			opp-peak-kBps = <(960000 * 32)>;
4862306a36Sopenharmony_ci		};
4962306a36Sopenharmony_ci		opp-1113600000 {
5062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1113600000>;
5162306a36Sopenharmony_ci			opp-peak-kBps = <(1075200 * 32)>;
5262306a36Sopenharmony_ci		};
5362306a36Sopenharmony_ci		opp-1209600000 {
5462306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1209600000>;
5562306a36Sopenharmony_ci			opp-peak-kBps = <(1171200 * 32)>;
5662306a36Sopenharmony_ci		};
5762306a36Sopenharmony_ci		opp-1324800000 {
5862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1324800000>;
5962306a36Sopenharmony_ci			opp-peak-kBps = <(1286400 * 32)>;
6062306a36Sopenharmony_ci		};
6162306a36Sopenharmony_ci		opp-1440000000 {
6262306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1440000000>;
6362306a36Sopenharmony_ci			opp-peak-kBps = <(1382400 * 32)>;
6462306a36Sopenharmony_ci		};
6562306a36Sopenharmony_ci		opp-1555200000 {
6662306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1555200000>;
6762306a36Sopenharmony_ci			opp-peak-kBps = <(1497600 * 32)>;
6862306a36Sopenharmony_ci		};
6962306a36Sopenharmony_ci		opp-1670400000 {
7062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1670400000>;
7162306a36Sopenharmony_ci			opp-peak-kBps = <(1593600 * 32)>;
7262306a36Sopenharmony_ci		};
7362306a36Sopenharmony_ci		opp-1785600000 {
7462306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1785600000>;
7562306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
7662306a36Sopenharmony_ci		};
7762306a36Sopenharmony_ci		opp-1881600000 {
7862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1881600000>;
7962306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
8062306a36Sopenharmony_ci		};
8162306a36Sopenharmony_ci		opp-2016000000 {
8262306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2016000000>;
8362306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
8462306a36Sopenharmony_ci		};
8562306a36Sopenharmony_ci		opp-2131200000 {
8662306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2131200000>;
8762306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
8862306a36Sopenharmony_ci		};
8962306a36Sopenharmony_ci		opp-2246400000 {
9062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2246400000>;
9162306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
9262306a36Sopenharmony_ci		};
9362306a36Sopenharmony_ci	};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci	cpu4_opp_table: opp-table-cpu4 {
9662306a36Sopenharmony_ci		compatible = "operating-points-v2";
9762306a36Sopenharmony_ci		opp-shared;
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci		opp-825600000 {
10062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <825600000>;
10162306a36Sopenharmony_ci			opp-peak-kBps = <(300000 * 32)>;
10262306a36Sopenharmony_ci		};
10362306a36Sopenharmony_ci		opp-940800000 {
10462306a36Sopenharmony_ci			opp-hz = /bits/ 64 <940800000>;
10562306a36Sopenharmony_ci			opp-peak-kBps = <(864000 * 32)>;
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci		opp-1056000000 {
10862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1056000000>;
10962306a36Sopenharmony_ci			opp-peak-kBps = <(960000 * 32)>;
11062306a36Sopenharmony_ci		};
11162306a36Sopenharmony_ci		opp-1171200000 {
11262306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1171200000>;
11362306a36Sopenharmony_ci			opp-peak-kBps = <(1171200 * 32)>;
11462306a36Sopenharmony_ci		};
11562306a36Sopenharmony_ci		opp-1286400000 {
11662306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1286400000>;
11762306a36Sopenharmony_ci			opp-peak-kBps = <(1286400 * 32)>;
11862306a36Sopenharmony_ci		};
11962306a36Sopenharmony_ci		opp-1401600000 {
12062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1401600000>;
12162306a36Sopenharmony_ci			opp-peak-kBps = <(1382400 * 32)>;
12262306a36Sopenharmony_ci		};
12362306a36Sopenharmony_ci		opp-1516800000 {
12462306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1516800000>;
12562306a36Sopenharmony_ci			opp-peak-kBps = <(1497600 * 32)>;
12662306a36Sopenharmony_ci		};
12762306a36Sopenharmony_ci		opp-1632000000 {
12862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1632000000>;
12962306a36Sopenharmony_ci			opp-peak-kBps = <(1593600 * 32)>;
13062306a36Sopenharmony_ci		};
13162306a36Sopenharmony_ci		opp-1747200000 {
13262306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1747200000>;
13362306a36Sopenharmony_ci			opp-peak-kBps = <(1593600 * 32)>;
13462306a36Sopenharmony_ci		};
13562306a36Sopenharmony_ci		opp-1862400000 {
13662306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1862400000>;
13762306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
13862306a36Sopenharmony_ci		};
13962306a36Sopenharmony_ci		opp-1977600000 {
14062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <1977600000>;
14162306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
14262306a36Sopenharmony_ci		};
14362306a36Sopenharmony_ci		opp-2073600000 {
14462306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2073600000>;
14562306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
14662306a36Sopenharmony_ci		};
14762306a36Sopenharmony_ci		opp-2169600000 {
14862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2169600000>;
14962306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
15062306a36Sopenharmony_ci		};
15162306a36Sopenharmony_ci		opp-2284800000 {
15262306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2284800000>;
15362306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
15462306a36Sopenharmony_ci		};
15562306a36Sopenharmony_ci		opp-2380800000 {
15662306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2380800000>;
15762306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
15862306a36Sopenharmony_ci		};
15962306a36Sopenharmony_ci		opp-2496000000 {
16062306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2496000000>;
16162306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
16262306a36Sopenharmony_ci		};
16362306a36Sopenharmony_ci		opp-2592000000 {
16462306a36Sopenharmony_ci			opp-hz = /bits/ 64 <2592000000>;
16562306a36Sopenharmony_ci			opp-peak-kBps = <(1708800 * 32)>;
16662306a36Sopenharmony_ci		};
16762306a36Sopenharmony_ci	};
16862306a36Sopenharmony_ci};
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci&gpucc {
17162306a36Sopenharmony_ci	/* SA8295P and SA8540P doesn't provide gfx.lvl */
17262306a36Sopenharmony_ci	/delete-property/ power-domains;
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci	status = "disabled";
17562306a36Sopenharmony_ci};
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci&gpu_smmu {
17862306a36Sopenharmony_ci	status = "disabled";
17962306a36Sopenharmony_ci};
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ci&pcie2a {
18262306a36Sopenharmony_ci	compatible = "qcom,pcie-sa8540p";
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci	linux,pci-domain = <0>;
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_ci	interrupts = <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>;
18762306a36Sopenharmony_ci	interrupt-names = "msi";
18862306a36Sopenharmony_ci};
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci&pcie2b {
19162306a36Sopenharmony_ci	compatible = "qcom,pcie-sa8540p";
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci	linux,pci-domain = <1>;
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci	interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
19662306a36Sopenharmony_ci	interrupt-names = "msi";
19762306a36Sopenharmony_ci};
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci&pcie3a {
20062306a36Sopenharmony_ci	compatible = "qcom,pcie-sa8540p";
20162306a36Sopenharmony_ci	reg = <0x0 0x01c10000 0x0 0x3000>,
20262306a36Sopenharmony_ci	      <0x0 0x40000000 0x0 0xf1d>,
20362306a36Sopenharmony_ci	      <0x0 0x40000f20 0x0 0xa8>,
20462306a36Sopenharmony_ci	      <0x0 0x40001000 0x0 0x1000>,
20562306a36Sopenharmony_ci	      <0x0 0x40100000 0x0 0x100000>;
20662306a36Sopenharmony_ci	reg-names = "parf", "dbi", "elbi", "atu", "config";
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci	ranges = <0x01000000 0x0 0x40200000 0x0 0x40200000 0x0 0x100000>,
20962306a36Sopenharmony_ci		 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1d00000>;
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ci	linux,pci-domain = <2>;
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci	interrupts = <GIC_SPI 567 IRQ_TYPE_LEVEL_HIGH>;
21462306a36Sopenharmony_ci	interrupt-names = "msi";
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ci	interrupt-map = <0 0 0 1 &intc 0 0 GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>,
21762306a36Sopenharmony_ci			<0 0 0 2 &intc 0 0 GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH>,
21862306a36Sopenharmony_ci			<0 0 0 3 &intc 0 0 GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH>,
21962306a36Sopenharmony_ci			<0 0 0 4 &intc 0 0 GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>;
22062306a36Sopenharmony_ci};
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci&pcie3b {
22362306a36Sopenharmony_ci	compatible = "qcom,pcie-sa8540p";
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci	linux,pci-domain = <3>;
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci	interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>;
22862306a36Sopenharmony_ci	interrupt-names = "msi";
22962306a36Sopenharmony_ci};
23062306a36Sopenharmony_ci
23162306a36Sopenharmony_ci&pcie4 {
23262306a36Sopenharmony_ci	compatible = "qcom,pcie-sa8540p";
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci	linux,pci-domain = <4>;
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci	interrupts = <GIC_SPI 518 IRQ_TYPE_LEVEL_HIGH>;
23762306a36Sopenharmony_ci	interrupt-names = "msi";
23862306a36Sopenharmony_ci};
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci&rpmhpd {
24162306a36Sopenharmony_ci	compatible = "qcom,sa8540p-rpmhpd";
24262306a36Sopenharmony_ci};
243