📄 pxa-regs.h
字号:
/* * linux/include/asm-arm/arch-pxa/pxa-regs.h * * Author: Nicolas Pitre * Created: Jun 15, 2001 * Copyright: MontaVista Software Inc. * * 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 _PXA_REGS_H_#define _PXA_REGS_H_# define __REG(x) (*((volatile u32 *)(x)))// FIXME hack so that SA-1111.h will work [cb]#ifndef __ASSEMBLY__typedef unsigned short Word16 ;typedef unsigned int Word32 ;typedef Word32 Word ;typedef Word Quad [4] ;typedef void *Address ;typedef void (*ExcpHndlr) (void) ;#endif/* * PXA Chip selects */#define PXA_CS0_PHYS 0x00000000#define PXA_CS1_PHYS 0x04000000#define PXA_CS2_PHYS 0x08000000#define PXA_CS3_PHYS 0x0C000000#define PXA_CS4_PHYS 0x10000000#define PXA_CS5_PHYS 0x14000000/* * Personal Computer Memory Card International Association (PCMCIA) sockets */#define PCMCIAPrtSp 0x04000000 /* PCMCIA Partition Space [byte] */#define PCMCIASp (4*PCMCIAPrtSp) /* PCMCIA Space [byte] */#define PCMCIAIOSp PCMCIAPrtSp /* PCMCIA I/O Space [byte] */#define PCMCIAAttrSp PCMCIAPrtSp /* PCMCIA Attribute Space [byte] */#define PCMCIAMemSp PCMCIAPrtSp /* PCMCIA Memory Space [byte] */#define PCMCIA0Sp PCMCIASp /* PCMCIA 0 Space [byte] */#define PCMCIA0IOSp PCMCIAIOSp /* PCMCIA 0 I/O Space [byte] */#define PCMCIA0AttrSp PCMCIAAttrSp /* PCMCIA 0 Attribute Space [byte] */#define PCMCIA0MemSp PCMCIAMemSp /* PCMCIA 0 Memory Space [byte] */#define PCMCIA1Sp PCMCIASp /* PCMCIA 1 Space [byte] */#define PCMCIA1IOSp PCMCIAIOSp /* PCMCIA 1 I/O Space [byte] */#define PCMCIA1AttrSp PCMCIAAttrSp /* PCMCIA 1 Attribute Space [byte] */#define PCMCIA1MemSp PCMCIAMemSp /* PCMCIA 1 Memory Space [byte] */#define _PCMCIA(Nb) /* PCMCIA [0..1] */ \ (0x20000000 + (Nb)*PCMCIASp)#define _PCMCIAIO(Nb) _PCMCIA (Nb) /* PCMCIA I/O [0..1] */#define _PCMCIAAttr(Nb) /* PCMCIA Attribute [0..1] */ \ (_PCMCIA (Nb) + 2*PCMCIAPrtSp)#define _PCMCIAMem(Nb) /* PCMCIA Memory [0..1] */ \ (_PCMCIA (Nb) + 3*PCMCIAPrtSp)#define _PCMCIA0 _PCMCIA (0) /* PCMCIA 0 */#define _PCMCIA0IO _PCMCIAIO (0) /* PCMCIA 0 I/O */#define _PCMCIA0Attr _PCMCIAAttr (0) /* PCMCIA 0 Attribute */#define _PCMCIA0Mem _PCMCIAMem (0) /* PCMCIA 0 Memory */#define _PCMCIA1 _PCMCIA (1) /* PCMCIA 1 */#define _PCMCIA1IO _PCMCIAIO (1) /* PCMCIA 1 I/O */#define _PCMCIA1Attr _PCMCIAAttr (1) /* PCMCIA 1 Attribute */#define _PCMCIA1Mem _PCMCIAMem (1) /* PCMCIA 1 Memory *//* * DMA Controller */#define DCSR0 __REG(0x40000000) /* DMA Control / Status Register for Channel 0 */#define DCSR1 __REG(0x40000004) /* DMA Control / Status Register for Channel 1 */#define DCSR2 __REG(0x40000008) /* DMA Control / Status Register for Channel 2 */#define DCSR3 __REG(0x4000000c) /* DMA Control / Status Register for Channel 3 */#define DCSR4 __REG(0x40000010) /* DMA Control / Status Register for Channel 4 */#define DCSR5 __REG(0x40000014) /* DMA Control / Status Register for Channel 5 */#define DCSR6 __REG(0x40000018) /* DMA Control / Status Register for Channel 6 */#define DCSR7 __REG(0x4000001c) /* DMA Control / Status Register for Channel 7 */#define DCSR8 __REG(0x40000020) /* DMA Control / Status Register for Channel 8 */#define DCSR9 __REG(0x40000024) /* DMA Control / Status Register for Channel 9 */#define DCSR10 __REG(0x40000028) /* DMA Control / Status Register for Channel 10 */#define DCSR11 __REG(0x4000002c) /* DMA Control / Status Register for Channel 11 */#define DCSR12 __REG(0x40000030) /* DMA Control / Status Register for Channel 12 */#define DCSR13 __REG(0x40000034) /* DMA Control / Status Register for Channel 13 */#define DCSR14 __REG(0x40000038) /* DMA Control / Status Register for Channel 14 */#define DCSR15 __REG(0x4000003c) /* DMA Control / Status Register for Channel 15 */#define DCSR(x) __REG2(0x40000000, (x) << 2)#define DCSR_RUN (1 << 31) /* Run Bit (read / write) */#define DCSR_NODESC (1 << 30) /* No-Descriptor Fetch (read / write) */#define DCSR_STOPIRQEN (1 << 29) /* Stop Interrupt Enable (read / write) */#define DCSR_REQPEND (1 << 8) /* Request Pending (read-only) */#define DCSR_STOPSTATE (1 << 3) /* Stop State (read-only) */#define DCSR_ENDINTR (1 << 2) /* End Interrupt (read / write) */#define DCSR_STARTINTR (1 << 1) /* Start Interrupt (read / write) */#define DCSR_BUSERR (1 << 0) /* Bus Error Interrupt (read / write) */#define DINT __REG(0x400000f0) /* DMA Interrupt Register */#define DRCMR0 __REG(0x40000100) /* Request to Channel Map Register for DREQ 0 */#define DRCMR1 __REG(0x40000104) /* Request to Channel Map Register for DREQ 1 */#define DRCMR2 __REG(0x40000108) /* Request to Channel Map Register for I2S receive Request */#define DRCMR3 __REG(0x4000010c) /* Request to Channel Map Register for I2S transmit Request */#define DRCMR4 __REG(0x40000110) /* Request to Channel Map Register for BTUART receive Request */#define DRCMR5 __REG(0x40000114) /* Request to Channel Map Register for BTUART transmit Request. */#define DRCMR6 __REG(0x40000118) /* Request to Channel Map Register for FFUART receive Request */#define DRCMR7 __REG(0x4000011c) /* Request to Channel Map Register for FFUART transmit Request */#define DRCMR8 __REG(0x40000120) /* Request to Channel Map Register for AC97 microphone Request */#define DRCMR9 __REG(0x40000124) /* Request to Channel Map Register for AC97 modem receive Request */#define DRCMR10 __REG(0x40000128) /* Request to Channel Map Register for AC97 modem transmit Request */#define DRCMR11 __REG(0x4000012c) /* Request to Channel Map Register for AC97 audio receive Request */#define DRCMR12 __REG(0x40000130) /* Request to Channel Map Register for AC97 audio transmit Request */#define DRCMR13 __REG(0x40000134) /* Request to Channel Map Register for SSP receive Request */#define DRCMR14 __REG(0x40000138) /* Request to Channel Map Register for SSP transmit Request */#define DRCMR15 __REG(0x4000013c) /* Reserved */#define DRCMR16 __REG(0x40000140) /* Reserved */#define DRCMR17 __REG(0x40000144) /* Request to Channel Map Register for ICP receive Request */#define DRCMR18 __REG(0x40000148) /* Request to Channel Map Register for ICP transmit Request */#define DRCMR19 __REG(0x4000014c) /* Request to Channel Map Register for STUART receive Request */#define DRCMR20 __REG(0x40000150) /* Request to Channel Map Register for STUART transmit Request */#define DRCMR21 __REG(0x40000154) /* Request to Channel Map Register for MMC receive Request */#define DRCMR22 __REG(0x40000158) /* Request to Channel Map Register for MMC transmit Request */#define DRCMR23 __REG(0x4000015c) /* Reserved */#define DRCMR24 __REG(0x40000160) /* Reserved */#define DRCMR25 __REG(0x40000164) /* Request to Channel Map Register for USB endpoint 1 Request */#define DRCMR26 __REG(0x40000168) /* Request to Channel Map Register for USB endpoint 2 Request */#define DRCMR27 __REG(0x4000016C) /* Request to Channel Map Register for USB endpoint 3 Request */#define DRCMR28 __REG(0x40000170) /* Request to Channel Map Register for USB endpoint 4 Request */#define DRCMR29 __REG(0x40000174) /* Reserved */#define DRCMR30 __REG(0x40000178) /* Request to Channel Map Register for USB endpoint 6 Request */#define DRCMR31 __REG(0x4000017C) /* Request to Channel Map Register for USB endpoint 7 Request */#define DRCMR32 __REG(0x40000180) /* Request to Channel Map Register for USB endpoint 8 Request */#define DRCMR33 __REG(0x40000184) /* Request to Channel Map Register for USB endpoint 9 Request */#define DRCMR34 __REG(0x40000188) /* Reserved */#define DRCMR35 __REG(0x4000018C) /* Request to Channel Map Register for USB endpoint 11 Request */#define DRCMR36 __REG(0x40000190) /* Request to Channel Map Register for USB endpoint 12 Request */#define DRCMR37 __REG(0x40000194) /* Request to Channel Map Register for USB endpoint 13 Request */#define DRCMR38 __REG(0x40000198) /* Request to Channel Map Register for USB endpoint 14 Request */#define DRCMR39 __REG(0x4000019C) /* Reserved */#define DRCMRRXSADR DRCMR2#define DRCMRTXSADR DRCMR3#define DRCMRRXBTRBR DRCMR4#define DRCMRTXBTTHR DRCMR5#define DRCMRRXFFRBR DRCMR6#define DRCMRTXFFTHR DRCMR7#define DRCMRRXMCDR DRCMR8#define DRCMRRXMODR DRCMR9#define DRCMRTXMODR DRCMR10#define DRCMRRXPCDR DRCMR11#define DRCMRTXPCDR DRCMR12#define DRCMRRXSSDR DRCMR13#define DRCMRTXSSDR DRCMR14#define DRCMRRXICDR DRCMR17#define DRCMRTXICDR DRCMR18#define DRCMRRXSTRBR DRCMR19#define DRCMRTXSTTHR DRCMR20#define DRCMRRXMMC DRCMR21#define DRCMRTXMMC DRCMR22#define DRCMR_MAPVLD (1 << 7) /* Map Valid (read / write) */#define DRCMR_CHLNUM 0x0f /* mask for Channel Number (read / write) */#define DDADR0 __REG(0x40000200) /* DMA Descriptor Address Register Channel 0 */#define DSADR0 __REG(0x40000204) /* DMA Source Address Register Channel 0 */#define DTADR0 __REG(0x40000208) /* DMA Target Address Register Channel 0 */#define DCMD0 __REG(0x4000020c) /* DMA Command Address Register Channel 0 */#define DDADR1 __REG(0x40000210) /* DMA Descriptor Address Register Channel 1 */#define DSADR1 __REG(0x40000214) /* DMA Source Address Register Channel 1 */#define DTADR1 __REG(0x40000218) /* DMA Target Address Register Channel 1 */#define DCMD1 __REG(0x4000021c) /* DMA Command Address Register Channel 1 */#define DDADR2 __REG(0x40000220) /* DMA Descriptor Address Register Channel 2 */#define DSADR2 __REG(0x40000224) /* DMA Source Address Register Channel 2 */#define DTADR2 __REG(0x40000228) /* DMA Target Address Register Channel 2 */#define DCMD2 __REG(0x4000022c) /* DMA Command Address Register Channel 2 */#define DDADR3 __REG(0x40000230) /* DMA Descriptor Address Register Channel 3 */#define DSADR3 __REG(0x40000234) /* DMA Source Address Register Channel 3 */#define DTADR3 __REG(0x40000238) /* DMA Target Address Register Channel 3 */#define DCMD3 __REG(0x4000023c) /* DMA Command Address Register Channel 3 */#define DDADR4 __REG(0x40000240) /* DMA Descriptor Address Register Channel 4 */#define DSADR4 __REG(0x40000244) /* DMA Source Address Register Channel 4 */#define DTADR4 __REG(0x40000248) /* DMA Target Address Register Channel 4 */#define DCMD4 __REG(0x4000024c) /* DMA Command Address Register Channel 4 */#define DDADR5 __REG(0x40000250) /* DMA Descriptor Address Register Channel 5 */#define DSADR5 __REG(0x40000254) /* DMA Source Address Register Channel 5 */#define DTADR5 __REG(0x40000258) /* DMA Target Address Register Channel 5 */#define DCMD5 __REG(0x4000025c) /* DMA Command Address Register Channel 5 */#define DDADR6 __REG(0x40000260) /* DMA Descriptor Address Register Channel 6 */#define DSADR6 __REG(0x40000264) /* DMA Source Address Register Channel 6 */#define DTADR6 __REG(0x40000268) /* DMA Target Address Register Channel 6 */#define DCMD6 __REG(0x4000026c) /* DMA Command Address Register Channel 6 */#define DDADR7 __REG(0x40000270) /* DMA Descriptor Address Register Channel 7 */#define DSADR7 __REG(0x40000274) /* DMA Source Address Register Channel 7 */#define DTADR7 __REG(0x40000278) /* DMA Target Address Register Channel 7 */#define DCMD7 __REG(0x4000027c) /* DMA Command Address Register Channel 7 */#define DDADR8 __REG(0x40000280) /* DMA Descriptor Address Register Channel 8 */#define DSADR8 __REG(0x40000284) /* DMA Source Address Register Channel 8 */#define DTADR8 __REG(0x40000288) /* DMA Target Address Register Channel 8 */#define DCMD8 __REG(0x4000028c) /* DMA Command Address Register Channel 8 */#define DDADR9 __REG(0x40000290) /* DMA Descriptor Address Register Channel 9 */#define DSADR9 __REG(0x40000294) /* DMA Source Address Register Channel 9 */#define DTADR9 __REG(0x40000298) /* DMA Target Address Register Channel 9 */#define DCMD9 __REG(0x4000029c) /* DMA Command Address Register Channel 9 */#define DDADR10 __REG(0x400002a0) /* DMA Descriptor Address Register Channel 10 */#define DSADR10 __REG(0x400002a4) /* DMA Source Address Register Channel 10 */#define DTADR10 __REG(0x400002a8) /* DMA Target Address Register Channel 10 */#define DCMD10 __REG(0x400002ac) /* DMA Command Address Register Channel 10 */#define DDADR11 __REG(0x400002b0) /* DMA Descriptor Address Register Channel 11 */#define DSADR11 __REG(0x400002b4) /* DMA Source Address Register Channel 11 */#define DTADR11 __REG(0x400002b8) /* DMA Target Address Register Channel 11 */#define DCMD11 __REG(0x400002bc) /* DMA Command Address Register Channel 11 */#define DDADR12 __REG(0x400002c0) /* DMA Descriptor Address Register Channel 12 */#define DSADR12 __REG(0x400002c4) /* DMA Source Address Register Channel 12 */#define DTADR12 __REG(0x400002c8) /* DMA Target Address Register Channel 12 */#define DCMD12 __REG(0x400002cc) /* DMA Command Address Register Channel 12 */#define DDADR13 __REG(0x400002d0) /* DMA Descriptor Address Register Channel 13 */#define DSADR13 __REG(0x400002d4) /* DMA Source Address Register Channel 13 */#define DTADR13 __REG(0x400002d8) /* DMA Target Address Register Channel 13 */#define DCMD13 __REG(0x400002dc) /* DMA Command Address Register Channel 13 */#define DDADR14 __REG(0x400002e0) /* DMA Descriptor Address Register Channel 14 */#define DSADR14 __REG(0x400002e4) /* DMA Source Address Register Channel 14 */#define DTADR14 __REG(0x400002e8) /* DMA Target Address Register Channel 14 */#define DCMD14 __REG(0x400002ec) /* DMA Command Address Register Channel 14 */#define DDADR15 __REG(0x400002f0) /* DMA Descriptor Address Register Channel 15 */#define DSADR15 __REG(0x400002f4) /* DMA Source Address Register Channel 15 */#define DTADR15 __REG(0x400002f8) /* DMA Target Address Register Channel 15 */#define DCMD15 __REG(0x400002fc) /* DMA Command Address Register Channel 15 */#define DDADR(x) __REG2(0x40000200, (x) << 4)#define DSADR(x) __REG2(0x40000204, (x) << 4)#define DTADR(x) __REG2(0x40000208, (x) << 4)#define DCMD(x) __REG2(0x4000020c, (x) << 4)#define DDADR_DESCADDR 0xfffffff0 /* Address of next descriptor (mask) */#define DDADR_STOP (1 << 0) /* Stop (read / write) */#define DCMD_INCSRCADDR (1 << 31) /* Source Address Increment Setting. */#define DCMD_INCTRGADDR (1 << 30) /* Target Address Increment Setting. */#define DCMD_FLOWSRC (1 << 29) /* Flow Control by the source. */#define DCMD_FLOWTRG (1 << 28) /* Flow Control by the target. */#define DCMD_STARTIRQEN (1 << 22) /* Start Interrupt Enable */#define DCMD_ENDIRQEN (1 << 21) /* End Interrupt Enable */#define DCMD_ENDIAN (1 << 18) /* Device Endian-ness. */#define DCMD_BURST8 (1 << 16) /* 8 byte burst */#define DCMD_BURST16 (2 << 16) /* 16 byte burst */#define DCMD_BURST32 (3 << 16) /* 32 byte burst */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -