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