summaryrefslogtreecommitdiff
path: root/drivers/platform/tegra/tegra13_edp.c
blob: 9976f0c308c4a68290b977a83207b66a220af7d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
 * drivers/platform/tegra/tegra13_edp.c
 *
 * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope 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.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <mach/edp.h>

#ifdef CONFIG_SYSEDP_FRAMEWORK
static struct tegra_sysedp_corecap t132_sysedp_corecap[] = {
	/*mW	 CPU intensive load	   GPU intensive load	 */
	/*mW	 budget	 gpu(khz) mem(khz)  budget  gpu(khz) mem(khz) pthrot(mW)*/
	{5000,  {3000,  180000, 933000}, {3000,  180000, 933000}, 2739 },
	{6000,  {4000,  180000, 933000}, {3500,  252000, 933000}, 3509 },
	{7000,  {5000,  180000, 933000}, {3500,  324000, 933000}, 4084 },
	{8000,  {6000,  252000, 933000}, {3500,  396000, 933000}, 4564 },
	{9000,  {6000,  180000, 933000}, {3500,  468000, 933000}, 5043 },
	{10000, {7000,  180000, 933000}, {6000,  396000, 933000}, 5868 },
	{11000, {7000,  252000, 933000}, {6000,  468000, 933000}, 6348 },
	{12000, {7000,  396000, 933000}, {6500,  468000, 933000}, 7307 },
	{13000, {9000,  180000, 933000}, {6000,  540000, 933000}, 7714 },
	{14000, {10000, 252000, 933000}, {6000,  612000, 933000}, 8835 },
	{15000, {10000, 324000, 933000}, {6000,  684000, 933000}, 9600 },
	{16000, {11000, 252000, 933000}, {6000,  708000, 933000}, 9978 },
	{17000, {12000, 180000, 933000}, {6000,  756000, 933000}, 10434 },
	{18000, {12000, 324000, 933000}, {7000,  756000, 933000}, 11393 },
	{19000, {13000, 252000, 933000}, {7000,  804000, 933000}, 11935 },
	{20000, {13000, 324000, 933000}, {7500,  804000, 933000}, 12414 },
	{21000, {14000, 252000, 933000}, {6500,  853000, 933000}, 13643 },
	{22000, {14000, 396000, 933000}, {9000,  853000, 933000}, 14602 },
	{23000, {15000, 252000, 933000}, {9000,  853000, 933000}, 13643 },
	{24000, {16000, 180000, 933000}, {9500,  853000, 933000}, 14432 },
	{25000, {16800, 180000, 933000}, {10000, 853000, 933000}, 15815 },
	{26000, {16800, 324000, 933000}, {11000, 853000, 933000}, 16774 },
	{27000, {16800, 468000, 933000}, {11000, 853000, 933000}, 17733 },
	{28000, {16800, 540000, 933000}, {11500, 853000, 933000}, 18479 },
	{29000, {16800, 540000, 933000}, {13000, 853000, 933000}, 18479 },
	{30000, {16800, 648000, 933000}, {13000, 853000, 933000}, 20252 },
	{31000, {16800, 708000, 933000}, {13500, 853000, 933000}, 21407 },
	{32000, {16800, 708000, 933000}, {14000, 853000, 933000}, 21407 },
	{33000, {16800, 756000, 933000}, {14500, 853000, 933000}, 22430 },
};

struct tegra_sysedp_corecap *tegra_get_sysedp_corecap(unsigned int *sz)
{
	BUG_ON(sz == NULL);
	*sz = ARRAY_SIZE(t132_sysedp_corecap);
	return t132_sysedp_corecap;
}
#endif