summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/arch-tegra/fuse.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/include/asm/arch-tegra/fuse.h')
-rw-r--r--arch/arm/include/asm/arch-tegra/fuse.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-tegra/fuse.h b/arch/arm/include/asm/arch-tegra/fuse.h
index f3f2ad8e3f2..631ebbb283c 100644
--- a/arch/arm/include/asm/arch-tegra/fuse.h
+++ b/arch/arm/include/asm/arch-tegra/fuse.h
@@ -17,8 +17,22 @@ struct fuse_regs {
u32 fa; /* 0x148: FUSE_FA */
u32 reserved3[21]; /* 0x14C - 0x19C: */
u32 security_mode; /* 0x1A0: FUSE_SECURITY_MODE */
+ u32 sbk[4]; /* 0x1A4 - 0x1B4 */
};
+/* Defines the supported operating modes */
+enum fuse_operating_mode {
+ MODE_UNDEFINED = 0,
+ MODE_PRODUCTION = 3,
+ MODE_ODM_PRODUCTION_SECURE = 4,
+ MODE_ODM_PRODUCTION_OPEN = 5,
+};
+
+/**
+ * Initializes fuse hardware
+ */
+void tegra_fuse_init(void);
+
/**
* Calculate SoC UID
*
@@ -26,4 +40,11 @@ struct fuse_regs {
*/
unsigned long long tegra_chip_uid(void);
+/**
+ * Gives the current operating mode from fuses
+ *
+ * @return current operating mode
+ */
+enum fuse_operating_mode tegra_fuse_get_operation_mode(void);
+
#endif /* ifndef _FUSE_H_ */