ARM: tegra: dvfs: Update DVFS tables with data for T30S
[linux-2.6.git] / arch / arm / mach-tegra / fuse.h
1 /*
2  * arch/arm/mach-tegra/fuse.h
3  *
4  * Copyright (C) 2010 Google, Inc.
5  * Copyright (C) 2010-2011 NVIDIA Corp.
6  *
7  * Author:
8  *      Colin Cross <ccross@android.com>
9  *
10  * This software is licensed under the terms of the GNU General Public
11  * License version 2, as published by the Free Software Foundation, and
12  * may be copied, distributed, and modified under those terms.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  */
20
21 enum tegra_chipid {
22         TEGRA_CHIPID_UNKNOWN = 0,
23         TEGRA_CHIPID_TEGRA2 = 0x20,
24         TEGRA_CHIPID_TEGRA3 = 0x30,
25 };
26
27 enum tegra_revision {
28         TEGRA_REVISION_UNKNOWN = 0,
29         TEGRA_REVISION_A01,
30         TEGRA_REVISION_A02,
31 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
32         TEGRA_REVISION_A03,
33         TEGRA_REVISION_A03p,
34 #endif
35         TEGRA_REVISION_MAX,
36 };
37
38 #define INVALID_PROCESS_ID      99 /* don't expect to have 100 process id's */
39
40 unsigned long long tegra_chip_uid(void);
41 unsigned int tegra_spare_fuse(int bit);
42 int tegra_sku_id(void);
43 void tegra_init_fuse(void);
44 u32 tegra_fuse_readl(unsigned long offset);
45 void tegra_fuse_writel(u32 value, unsigned long offset);
46 enum tegra_chipid tegra_get_chipid(void);
47 enum tegra_revision tegra_get_revision(void);
48 const char *tegra_get_revision_name(void);
49
50 #ifndef CONFIG_TEGRA_FPGA_PLATFORM
51
52 int tegra_cpu_process_id(void);
53 int tegra_core_process_id(void);
54 int tegra_cpu_speedo_id(void);
55 int tegra_soc_speedo_id(void);
56 void tegra_init_speedo_data(void);
57
58 #else /* CONFIG_TEGRA_FPGA_PLATFORM */
59
60 static inline int tegra_cpu_process_id(void) { return 0; }
61 static inline int tegra_core_process_id(void) { return 0; }
62 static inline int tegra_cpu_speedo_id(void) { return 0; }
63 static inline int tegra_soc_speedo_id(void) { return 0; }
64 static inline void tegra_init_speedo_data(void) { }
65
66 #endif /* CONFIG_TEGRA_FPGA_PLATFORM */