1 /***************************************************************************
2 * Copyright (C) 2005 by Dominic Rath *
3 * Dominic.Rath@gmx.de *
5 * Copyright (C) 2008 by Spencer Oliver *
6 * spen@spen-soft.co.uk *
8 * This program is free software; you can redistribute it and/or modify *
9 * it under the terms of the GNU General Public License as published by *
10 * the Free Software Foundation; either version 2 of the License, or *
11 * (at your option) any later version. *
13 * This program is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU General Public License for more details. *
18 * You should have received a copy of the GNU General Public License *
19 * along with this program; if not, write to the *
20 * Free Software Foundation, Inc., *
21 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
22 ***************************************************************************/
30 typedef struct str9xpec_flash_controller_s
35 jtag_device_t* devarm;
37 } str9xpec_flash_controller_t;
39 enum str9xpec_status_codes
41 STR9XPEC_INVALID_COMMAND = 1,
42 STR9XPEC_ISC_SUCCESS = 2,
43 STR9XPEC_ISC_DISABLED = 3,
44 STR9XPEC_ISC_INTFAIL = 32,
49 #define ISC_IDCODE 0xFE
50 #define ISC_MFG_READ 0x4C
51 #define ISC_CONFIGURATION 0x07
52 #define ISC_ENABLE 0x0C
53 #define ISC_DISABLE 0x0F
55 #define ISC_ADDRESS_SHIFT 0x11
56 #define ISC_CLR_STATUS 0x13
57 #define ISC_PROGRAM 0x20
58 #define ISC_PROGRAM_SECURITY 0x22
59 #define ISC_PROGRAM_UC 0x23
60 #define ISC_ERASE 0x30
62 #define ISC_BLANK_CHECK 0x60
64 /* ISC_DEFAULT bit definitions */
66 #define ISC_STATUS_SECURITY 0x40
67 #define ISC_STATUS_INT_ERROR 0x30
68 #define ISC_STATUS_MODE 0x08
69 #define ISC_STATUS_BUSY 0x04
70 #define ISC_STATUS_ERROR 0x03
72 /* Option bytes definitions */
74 #define STR9XPEC_OPT_CSMAPBIT 48
75 #define STR9XPEC_OPT_LVDTHRESBIT 49
76 #define STR9XPEC_OPT_LVDSELBIT 50
77 #define STR9XPEC_OPT_LVDWARNBIT 51
78 #define STR9XPEC_OPT_OTPBIT 63
80 #endif /* STR9XPEC_H */