|  | @@ -0,0 +1,136 @@
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * AVR32 OCD Interface and register definitions
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * Copyright (C) 2004-2007 Atmel Corporation
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * This program is free software; you can redistribute it and/or modify
 | 
	
		
			
				|  |  | + * it under the terms of the GNU General Public License version 2 as
 | 
	
		
			
				|  |  | + * published by the Free Software Foundation.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#ifndef __ASM_AVR32_OCD_H
 | 
	
		
			
				|  |  | +#define __ASM_AVR32_OCD_H
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* OCD Register offsets. Abbreviations used below:
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + *      BP      Breakpoint
 | 
	
		
			
				|  |  | + *      Comm    Communication
 | 
	
		
			
				|  |  | + *      DT      Data Trace
 | 
	
		
			
				|  |  | + *      PC      Program Counter
 | 
	
		
			
				|  |  | + *      PID     Process ID
 | 
	
		
			
				|  |  | + *      R/W     Read/Write
 | 
	
		
			
				|  |  | + *      WP      Watchpoint
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +#define OCD_DID				0x0000  /* Device ID */
 | 
	
		
			
				|  |  | +#define OCD_DC				0x0008  /* Development Control */
 | 
	
		
			
				|  |  | +#define OCD_DS				0x0010  /* Development Status */
 | 
	
		
			
				|  |  | +#define OCD_RWCS			0x001c  /* R/W Access Control */
 | 
	
		
			
				|  |  | +#define OCD_RWA				0x0024  /* R/W Access Address */
 | 
	
		
			
				|  |  | +#define OCD_RWD				0x0028  /* R/W Access Data */
 | 
	
		
			
				|  |  | +#define OCD_WT				0x002c  /* Watchpoint Trigger */
 | 
	
		
			
				|  |  | +#define OCD_DTC				0x0034  /* Data Trace Control */
 | 
	
		
			
				|  |  | +#define OCD_DTSA0			0x0038  /* DT Start Addr Channel 0 */
 | 
	
		
			
				|  |  | +#define OCD_DTSA1			0x003c  /* DT Start Addr Channel 1 */
 | 
	
		
			
				|  |  | +#define OCD_DTEA0			0x0048  /* DT End Addr Channel 0 */
 | 
	
		
			
				|  |  | +#define OCD_DTEA1			0x004c  /* DT End Addr Channel 1 */
 | 
	
		
			
				|  |  | +#define OCD_BWC0A			0x0058  /* PC BP/WP Control 0A */
 | 
	
		
			
				|  |  | +#define OCD_BWC0B			0x005c  /* PC BP/WP Control 0B */
 | 
	
		
			
				|  |  | +#define OCD_BWC1A			0x0060  /* PC BP/WP Control 1A */
 | 
	
		
			
				|  |  | +#define OCD_BWC1B			0x0064  /* PC BP/WP Control 1B */
 | 
	
		
			
				|  |  | +#define OCD_BWC2A			0x0068  /* PC BP/WP Control 2A */
 | 
	
		
			
				|  |  | +#define OCD_BWC2B			0x006c  /* PC BP/WP Control 2B */
 | 
	
		
			
				|  |  | +#define OCD_BWC3A			0x0070  /* Data BP/WP Control 3A */
 | 
	
		
			
				|  |  | +#define OCD_BWC3B			0x0074  /* Data BP/WP Control 3B */
 | 
	
		
			
				|  |  | +#define OCD_BWA0A			0x0078  /* PC BP/WP Address 0A */
 | 
	
		
			
				|  |  | +#define OCD_BWA0B			0x007c  /* PC BP/WP Address 0B */
 | 
	
		
			
				|  |  | +#define OCD_BWA1A			0x0080  /* PC BP/WP Address 1A */
 | 
	
		
			
				|  |  | +#define OCD_BWA1B			0x0084  /* PC BP/WP Address 1B */
 | 
	
		
			
				|  |  | +#define OCD_BWA2A			0x0088  /* PC BP/WP Address 2A */
 | 
	
		
			
				|  |  | +#define OCD_BWA2B			0x008c  /* PC BP/WP Address 2B */
 | 
	
		
			
				|  |  | +#define OCD_BWA3A			0x0090  /* Data BP/WP Address 3A */
 | 
	
		
			
				|  |  | +#define OCD_BWA3B			0x0094  /* Data BP/WP Address 3B */
 | 
	
		
			
				|  |  | +#define OCD_NXCFG			0x0100  /* Nexus Configuration */
 | 
	
		
			
				|  |  | +#define OCD_DINST			0x0104  /* Debug Instruction */
 | 
	
		
			
				|  |  | +#define OCD_DPC				0x0108  /* Debug Program Counter */
 | 
	
		
			
				|  |  | +#define OCD_CPUCM			0x010c  /* CPU Control Mask */
 | 
	
		
			
				|  |  | +#define OCD_DCCPU			0x0110  /* Debug Comm CPU */
 | 
	
		
			
				|  |  | +#define OCD_DCEMU			0x0114  /* Debug Comm Emulator */
 | 
	
		
			
				|  |  | +#define OCD_DCSR			0x0118  /* Debug Comm Status */
 | 
	
		
			
				|  |  | +#define OCD_PID				0x011c  /* Ownership Trace PID */
 | 
	
		
			
				|  |  | +#define OCD_EPC0			0x0120  /* Event Pair Control 0 */
 | 
	
		
			
				|  |  | +#define OCD_EPC1			0x0124  /* Event Pair Control 1 */
 | 
	
		
			
				|  |  | +#define OCD_EPC2			0x0128  /* Event Pair Control 2 */
 | 
	
		
			
				|  |  | +#define OCD_EPC3			0x012c  /* Event Pair Control 3 */
 | 
	
		
			
				|  |  | +#define OCD_AXC				0x0130  /* AUX port Control */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Bits in DID */
 | 
	
		
			
				|  |  | +#define OCD_DID_MID_START		1
 | 
	
		
			
				|  |  | +#define OCD_DID_MID_SIZE		11
 | 
	
		
			
				|  |  | +#define OCD_DID_PN_START		12
 | 
	
		
			
				|  |  | +#define OCD_DID_PN_SIZE			16
 | 
	
		
			
				|  |  | +#define OCD_DID_RN_START		28
 | 
	
		
			
				|  |  | +#define OCD_DID_RN_SIZE			4
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Bits in DC */
 | 
	
		
			
				|  |  | +#define OCD_DC_TM_START			0
 | 
	
		
			
				|  |  | +#define OCD_DC_TM_SIZE			2
 | 
	
		
			
				|  |  | +#define OCD_DC_EIC_START		3
 | 
	
		
			
				|  |  | +#define OCD_DC_EIC_SIZE			2
 | 
	
		
			
				|  |  | +#define OCD_DC_OVC_START		5
 | 
	
		
			
				|  |  | +#define OCD_DC_OVC_SIZE			3
 | 
	
		
			
				|  |  | +#define OCD_DC_SS_BIT			8
 | 
	
		
			
				|  |  | +#define OCD_DC_DBR_BIT			12
 | 
	
		
			
				|  |  | +#define OCD_DC_DBE_BIT			13
 | 
	
		
			
				|  |  | +#define OCD_DC_EOS_START		20
 | 
	
		
			
				|  |  | +#define OCD_DC_EOS_SIZE			2
 | 
	
		
			
				|  |  | +#define OCD_DC_SQA_BIT			22
 | 
	
		
			
				|  |  | +#define OCD_DC_IRP_BIT			23
 | 
	
		
			
				|  |  | +#define OCD_DC_IFM_BIT			24
 | 
	
		
			
				|  |  | +#define OCD_DC_TOZ_BIT			25
 | 
	
		
			
				|  |  | +#define OCD_DC_TSR_BIT			26
 | 
	
		
			
				|  |  | +#define OCD_DC_RID_BIT			27
 | 
	
		
			
				|  |  | +#define OCD_DC_ORP_BIT			28
 | 
	
		
			
				|  |  | +#define OCD_DC_MM_BIT			29
 | 
	
		
			
				|  |  | +#define OCD_DC_RES_BIT			30
 | 
	
		
			
				|  |  | +#define OCD_DC_ABORT_BIT		31
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Bits in DS */
 | 
	
		
			
				|  |  | +#define OCD_DS_SSS_BIT			0
 | 
	
		
			
				|  |  | +#define OCD_DS_SWB_BIT			1
 | 
	
		
			
				|  |  | +#define OCD_DS_HWB_BIT			2
 | 
	
		
			
				|  |  | +#define OCD_DS_HWE_BIT			3
 | 
	
		
			
				|  |  | +#define OCD_DS_STP_BIT			4
 | 
	
		
			
				|  |  | +#define OCD_DS_DBS_BIT			5
 | 
	
		
			
				|  |  | +#define OCD_DS_BP_START			8
 | 
	
		
			
				|  |  | +#define OCD_DS_BP_SIZE			8
 | 
	
		
			
				|  |  | +#define OCD_DS_INC_BIT			24
 | 
	
		
			
				|  |  | +#define OCD_DS_BOZ_BIT			25
 | 
	
		
			
				|  |  | +#define OCD_DS_DBA_BIT			26
 | 
	
		
			
				|  |  | +#define OCD_DS_EXB_BIT			27
 | 
	
		
			
				|  |  | +#define OCD_DS_NTBF_BIT			28
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Bits in RWCS */
 | 
	
		
			
				|  |  | +#define OCD_RWCS_DV_BIT			0
 | 
	
		
			
				|  |  | +#define OCD_RWCS_ERR_BIT		1
 | 
	
		
			
				|  |  | +#define OCD_RWCS_CNT_START		2
 | 
	
		
			
				|  |  | +#define OCD_RWCS_CNT_SIZE		14
 | 
	
		
			
				|  |  | +#define OCD_RWCS_CRC_BIT		19
 | 
	
		
			
				|  |  | +#define OCD_RWCS_NTBC_START		20
 | 
	
		
			
				|  |  | +#define OCD_RWCS_NTBC_SIZE		2
 | 
	
		
			
				|  |  | +#define OCD_RWCS_NTE_BIT		22
 | 
	
		
			
				|  |  | +#define OCD_RWCS_NTAP_BIT		23
 | 
	
		
			
				|  |  | +#define OCD_RWCS_WRAPPED_BIT		24
 | 
	
		
			
				|  |  | +#define OCD_RWCS_CCTRL_START		25
 | 
	
		
			
				|  |  | +#define OCD_RWCS_CCTRL_SIZE		2
 | 
	
		
			
				|  |  | +#define OCD_RWCS_SZ_START		27
 | 
	
		
			
				|  |  | +#define OCD_RWCS_SZ_SIZE		3
 | 
	
		
			
				|  |  | +#define OCD_RWCS_RW_BIT			30
 | 
	
		
			
				|  |  | +#define OCD_RWCS_AC_BIT			31
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Bits in RWA */
 | 
	
		
			
				|  |  | +#define OCD_RWA_RWA_START		0
 | 
	
		
			
				|  |  | +#define OCD_RWA_RWA_SIZE		32
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Bits in RWD */
 | 
	
		
			
				|  |  | +#define OCD_RWD_RWD_START		0
 | 
	
		
			
				|  |  | +#define OCD_RWD_RWD_SIZE		32
 | 
	
		
			
				|  |  | +
 |