/* Copyright (c) 2014-2015, 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.
 */

/*
 * This file includes msm8996-v3.dtsi and therefore should only contain
 * overrides on top of that which are specific to 8996v3.0.
 */
#include "msm8996-v3.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. MSM 8996 v3.0";
	qcom,msm-id = <246 0x30000>;
};

&gfx_cpr {
	system-supply = <&pm8994_s1_corner>;
	qcom,cpr-enable;

	/delete-property/ qcom,cpr-aging-ref-voltage;
};

&gfx_vreg {
	regulator-min-microvolt = <2>;
	regulator-max-microvolt = <7>;

	qcom,cpr-fuse-corners = <4>;
	qcom,cpr-fuse-combos = <8>;
	qcom,cpr-corners = <7>;

	qcom,cpr-corner-fmax-map = <2 3 5 7>;

	qcom,cpr-voltage-ceiling =
		<400000  670000  745000  825000  905000
		 960000 1015000>;
	qcom,cpr-voltage-floor =
		<400000  520000  520000  520000  520000
		 520000  520000>;

	qcom,system-voltage = <2 2 2 2 2 4 4>;
	qcom,mem-acc-voltage = <1 1 1 2 2 2 2>;

	qcom,corner-frequencies =
		<0 214000000 315000000 401800000
		 510000000 560000000 624000000>;

	qcom,cpr-target-quotients =
	      <   0    0    0    0    0    0    0    0
		  0    0    0    0    0    0    0    0>,
	      <   0    0    0    0    0    0  287  273
		425  426  443  453    0    0    0    0>,
	      <   0    0    0    0    0    0  414  392
		584  576  608  612    0    0    0    0>,
	      <   0    0    0    0    0    0  459  431
		684  644  692  679    0    0    0    0>,
	      <   0    0    0    0    0    0  577  543
		798  768  823  810    0    0    0    0>,
	      <   0    0    0    0    0    0  669  629
		886  864  924  911    0    0    0    0>,
	      <   0    0    0    0    0    0  771  725
		984  970 1036 1024    0    0    0    0>;

	qcom,cpr-ro-scaling-factor =
	      <   0    0    0    0    0    0 2035 1917
	       1959 2131 2246 2253    0    0    0    0>,
	      <   0    0    0    0    0    0 2035 1917
	       1959 2131 2246 2253    0    0    0    0>,
	      <   0    0    0    0    0    0 2035 1917
	       1959 2131 2246 2253    0    0    0    0>,
	      <   0    0    0    0    0    0 2035 1917
	       1959 2131 2246 2253    0    0    0    0>,
	      <   0    0    0    0    0    0 2035 1917
	       1959 2131 2246 2253    0    0    0    0>,
	      <   0    0    0    0    0    0 2035 1917
	       1959 2131 2246 2253    0    0    0    0>,
	      <   0    0    0    0    0    0 2035 1917
	       1959 2131 2246 2253    0    0    0    0>;

	qcom,cpr-open-loop-voltage-fuse-adjustment =
		<       0        0    30000 (-10000)>,
		<(-30000) (-30000)        0 (-10000)>,
		<(-30000) (-30000)        0 (-10000)>,
		<       0        0        0        0>,
		<       0        0        0        0>,
		<       0        0        0        0>,
		<       0        0        0        0>,
		<       0        0        0        0>;
	qcom,cpr-closed-loop-voltage-adjustment =
		<    0 (-5000) 20000 20000 30000 10000 (-5000)>,
		<    0 (-5000) 20000 20000 30000 10000 (-5000)>,
		<    0  60000  40000 40000 45000 25000  35000>,
		<    0  30000  10000 10000 45000 25000  25000>,
		<    0  30000  10000 10000 45000 25000  25000>,
		<    0  30000  10000 10000 45000 25000  25000>,
		<    0  30000  10000 10000 45000 25000  25000>,
		<    0  30000  10000 10000 45000 25000  25000>;
	qcom,cpr-floor-to-ceiling-max-range =
	       <0 70000 75000 80000 90000 95000 100000>;

	/delete-property/ qcom,cpr-fused-closed-loop-voltage-adjustment-map;

	qcom,allow-voltage-interpolation;
	qcom,cpr-scaled-open-loop-voltage-as-ceiling;

	/delete-property/ qcom,cpr-aging-max-voltage-adjustment;
	/delete-property/ qcom,cpr-aging-ref-corner;
	/delete-property/ qcom,cpr-aging-ro-scaling-factor;
	/delete-property/ qcom,allow-aging-voltage-adjustment;
};

&clock_gpu {
	compatible = "qcom,gpucc-8996-v3.0";
	qcom,gfx3d_clk_src_v2-opp-handle = <&msm_gpu>;
	qcom,gfxfreq-speedbin0 =
		<	   0  0  0 >,
		<  133000000  3  4 >,
		<  214000000  3  4 >,
		<  315000000  3  4 >,
		<  401800000  4  5 >,
		<  510000000  5  5 >,
		<  560000000  6  7 >,
		<  624000000  7  7 >;
};
