ARM: tegra: powermon: Fix copyrights from GPLv3 to GPLv2
[linux-3.10.git] / arch / arm / mach-tegra / tegra2_fuse_offsets.h
1 /*
2  * copyright (c) 2012, nvidia corporation.
3  *
4  * this program is free software; you can redistribute it and/or modify
5  * it under the terms of the gnu general public license as published by
6  * the free software foundation; either version 2 of the license, or
7  * (at your option) any later version.
8  *
9  * this program is distributed in the hope that it will be useful, but without
10  * any warranty; without even the implied warranty of merchantability or
11  * fitness for a particular purpose.  see the gnu general public license for
12  * more details.
13  *
14  * you should have received a copy of the gnu general public license along
15  * with this program; if not, write to the free software foundation, inc.,
16  * 51 franklin street, fifth floor, boston, ma  02110-1301, usa.
17  */
18
19 #include <mach/iomap.h>
20 #include <mach/tegra_fuse.h>
21 #include <mach/hardware.h>
22
23 #include "apbio.h"
24 #include "fuse.h"
25
26 #ifndef __TEGRA2_FUSE_OFFSETS_H
27 #define __TEGRA2_FUSE_OFFSETS_H
28
29 /* private_key4 */
30 #define DEVKEY_START_OFFSET 0x12
31 #define DEVKEY_START_BIT    8
32
33 /* arm_debug_dis */
34 #define JTAG_START_OFFSET 0x0
35 #define JTAG_START_BIT    24
36
37 /* security_mode */
38 #define ODM_PROD_START_OFFSET 0x0
39 #define ODM_PROD_START_BIT    23
40
41 /* boot_device_info */
42 #define SB_DEVCFG_START_OFFSET 0x14
43 #define SB_DEVCFG_START_BIT    8
44
45 /* reserved_sw[2:0] */
46 #define SB_DEVSEL_START_OFFSET 0x14
47 #define SB_DEVSEL_START_BIT    24
48
49 /* private_key0 -> private_key3 */
50 #define SBK_START_OFFSET 0x0A
51 #define SBK_START_BIT    8
52
53 /* reserved_sw[7:4] */
54 #define SW_RESERVED_START_OFFSET 0x14
55 #define SW_RESERVED_START_BIT    28
56
57 /* reserved_sw[3] */
58 #define IGNORE_DEVSEL_START_OFFSET 0x14
59 #define IGNORE_DEVSEL_START_BIT    27
60
61 /* reserved_odm0 -> reserved_odm7 */
62 #define ODM_RESERVED_DEVSEL_START_OFFSET 0x16
63 #define ODM_RESERVED_START_BIT           4
64
65 #define FUSE_UID_LOW            0x108
66 #define FUSE_UID_HIGH           0x10c
67 #define FUSE_SPARE_BIT          0x200
68
69 #define TEGRA_FUSE_SUPPLY       "vdd_fuse"
70
71 int fuse_pgm_cycles[] = {130, 192, 120, 260};
72
73 unsigned long long tegra_chip_uid(void)
74 {
75         unsigned long long lo, hi;
76
77         lo = tegra_fuse_readl(FUSE_UID_LOW);
78         hi = tegra_fuse_readl(FUSE_UID_HIGH);
79         return (hi << 32ull) | lo;
80 }
81
82 int tegra_fuse_get_priv(char *priv)
83 {
84         if (get_spare_fuse(18) || get_spare_fuse(19))
85                 priv = "p";
86 }
87 #endif /* __TEGRA2_FUSE_OFFSETS_H */