diff options
author | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-06-14 14:49:08 +0000 |
---|---|---|
committer | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-06-14 14:49:08 +0000 |
commit | bc08425e6df6a2dc799d4f5eb6ccc6fc26029477 (patch) | |
tree | 3fb2aeec1c61bdbdd7471bb029297fad326d0417 /src/flash/stellaris.h | |
parent | 09883194f86725f4eae7e6db9eabcf6b3d1511de (diff) |
- added stellaris.[ch] missing from Cortex-M3 merge
git-svn-id: svn://svn.berlios.de/openocd/trunk@171 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/flash/stellaris.h')
-rw-r--r-- | src/flash/stellaris.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/src/flash/stellaris.h b/src/flash/stellaris.h new file mode 100644 index 00000000..e899b30f --- /dev/null +++ b/src/flash/stellaris.h @@ -0,0 +1,98 @@ +/*************************************************************************** + * Copyright (C) 2006 by Magnus Lundin * + * lundinªmlu.mine.nu * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +#ifndef STELLARIS_FLASH_H +#define STELLARIS_FLASH_H + +#include "flash.h" +#include "target.h" + +typedef struct stellaris_flash_bank_s +{ + struct target_s *target; + + /* chip id register */ + u32 did0; + u32 did1; + u32 dc0; + u32 dc1; + + char * target_name; + + u32 sramsiz; + u32 flshsz; + /* flash geometry */ + u32 num_pages; + u32 pagesize; + u32 pages_in_lockregion; + + /* nv memory bits */ + u16 num_lockbits; + u32 lockbits; + + /* main clock status */ + u32 rcc; + u8 mck_valid; + u32 mck_freq; + +} stellaris_flash_bank_t; + +/* STELLARIS control registers */ +#define SCB_BASE 0x400FE000 +#define DID0 0x000 +#define DID1 0x004 +#define DC0 0x008 +#define DC1 0x010 +#define DC2 0x014 +#define DC3 0x018 +#define DC4 0x01C + +#define RIS 0x050 +#define RCC 0x060 +#define PLLCFG 0x064 + +#define FMPRE 0x130 +#define FMPPE 0x134 +#define USECRL 0x140 + +#define FLASH_CONTROL_BASE 0x400FD000 +#define FLASH_FMA (FLASH_CONTROL_BASE|0x000) +#define FLASH_FMD (FLASH_CONTROL_BASE|0x004) +#define FLASH_FMC (FLASH_CONTROL_BASE|0x008) +#define FLASH_CRIS (FLASH_CONTROL_BASE|0x00C) +#define FLASH_CIM (FLASH_CONTROL_BASE|0x010) +#define FLASH_MISC (FLASH_CONTROL_BASE|0x014) + +#define AMISC 1 +#define PMISC 2 + +#define AMASK 1 +#define PMASK 2 + + +/* Flash Controller Command bits */ +#define FMC_WRKEY (0xA442<<16) +#define FMC_COMT (1<<3) +#define FMC_MERASE (1<<2) +#define FMC_ERASE (1<<1) +#define FMC_WRITE (1<<0) + +/* STELLARIS constants */ + +#endif /* STELLARIS_H */ |