Merge branch 'fixes' into cleanups
[oweals/u-boot.git] / include / asm-blackfin / mach-common / bits / otp.h
1 /*
2  * OTP Masks
3  */
4
5 #ifndef __BFIN_PERIPHERAL_OTP__
6 #define __BFIN_PERIPHERAL_OTP__
7
8 #ifndef __ASSEMBLY__
9
10 #include "bootrom.h"
11
12 static uint32_t (* const otp_command)(uint32_t command, uint32_t value) = (void *)_BOOTROM_OTP_COMMAND;
13 static uint32_t (* const otp_read)(uint32_t page, uint32_t flags, uint64_t *page_content) = (void *)_BOOTROM_OTP_READ;
14 static uint32_t (* const otp_write)(uint32_t page, uint32_t flags, uint64_t *page_content) = (void *)_BOOTROM_OTP_WRITE;
15
16 #endif
17
18 /* otp_command(): defines for "command" */
19 #define OTP_INIT             0x00000001
20 #define OTP_CLOSE            0x00000002
21
22 /* otp_{read,write}(): defines for "flags" */
23 #define OTP_LOWER_HALF       0x00000000 /* select upper/lower 64-bit half (bit 0) */
24 #define OTP_UPPER_HALF       0x00000001
25 #define OTP_NO_ECC           0x00000010 /* do not use ECC */
26 #define OTP_LOCK             0x00000020 /* sets page protection bit for page */
27 #define OTP_ACCESS_READ      0x00001000
28 #define OTP_ACCESS_READWRITE 0x00002000
29
30 /* Return values for all functions */
31 #define OTP_SUCCESS          0x00000000
32 #define OTP_MASTER_ERROR     0x001
33 #define OTP_WRITE_ERROR      0x003
34 #define OTP_READ_ERROR       0x005
35 #define OTP_ACC_VIO_ERROR    0x009
36 #define OTP_DATA_MULT_ERROR  0x011
37 #define OTP_ECC_MULT_ERROR   0x021
38 #define OTP_PREV_WR_ERROR    0x041
39 #define OTP_DATA_SB_WARN     0x100
40 #define OTP_ECC_SB_WARN      0x200
41
42 /* Predefined otp pages: Factory Programmed Settings */
43 #define FPS00                0x0004
44 #define FPS01                0x0005
45 #define FPS02                0x0006
46 #define FPS03                0x0007
47 #define FPS04                0x0008
48 #define FPS05                0x0009
49 #define FPS06                0x000A
50 #define FPS07                0x000B
51 #define FPS08                0x000C
52 #define FPS09                0x000D
53 #define FPS10                0x000E
54 #define FPS11                0x000F
55
56 /* Predefined otp pages: Customer Programmed Settings */
57 #define CPS00                0x0010
58 #define CPS01                0x0011
59 #define CPS02                0x0012
60 #define CPS03                0x0013
61 #define CPS04                0x0014
62 #define CPS05                0x0015
63 #define CPS06                0x0016
64 #define CPS07                0x0017
65
66 /* Predefined otp pages: Pre-Boot Settings */
67 #define PBS00                0x0018
68 #define PBS01                0x0019
69 #define PBS02                0x001A
70 #define PBS03                0x001B
71
72 #endif