/*
 * Copyright (c) 2017, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/clock/qcom,gcc-sdm845.h>
#include <dt-bindings/clock/qcom,camcc-sdm845.h>
#include <dt-bindings/clock/qcom,dispcc-sdm845.h>
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>

#include "sdm670-mtp.dtsi"
#include "pm660a.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. SDA670 PM660 + PM660A MTP";
	compatible = "qcom,sda670-mtp", "qcom,sda670", "qcom,mtp";
	qcom,msm-id = <337 0x0>;
	qcom,board-id = <8 0>;
	qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>,
		       <0x0001001b 0x0002001a 0x0 0x0>,
		       <0x0001001b 0x0202001a 0x0 0x0>;
};
