// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
 * Copyright (c) 2022, Linaro Limited
 */

#include "sc8280xp.dtsi"

/delete-node/ &cpu0_opp_table;
/delete-node/ &cpu4_opp_table;

/ {
	cpu0_opp_table: opp-table-cpu0 {
		compatible = "operating-points-v2";
		opp-shared;

		opp-300000000 {
			opp-hz = /bits/ 64 <300000000>;
			opp-peak-kBps = <(300000 * 32)>;
		};
		opp-403200000 {
			opp-hz = /bits/ 64 <403200000>;
			opp-peak-kBps = <(384000 * 32)>;
		};
		opp-499200000 {
			opp-hz = /bits/ 64 <499200000>;
			opp-peak-kBps = <(480000 * 32)>;
		};
		opp-595200000 {
			opp-hz = /bits/ 64 <595200000>;
			opp-peak-kBps = <(576000 * 32)>;
		};
		opp-710400000 {
			opp-hz = /bits/ 64 <710400000>;
			opp-peak-kBps = <(672000 * 32)>;
		};
		opp-806400000 {
			opp-hz = /bits/ 64 <806400000>;
			opp-peak-kBps = <(768000 * 32)>;
		};
		opp-902400000 {
			opp-hz = /bits/ 64 <902400000>;
			opp-peak-kBps = <(864000 * 32)>;
		};
		opp-1017600000 {
			opp-hz = /bits/ 64 <1017600000>;
			opp-peak-kBps = <(960000 * 32)>;
		};
		opp-1113600000 {
			opp-hz = /bits/ 64 <1113600000>;
			opp-peak-kBps = <(1075200 * 32)>;
		};
		opp-1209600000 {
			opp-hz = /bits/ 64 <1209600000>;
			opp-peak-kBps = <(1171200 * 32)>;
		};
		opp-1324800000 {
			opp-hz = /bits/ 64 <1324800000>;
			opp-peak-kBps = <(1286400 * 32)>;
		};
		opp-1440000000 {
			opp-hz = /bits/ 64 <1440000000>;
			opp-peak-kBps = <(1382400 * 32)>;
		};
		opp-1555200000 {
			opp-hz = /bits/ 64 <1555200000>;
			opp-peak-kBps = <(1497600 * 32)>;
		};
		opp-1670400000 {
			opp-hz = /bits/ 64 <1670400000>;
			opp-peak-kBps = <(1593600 * 32)>;
		};
		opp-1785600000 {
			opp-hz = /bits/ 64 <1785600000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-1881600000 {
			opp-hz = /bits/ 64 <1881600000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2016000000 {
			opp-hz = /bits/ 64 <2016000000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2131200000 {
			opp-hz = /bits/ 64 <2131200000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2246400000 {
			opp-hz = /bits/ 64 <2246400000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
	};

	cpu4_opp_table: opp-table-cpu4 {
		compatible = "operating-points-v2";
		opp-shared;

		opp-825600000 {
			opp-hz = /bits/ 64 <825600000>;
			opp-peak-kBps = <(300000 * 32)>;
		};
		opp-940800000 {
			opp-hz = /bits/ 64 <940800000>;
			opp-peak-kBps = <(864000 * 32)>;
		};
		opp-1056000000 {
			opp-hz = /bits/ 64 <1056000000>;
			opp-peak-kBps = <(960000 * 32)>;
		};
		opp-1171200000 {
			opp-hz = /bits/ 64 <1171200000>;
			opp-peak-kBps = <(1171200 * 32)>;
		};
		opp-1286400000 {
			opp-hz = /bits/ 64 <1286400000>;
			opp-peak-kBps = <(1286400 * 32)>;
		};
		opp-1401600000 {
			opp-hz = /bits/ 64 <1401600000>;
			opp-peak-kBps = <(1382400 * 32)>;
		};
		opp-1516800000 {
			opp-hz = /bits/ 64 <1516800000>;
			opp-peak-kBps = <(1497600 * 32)>;
		};
		opp-1632000000 {
			opp-hz = /bits/ 64 <1632000000>;
			opp-peak-kBps = <(1593600 * 32)>;
		};
		opp-1747200000 {
			opp-hz = /bits/ 64 <1747200000>;
			opp-peak-kBps = <(1593600 * 32)>;
		};
		opp-1862400000 {
			opp-hz = /bits/ 64 <1862400000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-1977600000 {
			opp-hz = /bits/ 64 <1977600000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2073600000 {
			opp-hz = /bits/ 64 <2073600000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2169600000 {
			opp-hz = /bits/ 64 <2169600000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2284800000 {
			opp-hz = /bits/ 64 <2284800000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2380800000 {
			opp-hz = /bits/ 64 <2380800000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2496000000 {
			opp-hz = /bits/ 64 <2496000000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
		opp-2592000000 {
			opp-hz = /bits/ 64 <2592000000>;
			opp-peak-kBps = <(1708800 * 32)>;
		};
	};
};

&gpucc {
	status = "disabled";
};

&gpu_smmu {
	status = "disabled";
};

&pcie2a {
	compatible = "qcom,pcie-sa8540p";

	linux,pci-domain = <0>;

	interrupts = <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "msi";
};

&pcie2b {
	compatible = "qcom,pcie-sa8540p";

	linux,pci-domain = <1>;

	interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "msi";
};

&pcie3a {
	compatible = "qcom,pcie-sa8540p";
	reg = <0x0 0x01c10000 0x0 0x3000>,
	      <0x0 0x40000000 0x0 0xf1d>,
	      <0x0 0x40000f20 0x0 0xa8>,
	      <0x0 0x40001000 0x0 0x1000>,
	      <0x0 0x40100000 0x0 0x100000>;
	reg-names = "parf", "dbi", "elbi", "atu", "config";

	ranges = <0x01000000 0x0 0x40200000 0x0 0x40200000 0x0 0x100000>,
		 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1d00000>;

	linux,pci-domain = <2>;

	interrupts = <GIC_SPI 567 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "msi";

	interrupt-map = <0 0 0 1 &intc 0 0 GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>,
			<0 0 0 2 &intc 0 0 GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH>,
			<0 0 0 3 &intc 0 0 GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH>,
			<0 0 0 4 &intc 0 0 GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>;
};

&pcie3b {
	compatible = "qcom,pcie-sa8540p";

	linux,pci-domain = <3>;

	interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "msi";
};

&pcie4 {
	compatible = "qcom,pcie-sa8540p";

	linux,pci-domain = <4>;

	interrupts = <GIC_SPI 518 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "msi";
};

&rpmhpd {
	compatible = "qcom,sa8540p-rpmhpd";
};
