Revert "Merge commit 'main-jb-2012.08.03-B4' into t114-0806"
[linux-2.6.git] / arch / arm / mach-tegra / fuse.h
index 39fce1a..2e12d91 100644 (file)
@@ -1,7 +1,8 @@
 /*
- * arch/arm/mach-tegra/fuse.c
+ * arch/arm/mach-tegra/fuse.h
  *
  * Copyright (C) 2010 Google, Inc.
+ * Copyright (C) 2010-2011 NVIDIA Corp.
  *
  * Author:
  *     Colin Cross <ccross@android.com>
  *
  */
 
-enum tegra_revision {
-       TEGRA_REVISION_UNKNOWN = 0,
-       TEGRA_REVISION_A02,
-       TEGRA_REVISION_A03,
-       TEGRA_REVISION_A03p,
-       TEGRA_REVISION_MAX,
-};
+#ifndef __MACH_TEGRA_FUSE_H
+#define __MACH_TEGRA_FUSE_H
+
+#define SKU_ID_T20     8
+#define SKU_ID_T25SE   20
+#define SKU_ID_AP25    23
+#define SKU_ID_T25     24
+#define SKU_ID_AP25E   27
+#define SKU_ID_T25E    28
+
+#define TEGRA20                0x20
+#define TEGRA30                0x30
+#define TEGRA11X       0x35
+
+#define INVALID_PROCESS_ID     99 /* don't expect to have 100 process id's */
+
+extern int tegra_sku_id;
+extern int tegra_chip_id;
+
+extern int tegra_bct_strapping;
 
 unsigned long long tegra_chip_uid(void);
 unsigned int tegra_spare_fuse(int bit);
-int tegra_sku_id(void);
+void tegra_init_fuse(void);
+const char *tegra_get_revision_name(void);
+
+#ifdef CONFIG_TEGRA_SILICON_PLATFORM
+
+int tegra_soc_speedo_id(void);
+void tegra_init_speedo_data(void);
 int tegra_cpu_process_id(void);
 int tegra_core_process_id(void);
-void tegra_init_fuse(void);
+
+#ifndef CONFIG_ARCH_TEGRA_2x_SOC
+int tegra_package_id(void);
+int tegra_cpu_speedo_id(void);
+int tegra_cpu_speedo_mv(void);
+int tegra_core_speedo_mv(void);
+int tegra_get_sku_override(void);
+int tegra_fuse_get_cpu_iddq_mA(u32 *iddq);
+#else
+static inline int tegra_package_id(void) { return -1; }
+static inline int tegra_cpu_speedo_id(void) { return 0; }
+static inline int tegra_cpu_speedo_mv(void) { return 1000; }
+static inline int tegra_core_speedo_mv(void) { return 1200; }
+static inline int tegra_fuse_get_cpu_iddq_mA(u32 *iddq) { return 0; }
+#endif /* CONFIG_ARCH_TEGRA_2x_SOC */
+
+#else
+
+static inline int tegra_cpu_process_id(void) { return 0; }
+static inline int tegra_core_process_id(void) { return 0; }
+static inline int tegra_cpu_speedo_id(void) { return 0; }
+static inline int tegra_soc_speedo_id(void) { return 0; }
+static inline int tegra_package_id(void) { return -1; }
+static inline int tegra_cpu_speedo_mv(void) { return 1250; }
+static inline int tegra_core_speedo_mv(void) { return 1200; }
+static inline void tegra_init_speedo_data(void) { }
+
+#endif /* CONFIG_TEGRA_SILICON_PLATFORM */
+
 u32 tegra_fuse_readl(unsigned long offset);
-void tegra_fuse_writel(u32 value, unsigned long offset);
-enum tegra_revision tegra_get_revision(void);
+void tegra_fuse_writel(u32 val, unsigned long offset);
+
+#endif /* MACH_TEGRA_FUSE_H */