1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved.
6 #ifndef __SOC_TEGRA_FUSE_H__
7 #define __SOC_TEGRA_FUSE_H__
9 #include <linux/types.h>
21 #define TEGRA_FUSE_SKU_CALIB_0 0xf0
22 #define TEGRA30_FUSE_SATA_CALIB 0x124
23 #define TEGRA_FUSE_USB_CALIB_EXT_0 0x250
28 TEGRA_REVISION_UNKNOWN = 0,
37 struct tegra_sku_info {
49 enum tegra_revision revision;
52 #ifdef CONFIG_ARCH_TEGRA
53 extern struct tegra_sku_info tegra_sku_info;
54 u32 tegra_read_straps(void);
55 u32 tegra_read_ram_code(void);
56 int tegra_fuse_readl(unsigned long offset, u32 *value);
57 u32 tegra_read_chipid(void);
58 u8 tegra_get_chip_id(void);
59 u8 tegra_get_platform(void);
60 bool tegra_is_silicon(void);
62 static struct tegra_sku_info tegra_sku_info __maybe_unused;
64 static inline u32 tegra_read_straps(void)
69 static inline u32 tegra_read_ram_code(void)
74 static inline int tegra_fuse_readl(unsigned long offset, u32 *value)
79 static inline u32 tegra_read_chipid(void)
84 static inline u8 tegra_get_chip_id(void)
89 static inline u8 tegra_get_platform(void)
94 static inline bool tegra_is_silicon(void)
100 struct device *tegra_soc_device_register(void);
102 #endif /* __ASSEMBLY__ */
104 #endif /* __SOC_TEGRA_FUSE_H__ */