⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udc.h

📁 本源码支持blackfin系列DSP的jtag协议转换
💻 H
字号:
/* * $Id: udc.h,v 1.1.1.1 2005/03/18 15:03:19 klingler Exp $ * * XScale PXA26x/PXA255/PXA250/PXA210 UDC Registers * Copyright (C) 2002, 2003 ETC s.r.o. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the ETC s.r.o. nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Written by Marcel Telka <marcel@telka.sk>, 2002, 2003. * * Documentation: * [1] Intel Corporation, "Intel PXA250 and PXA210 Application Processors *     Developer's Manual", February 2002, Order Number: 278522-001 * [2] Intel Corporation, "Intel PXA26x Processor Family Developer's Manual", *     March 2003, Order Number: 278638-002 * [3] Intel Corporation, "Intel PXA255 Processor Developer's Manual" *     March 2003, Order Number: 278693-001 * */#ifndef	PXA2X0_UDC_H#define	PXA2X0_UDC_H#include <common.h>#if LANGUAGE == C#include <stdint.h>#endif#if defined(PXA2X0_NOPXA250) && !defined(PXA2X0_NOPXA255)#define PXA2X0_NOPXA255#endif#if defined(PXA2X0_NOPXA255) && !defined(PXA2X0_NOPXA260)#define PXA2X0_NOPXA260#endif/* UDC Registers */#define	UDC_BASE	0x40600000#if LANGUAGE == Ctypedef volatile struct UDC_registers {	uint32_t udccr;	uint32_t __reserved1;#if !defined(PXA2X0_NOPXA255)	uint32_t udccfr;#else /* PXA255 and above only */	uint32_t __reserved2;#endif	uint32_t __reserved3;	uint32_t udccs[16];	uint32_t uicr0;	uint32_t uicr1;	uint32_t usir0;	uint32_t usir1;	uint32_t ufnhr;				/* see 12.6.12 in [1] */	uint32_t ufnlr;				/* see 12.6.13 in [1] */	uint32_t ubcr2;	uint32_t ubcr4;	uint32_t ubcr7;	uint32_t ubcr9;	uint32_t ubcr12;	uint32_t ubcr14;	uint32_t uddr0;	uint32_t __reserved4[7];	uint32_t uddr5;	uint32_t __reserved5[7];	uint32_t uddr10;	uint32_t __reserved6[7];	uint32_t uddr15;	uint32_t __reserved7[7];	uint32_t uddr1;	uint32_t __reserved8[31];	uint32_t uddr2;	uint32_t __reserved9[31];	uint32_t uddr3;	uint32_t __reserved10[127];	uint32_t uddr4;	uint32_t __reserved11[127];	uint32_t uddr6;	uint32_t __reserved12[31];	uint32_t uddr7;	uint32_t __reserved13[31];	uint32_t uddr8;	uint32_t __reserved14[127];	uint32_t uddr9;	uint32_t __reserved15[127];	uint32_t uddr11;	uint32_t __reserved16[31];	uint32_t uddr12;	uint32_t __reserved17[31];	uint32_t uddr13;	uint32_t __reserved18[127];	uint32_t uddr14;} UDC_registers_t;#ifdef PXA2X0_UNMAPPED#define	UDC_pointer	((UDC_registers_t*) UDC_BASE)#endif#define	UDCCR			UDC_pointer->udccr#if !defined(PXA2X0_NOPXA255)#define	UDCCFR			UDC_pointer->udccfr#endif /* PXA255 and above only */#define	UDCCS(i)		UDC_pointer->udccs[i]#define	UDCCS0			UDCCS(0)#define	UDCCS1			UDCCS(1)#define	UDCCS2			UDCCS(2)#define	UDCCS3			UDCCS(3)#define	UDCCS4			UDCCS(4)#define	UDCCS5			UDCCS(5)#define	UDCCS6			UDCCS(6)#define	UDCCS7			UDCCS(7)#define	UDCCS8			UDCCS(8)#define	UDCCS9			UDCCS(9)#define	UDCCS10			UDCCS(10)#define	UDCCS11			UDCCS(11)#define	UDCCS12			UDCCS(12)#define	UDCCS13			UDCCS(13)#define	UDCCS14			UDCCS(14)#define	UDCCS15			UDCCS(15)#define	UFNHR			UDC_pointer->ufnhr#define	UFNLR			UDC_pointer->ufnlr#define	UBCR2			UDC_pointer->ubcr2#define	UBCR4			UDC_pointer->ubcr4#define	UBCR7			UDC_pointer->ubcr7#define	UBCR9			UDC_pointer->ubcr9#define	UBCR12			UDC_pointer->ubcr12#define	UBCR14			UDC_pointer->ubcr14#define	UDDR0			UDC_pointer->uddr0#define	UDDR1			UDC_pointer->uddr1#define	UDDR2			UDC_pointer->uddr2#define	UDDR3			UDC_pointer->uddr3#define	UDDR4			UDC_pointer->uddr4#define	UDDR5			UDC_pointer->uddr5#define	UDDR6			UDC_pointer->uddr6#define	UDDR7			UDC_pointer->uddr7#define	UDDR8			UDC_pointer->uddr8#define	UDDR9			UDC_pointer->uddr9#define	UDDR10			UDC_pointer->uddr10#define	UDDR11			UDC_pointer->uddr11#define	UDDR12			UDC_pointer->uddr12#define	UDDR13			UDC_pointer->uddr13#define	UDDR14			UDC_pointer->uddr14#define	UDDR15			UDC_pointer->uddr15#define	UICR0			UDC_pointer->uicr0#define	UICR1			UDC_pointer->uicr1#define	USIR0			UDC_pointer->usir0#define	USIR1			UDC_pointer->usir1#endif /* LANGUAGE == C */#define	UDCCR_OFFSET		0x000#if !defined(PXA2X0_NOPXA255)#define	UDCCFR_OFFSET		0x008#endif /* PXA255 and above only */#define	UDCCS_OFFSET(i)		(0x010 + ((i) << 2))#define	UDCCS0_OFFSET		UDCCS_OFFSET(0)#define	UDCCS1_OFFSET		UDCCS_OFFSET(1)#define	UDCCS2_OFFSET		UDCCS_OFFSET(2)#define	UDCCS3_OFFSET		UDCCS_OFFSET(3)#define	UDCCS4_OFFSET		UDCCS_OFFSET(4)#define	UDCCS5_OFFSET		UDCCS_OFFSET(5)#define	UDCCS6_OFFSET		UDCCS_OFFSET(6)#define	UDCCS7_OFFSET		UDCCS_OFFSET(7)#define	UDCCS8_OFFSET		UDCCS_OFFSET(8)#define	UDCCS9_OFFSET		UDCCS_OFFSET(9)#define	UDCCS10_OFFSET		UDCCS_OFFSET(10)#define	UDCCS11_OFFSET		UDCCS_OFFSET(11)#define	UDCCS12_OFFSET		UDCCS_OFFSET(12)#define	UDCCS13_OFFSET		UDCCS_OFFSET(13)#define	UDCCS14_OFFSET		UDCCS_OFFSET(14)#define	UDCCS15_OFFSET		UDCCS_OFFSET(15)#define	UFNHR_OFFSET		0x060#define	UFNLR_OFFSET		0x064#define	UBCR2_OFFSET		0x068#define	UBCR4_OFFSET		0x06C#define	UBCR7_OFFSET		0x070#define	UBCR9_OFFSET		0x074#define	UBCR12_OFFSET		0x078#define	UBCR14_OFFSET		0x07C#define	UDDR0_OFFSET		0x080#define	UDDR1_OFFSET		0x100#define	UDDR2_OFFSET		0x180#define	UDDR3_OFFSET		0x200#define	UDDR4_OFFSET		0x400#define	UDDR5_OFFSET		0x0A0#define	UDDR6_OFFSET		0x600#define	UDDR7_OFFSET		0x680#define	UDDR8_OFFSET		0x700#define	UDDR9_OFFSET		0x900#define	UDDR10_OFFSET		0x0C0#define	UDDR11_OFFSET		0xB00#define	UDDR12_OFFSET		0xB80#define	UDDR13_OFFSET		0xC00#define	UDDR14_OFFSET		0xE00#define	UDDR15_OFFSET		0x0E0#define	UICR0_OFFSET		0x050#define	UICR1_OFFSET		0x054#define	USIR0_OFFSET		0x058#define	USIR1_OFFSET		0x05C/* UDCCR bits - see Table 12-20 in [1], Table 12-12 in [2], Table 12-12 in [3] */#define	UDCCR_REM		bit(7)#define	UDCCR_RSTIR		bit(6)#define	UDCCR_SRM		bit(5)#define	UDCCR_SUSIR		bit(4)#define	UDCCR_RESIR		bit(3)#define	UDCCR_RSM		bit(2)#define	UDCCR_UDA		bit(1)#define	UDCCR_UDE		bit(0)#if !defined(PXA2X0_NOPXA255)/* UDCCFR bits - see Table 12-13 in [3] */#define	UDCCFR_AREN		bit(7)#define	UDCCFR_ACM		bit(2)#endif /* PXA255 and above only *//* UDCCS0 bits - see Table 12-21 in [1], Table 12-13 in [2], Table 12-14 in [3] */#define	UDCCS0_SA		bit(7)#define	UDCCS0_RNE		bit(6)#define	UDCCS0_FST		bit(5)#define	UDCCS0_SST		bit(4)#define	UDCCS0_DRWF		bit(3)#define	UDCCS0_FTF		bit(2)#define	UDCCS0_IPR		bit(1)#define	UDCCS0_OPR		bit(0)/* UDCCS1 bits - see Table 12-22 in [1], Table 12-14 in [2], Table 12-15 in [3] */#define	UDCCS1_TSP		bit(7)#define	UDCCS1_FST		bit(5)#define	UDCCS1_SST		bit(4)#define	UDCCS1_TUR		bit(3)#define	UDCCS1_FTF		bit(2)#define	UDCCS1_TPC		bit(1)#define	UDCCS1_TFS		bit(0)/* UDCCS2 bits - see Table 12-23 in [1], Table 12-15 in [2], Table 12-16 in [3] */#define	UDCCS2_RSP		bit(7)#define	UDCCS2_RNE		bit(6)#define	UDCCS2_FST		bit(5)#define	UDCCS2_SST		bit(4)#define	UDCCS2_DME		bit(3)#define	UDCCS2_RPC		bit(1)#define	UDCCS2_RFS		bit(0)/* UDCCS3 bits - see Table 12-24 in [1], Table 12-16 in [2], Table 12-17 in [3] */#define	UDCCS3_TSP		bit(7)#define	UDCCS3_TUR		bit(3)#define	UDCCS3_FTF		bit(2)#define	UDCCS3_TPC		bit(1)#define	UDCCS3_TFS		bit(0)/* UDCCS4 bits - see Table 12-25 in [1], Table 12-17 in [2], Table 12-18 in [3] */#define	UDCCS4_RSP		bit(7)#define	UDCCS4_RNE		bit(6)#define	UDCCS4_DME		bit(3)#define	UDCCS4_ROF		bit(2)#define	UDCCS4_RPC		bit(1)#define	UDCCS4_RFS		bit(0)/* UDCCS5 bits - see Table 12-26 in [1], Table 12-18 in [2], Table 12-19 in [3] */#define	UDCCS5_TSP		bit(7)#define	UDCCS5_FST		bit(5)#define	UDCCS5_SST		bit(4)#define	UDCCS5_TUR		bit(3)#define	UDCCS5_FTF		bit(2)#define	UDCCS5_TPC		bit(1)#define	UDCCS5_TFS		bit(0)/* UDCCS6 bits - see Table 12-22 in [1], Table 12-14 in [2], Table 12-15 in [3] */#define	UDCCS6_TSP		bit(7)#define	UDCCS6_FST		bit(5)#define	UDCCS6_SST		bit(4)#define	UDCCS6_TUR		bit(3)#define	UDCCS6_FTF		bit(2)#define	UDCCS6_TPC		bit(1)#define	UDCCS6_TFS		bit(0)/* UDCCS7 bits - see Table 12-23 in [1], Table 12-15 in [2], Table 12-16 in [3] */#define	UDCCS7_RSP		bit(7)#define	UDCCS7_RNE		bit(6)#define	UDCCS7_FST		bit(5)#define	UDCCS7_SST		bit(4)#define	UDCCS7_DME		bit(3)#define	UDCCS7_RPC		bit(1)#define	UDCCS7_RFS		bit(0)/* UDCCS8 bits - see Table 12-24 in [1], Table 12-16 in [2], Table 12-17 in [3] */#define	UDCCS8_TSP		bit(7)#define	UDCCS8_TUR		bit(3)#define	UDCCS8_FTF		bit(2)#define	UDCCS8_TPC		bit(1)#define	UDCCS8_TFS		bit(0)/* UDCCS9 bits - see Table 12-25 in [1], Table 12-17 in [2], Table 12-18 in [3] */#define	UDCCS9_RSP		bit(7)#define	UDCCS9_RNE		bit(6)#define	UDCCS9_DME		bit(3)#define	UDCCS9_ROF		bit(2)#define	UDCCS9_RPC		bit(1)#define	UDCCS9_RFS		bit(0)/* UDCCS10 bits - see Table 12-26 in [1], Table 12-18 in [2], Table 12-19 in [3] */#define	UDCCS10_TSP		bit(7)#define	UDCCS10_FST		bit(5)#define	UDCCS10_SST		bit(4)#define	UDCCS10_TUR		bit(3)#define	UDCCS10_FTF		bit(2)#define	UDCCS10_TPC		bit(1)#define	UDCCS10_TFS		bit(0)/* UDCCS11 bits - see Table 12-22 in [1], Table 12-14 in [2], Table 12-15 in [3] */#define	UDCCS11_TSP		bit(7)#define	UDCCS11_FST		bit(5)#define	UDCCS11_SST		bit(4)#define	UDCCS11_TUR		bit(3)#define	UDCCS11_FTF		bit(2)#define	UDCCS11_TPC		bit(1)#define	UDCCS11_TFS		bit(0)/* UDCCS12 bits - see Table 12-23 in [1], Table 12-15 in [2], Table 12-16 in [3] */#define	UDCCS12_RSP		bit(7)#define	UDCCS12_RNE		bit(6)#define	UDCCS12_FST		bit(5)#define	UDCCS12_SST		bit(4)#define	UDCCS12_DME		bit(3)#define	UDCCS12_RPC		bit(1)#define	UDCCS12_RFS		bit(0)/* UDCCS13 bits - see Table 12-24 in [1], Table 12-16 in [2], Table 12-17 in [3] */#define	UDCCS13_TSP		bit(7)#define	UDCCS13_TUR		bit(3)#define	UDCCS13_FTF		bit(2)#define	UDCCS13_TPC		bit(1)#define	UDCCS13_TFS		bit(0)/* UDCCS14 bits - see Table 12-25 in [1], Table 12-17 in [2], Table 12-18 in [3] */#define	UDCCS14_RSP		bit(7)#define	UDCCS14_RNE		bit(6)#define	UDCCS14_DME		bit(3)#define	UDCCS14_ROF		bit(2)#define	UDCCS14_RPC		bit(1)#define	UDCCS14_RFS		bit(0)/* UDCCS15 bits - see Table 12-26 in [1], Table 12-18 in [2], Table 12-19 in [3] */#define	UDCCS15_TSP		bit(7)#define	UDCCS15_FST		bit(5)#define	UDCCS15_SST		bit(4)#define	UDCCS15_TUR		bit(3)#define	UDCCS15_FTF		bit(2)#define	UDCCS15_TPC		bit(1)#define	UDCCS15_TFS		bit(0)/* UICR0 bits - see Table 12-27 in [1], Table 12-19 in [2], Table 12-20 in [3] */#define	UICR0_IM7		bit(7)#define	UICR0_IM6		bit(6)#define	UICR0_IM5		bit(5)#define	UICR0_IM4		bit(4)#define	UICR0_IM3		bit(3)#define	UICR0_IM2		bit(2)#define	UICR0_IM1		bit(1)#define	UICR0_IM0		bit(0)/* UICR1 bits - see Table 12-28 in [1], Table 12-20 in [2], Table 12-21 in [3] */#define	UICR1_IM15		bit(7)#define	UICR1_IM14		bit(6)#define	UICR1_IM13		bit(5)#define	UICR1_IM12		bit(4)#define	UICR1_IM11		bit(3)#define	UICR1_IM10		bit(2)#define	UICR1_IM9		bit(1)#define	UICR1_IM8		bit(0)/* USIR0 bits - see Table 12-29 in [1], Table 12-21 in [2], Table 12-22 in [3] */#define	USIR0_IR7		bit(7)#define	USIR0_IR6		bit(6)#define	USIR0_IR5		bit(5)#define	USIR0_IR4		bit(4)#define	USIR0_IR3		bit(3)#define	USIR0_IR2		bit(2)#define	USIR0_IR1		bit(1)#define	USIR0_IR0		bit(0)/* USIR1 bits - see Table 12-30 in [1], Table 12-22 in [2], Table 12-23 in [3] */#define	USIR1_IR15		bit(7)#define	USIR1_IR14		bit(6)#define	USIR1_IR13		bit(5)#define	USIR1_IR12		bit(4)#define	USIR1_IR11		bit(3)#define	USIR1_IR10		bit(2)#define	USIR1_IR9		bit(1)#define	USIR1_IR8		bit(0)/* UFNHR bits - see Table 12-31 in [1], Table 12-23 in [2], Table 12-24 in [3] */#define	UFNHR_SIR		bit(7)#define	UFNHR_SIM		bit(6)#define	UFNHR_IPE14		bit(5)#define	UFNHR_IPE9		bit(4)#define	UFNHR_IPE4		bit(3)#define	UFNHR_FNMSB_MASK	bits(2,0)#define	UFNHR_FNMSB(x)		bits_val(2,0,x)#define	get_UFNHR_FNMSB(x)	bits_get(2,0,x)/* UFNLR bits - see Table 12-32 in [1], Table 12-24 in [2], Table 12-25 in [3] */#define	UNFLR_FNLSB_MASK	bits(7,0)#define	UFNLR_FNLSB(x)		bits_val(7,0,x)#define	get_UFNLR_FNLSB(x)	bits_get(7,0,x)/* UBCRx bits - see Table 12-33 in [1], Table 12-25 in [2], Table 12-26 in [3] */#define	UBCR_BC_MASK		bits(7,0)#define	UBCR_BC(x)		bits_val(7,0,x)#define	get_UBCR_BC(x)		bits_get(7,0,x)/* UDDRx bits - see 12.6.15 - 12.6.20 in [1], 12.6.15 - 12.6.20 in [2], 12.6.16 - 12.6.21 in [3] */#define	UDDR_DATA_MASK		bits(7,0)#define	UDDR_DATA(x)		bits_val(7,0,x)#define	get_UDDR_DATA(x)	bits_get(7,0,x)#endif /* PXA2X0_UDC_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -