arm: tegra: Add support for T30.A02
[linux-2.6.git] / arch / arm / mach-tegra / fuse.h
1 /*
2  * arch/arm/mach-tegra/fuse.c
3  *
4  * Copyright (C) 2010 Google, Inc.
5  *
6  * Author:
7  *      Colin Cross <ccross@android.com>
8  *
9  * This software is licensed under the terms of the GNU General Public
10  * License version 2, as published by the Free Software Foundation, and
11  * may be copied, distributed, and modified under those terms.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  */
19
20 enum tegra_revision {
21         TEGRA_REVISION_UNKNOWN = 0,
22 #if defined(CONFIG_ARCH_TEGRA_3x_SOC)
23         TEGRA_REVISION_A01,
24 #endif
25         TEGRA_REVISION_A02,
26 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
27         TEGRA_REVISION_A03,
28         TEGRA_REVISION_A03p,
29 #endif
30         TEGRA_REVISION_MAX,
31 };
32
33 unsigned long long tegra_chip_uid(void);
34 unsigned int tegra_spare_fuse(int bit);
35 int tegra_sku_id(void);
36 int tegra_cpu_process_id(void);
37 int tegra_core_process_id(void);
38 int tegra_soc_speedo_id(void);
39 void tegra_init_fuse(void);
40 void tegra_init_speedo_data(void);
41 u32 tegra_fuse_readl(unsigned long offset);
42 void tegra_fuse_writel(u32 value, unsigned long offset);
43 enum tegra_revision tegra_get_revision(void);