]> Pileus Git - ~andy/linux/blob - arch/arm/mach-tegra/fuse.h
Merge tag 'late-exynos-v3-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / arch / arm / mach-tegra / fuse.h
1 /*
2  * Copyright (C) 2010 Google, Inc.
3  *
4  * Author:
5  *      Colin Cross <ccross@android.com>
6  *
7  * This software is licensed under the terms of the GNU General Public
8  * License version 2, as published by the Free Software Foundation, and
9  * may be copied, distributed, and modified under those terms.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  */
17
18 #ifndef __MACH_TEGRA_FUSE_H
19 #define __MACH_TEGRA_FUSE_H
20
21 enum tegra_revision {
22         TEGRA_REVISION_UNKNOWN = 0,
23         TEGRA_REVISION_A01,
24         TEGRA_REVISION_A02,
25         TEGRA_REVISION_A03,
26         TEGRA_REVISION_A03p,
27         TEGRA_REVISION_A04,
28         TEGRA_REVISION_MAX,
29 };
30
31 #define SKU_ID_T20      8
32 #define SKU_ID_T25SE    20
33 #define SKU_ID_AP25     23
34 #define SKU_ID_T25      24
35 #define SKU_ID_AP25E    27
36 #define SKU_ID_T25E     28
37
38 #define TEGRA20         0x20
39 #define TEGRA30         0x30
40 #define TEGRA114        0x35
41
42 extern int tegra_sku_id;
43 extern int tegra_cpu_process_id;
44 extern int tegra_core_process_id;
45 extern int tegra_chip_id;
46 extern int tegra_cpu_speedo_id;         /* only exist in Tegra30 and later */
47 extern int tegra_soc_speedo_id;
48 extern enum tegra_revision tegra_revision;
49
50 extern int tegra_bct_strapping;
51
52 unsigned long long tegra_chip_uid(void);
53 void tegra_init_fuse(void);
54 bool tegra_spare_fuse(int bit);
55 u32 tegra_fuse_readl(unsigned long offset);
56
57 #ifdef CONFIG_ARCH_TEGRA_2x_SOC
58 void tegra20_init_speedo_data(void);
59 #else
60 static inline void tegra20_init_speedo_data(void) {}
61 #endif
62
63 #ifdef CONFIG_ARCH_TEGRA_3x_SOC
64 void tegra30_init_speedo_data(void);
65 #else
66 static inline void tegra30_init_speedo_data(void) {}
67 #endif
68
69 #endif