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

📄 au1000.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 5 页
字号:
  #define SYS_PF_U3			(1<<14)	/* GPIO23/U3TXD */  #define SYS_PF_U2			(1<<13) /* GPIO22/U2TXD */  #define SYS_PF_U1			(1<<12) /* GPIO21/U1TXD */  #define SYS_PF_SRC			(1<<11)	/* GPIO6/SROMCKE */  #define SYS_PF_CK5			(1<<10)	/* GPIO3/CLK5 */  #define SYS_PF_CK4			(1<<9)	/* GPIO2/CLK4 */  #define SYS_PF_IRF			(1<<8)	/* GPIO15/IRFIRSEL */  #define SYS_PF_UR3			(1<<7)	/* GPIO[14:9]/UART3 */  #define SYS_PF_I2D			(1<<6)	/* GPIO8/I2SDI */  #define SYS_PF_I2S			(1<<5)	/* I2S/GPIO[29:31] */  #define SYS_PF_NI2			(1<<4)	/* NI2/GPIO[24:28] */  #define SYS_PF_U0			(1<<3)	/* U0TXD/GPIO20 */  #define SYS_PF_RD			(1<<2)	/* IRTXD/GPIO19 */  #define SYS_PF_A97			(1<<1)	/* AC97/SSL1 */  #define SYS_PF_S0			(1<<0)	/* SSI_0/GPIO[16:18] *//* Au1100 Only */  #define SYS_PF_PC			(1<<18)	/* PCMCIA/GPIO[207:204] */  #define SYS_PF_LCD			(1<<17)	/* extern lcd/GPIO[203:200] */  #define SYS_PF_CS			(1<<16)	/* EXTCLK0/32khz to gpio2 */  #define SYS_PF_EX0			(1<<9)	/* gpio2/clock *//* Au1550 Only.  Redefines lots of pins */  #define SYS_PF_PSC2_MASK		(7 << 17)  #define SYS_PF_PSC2_AC97		(0)  #define SYS_PF_PSC2_SPI		(0)  #define SYS_PF_PSC2_I2S		(1 << 17)  #define SYS_PF_PSC2_SMBUS		(3 << 17)  #define SYS_PF_PSC2_GPIO		(7 << 17)  #define SYS_PF_PSC3_MASK		(7 << 20)  #define SYS_PF_PSC3_AC97		(0)  #define SYS_PF_PSC3_SPI		(0)  #define SYS_PF_PSC3_I2S		(1 << 20)  #define SYS_PF_PSC3_SMBUS		(3 << 20)  #define SYS_PF_PSC3_GPIO		(7 << 20)  #define SYS_PF_PSC1_S1		(1 << 1)  #define SYS_PF_MUST_BE_SET		((1 << 5) | (1 << 2))/* Au1200 Only */#ifdef CONFIG_SOC_AU1200#define SYS_PINFUNC_DMA		(1<<31)#define SYS_PINFUNC_S0A		(1<<30)#define SYS_PINFUNC_S1A		(1<<29)#define SYS_PINFUNC_LP0		(1<<28)#define SYS_PINFUNC_LP1		(1<<27)#define SYS_PINFUNC_LD16	(1<<26)#define SYS_PINFUNC_LD8		(1<<25)#define SYS_PINFUNC_LD1		(1<<24)#define SYS_PINFUNC_LD0		(1<<23)#define SYS_PINFUNC_P1A		(3<<21)#define SYS_PINFUNC_P1B		(1<<20)#define SYS_PINFUNC_FS3		(1<<19)#define SYS_PINFUNC_P0A		(3<<17)#define SYS_PINFUNC_CS		(1<<16)#define SYS_PINFUNC_CIM		(1<<15)#define SYS_PINFUNC_P1C		(1<<14)#define SYS_PINFUNC_U1T		(1<<12)#define SYS_PINFUNC_U1R		(1<<11)#define SYS_PINFUNC_EX1		(1<<10)#define SYS_PINFUNC_EX0		(1<<9)#define SYS_PINFUNC_U0R		(1<<8)#define SYS_PINFUNC_MC		(1<<7)#define SYS_PINFUNC_S0B		(1<<6)#define SYS_PINFUNC_S0C		(1<<5)#define SYS_PINFUNC_P0B		(1<<4)#define SYS_PINFUNC_U0T		(1<<3)#define SYS_PINFUNC_S1B		(1<<2)#endif#define SYS_TRIOUTRD              0xB1900100#define SYS_TRIOUTCLR             0xB1900100#define SYS_OUTPUTRD              0xB1900108#define SYS_OUTPUTSET             0xB1900108#define SYS_OUTPUTCLR             0xB190010C#define SYS_PINSTATERD            0xB1900110#define SYS_PININPUTEN            0xB1900110/* GPIO2, Au1500, Au1550 only */#define GPIO2_BASE                0xB1700000#define GPIO2_DIR                 (GPIO2_BASE + 0)#define GPIO2_OUTPUT              (GPIO2_BASE + 8)#define GPIO2_PINSTATE            (GPIO2_BASE + 0xC)#define GPIO2_INTENABLE           (GPIO2_BASE + 0x10)#define GPIO2_ENABLE              (GPIO2_BASE + 0x14)/* Power Management */#define SYS_SCRATCH0              0xB1900018#define SYS_SCRATCH1              0xB190001C#define SYS_WAKEMSK               0xB1900034#define SYS_ENDIAN                0xB1900038#define SYS_POWERCTRL             0xB190003C#define SYS_WAKESRC               0xB190005C#define SYS_SLPPWR                0xB1900078#define SYS_SLEEP                 0xB190007C/* Clock Controller */#define SYS_FREQCTRL0             0xB1900020  #define SYS_FC_FRDIV2_BIT         22  #define SYS_FC_FRDIV2_MASK        (0xff << SYS_FC_FRDIV2_BIT)  #define SYS_FC_FE2                (1<<21)  #define SYS_FC_FS2                (1<<20)  #define SYS_FC_FRDIV1_BIT         12  #define SYS_FC_FRDIV1_MASK        (0xff << SYS_FC_FRDIV1_BIT)  #define SYS_FC_FE1                (1<<11)  #define SYS_FC_FS1                (1<<10)  #define SYS_FC_FRDIV0_BIT         2  #define SYS_FC_FRDIV0_MASK        (0xff << SYS_FC_FRDIV0_BIT)  #define SYS_FC_FE0                (1<<1)  #define SYS_FC_FS0                (1<<0)#define SYS_FREQCTRL1             0xB1900024  #define SYS_FC_FRDIV5_BIT         22  #define SYS_FC_FRDIV5_MASK        (0xff << SYS_FC_FRDIV5_BIT)  #define SYS_FC_FE5                (1<<21)  #define SYS_FC_FS5                (1<<20)  #define SYS_FC_FRDIV4_BIT         12  #define SYS_FC_FRDIV4_MASK        (0xff << SYS_FC_FRDIV4_BIT)  #define SYS_FC_FE4                (1<<11)  #define SYS_FC_FS4                (1<<10)  #define SYS_FC_FRDIV3_BIT         2  #define SYS_FC_FRDIV3_MASK        (0xff << SYS_FC_FRDIV3_BIT)  #define SYS_FC_FE3                (1<<1)  #define SYS_FC_FS3                (1<<0)#define SYS_CLKSRC                0xB1900028  #define SYS_CS_ME1_BIT            27  #define SYS_CS_ME1_MASK           (0x7<<SYS_CS_ME1_BIT)  #define SYS_CS_DE1                (1<<26)  #define SYS_CS_CE1                (1<<25)  #define SYS_CS_ME0_BIT            22  #define SYS_CS_ME0_MASK           (0x7<<SYS_CS_ME0_BIT)  #define SYS_CS_DE0                (1<<21)  #define SYS_CS_CE0                (1<<20)  #define SYS_CS_MI2_BIT            17  #define SYS_CS_MI2_MASK           (0x7<<SYS_CS_MI2_BIT)  #define SYS_CS_DI2                (1<<16)  #define SYS_CS_CI2                (1<<15)#ifdef CONFIG_SOC_AU1100  #define SYS_CS_ML_BIT             7  #define SYS_CS_ML_MASK            (0x7<<SYS_CS_ML_BIT)  #define SYS_CS_DL                 (1<<6)  #define SYS_CS_CL                 (1<<5)#else  #define SYS_CS_MUH_BIT            12  #define SYS_CS_MUH_MASK           (0x7<<SYS_CS_MUH_BIT)  #define SYS_CS_DUH                (1<<11)  #define SYS_CS_CUH                (1<<10)  #define SYS_CS_MUD_BIT            7  #define SYS_CS_MUD_MASK           (0x7<<SYS_CS_MUD_BIT)  #define SYS_CS_DUD                (1<<6)  #define SYS_CS_CUD                (1<<5)#endif  #define SYS_CS_MIR_BIT            2  #define SYS_CS_MIR_MASK           (0x7<<SYS_CS_MIR_BIT)  #define SYS_CS_DIR                (1<<1)  #define SYS_CS_CIR                (1<<0)  #define SYS_CS_MUX_AUX            0x1  #define SYS_CS_MUX_FQ0            0x2  #define SYS_CS_MUX_FQ1            0x3  #define SYS_CS_MUX_FQ2            0x4  #define SYS_CS_MUX_FQ3            0x5  #define SYS_CS_MUX_FQ4            0x6  #define SYS_CS_MUX_FQ5            0x7#define SYS_CPUPLL                0xB1900060#define SYS_AUXPLL                0xB1900064/* AC97 Controller */#define AC97C_CONFIG              0xB0000000  #define AC97C_RECV_SLOTS_BIT  13  #define AC97C_RECV_SLOTS_MASK (0x3ff << AC97C_RECV_SLOTS_BIT)  #define AC97C_XMIT_SLOTS_BIT  3  #define AC97C_XMIT_SLOTS_MASK (0x3ff << AC97C_XMIT_SLOTS_BIT)  #define AC97C_SG              (1<<2)  #define AC97C_SYNC            (1<<1)  #define AC97C_RESET           (1<<0)#define AC97C_STATUS              0xB0000004  #define AC97C_XU              (1<<11)  #define AC97C_XO              (1<<10)  #define AC97C_RU              (1<<9)  #define AC97C_RO              (1<<8)  #define AC97C_READY           (1<<7)  #define AC97C_CP              (1<<6)  #define AC97C_TR              (1<<5)  #define AC97C_TE              (1<<4)  #define AC97C_TF              (1<<3)  #define AC97C_RR              (1<<2)  #define AC97C_RE              (1<<1)  #define AC97C_RF              (1<<0)#define AC97C_DATA                0xB0000008#define AC97C_CMD                 0xB000000C  #define AC97C_WD_BIT          16  #define AC97C_READ            (1<<7)  #define AC97C_INDEX_MASK      0x7f#define AC97C_CNTRL               0xB0000010  #define AC97C_RS              (1<<1)  #define AC97C_CE              (1<<0)/* Secure Digital (SD) Controller */#define SD0_XMIT_FIFO	0xB0600000#define SD0_RECV_FIFO	0xB0600004#define SD1_XMIT_FIFO	0xB0680000#define SD1_RECV_FIFO	0xB0680004#if defined (CONFIG_SOC_AU1500) || defined(CONFIG_SOC_AU1550)/* Au1500 PCI Controller */#define Au1500_CFG_BASE           0xB4005000 // virtual, kseg0 addr#define Au1500_PCI_CMEM           (Au1500_CFG_BASE + 0)#define Au1500_PCI_CFG            (Au1500_CFG_BASE + 4)  #define PCI_ERROR ((1<<22) | (1<<23) | (1<<24) | (1<<25) | (1<<26) | (1<<27))#define Au1500_PCI_B2BMASK_CCH    (Au1500_CFG_BASE + 8)#define Au1500_PCI_B2B0_VID       (Au1500_CFG_BASE + 0xC)#define Au1500_PCI_B2B1_ID        (Au1500_CFG_BASE + 0x10)#define Au1500_PCI_MWMASK_DEV     (Au1500_CFG_BASE + 0x14)#define Au1500_PCI_MWBASE_REV_CCL (Au1500_CFG_BASE + 0x18)#define Au1500_PCI_ERR_ADDR       (Au1500_CFG_BASE + 0x1C)#define Au1500_PCI_SPEC_INTACK    (Au1500_CFG_BASE + 0x20)#define Au1500_PCI_ID             (Au1500_CFG_BASE + 0x100)#define Au1500_PCI_STATCMD        (Au1500_CFG_BASE + 0x104)#define Au1500_PCI_CLASSREV       (Au1500_CFG_BASE + 0x108)#define Au1500_PCI_HDRTYPE        (Au1500_CFG_BASE + 0x10C)#define Au1500_PCI_MBAR           (Au1500_CFG_BASE + 0x110)#define Au1500_PCI_HDR            0xB4005100 // virtual, kseg0 addr/* All of our structures, like pci resource, have 32 bit members. * Drivers are expected to do an ioremap on the PCI MEM resource, but it's * hard to store 0x4 0000 0000 in a 32 bit type.  We require a small patch * to __ioremap to check for addresses between (u32)Au1500_PCI_MEM_START and * (u32)Au1500_PCI_MEM_END and change those to the full 36 bit PCI MEM * addresses.  For PCI IO, it's simpler because we get to do the ioremap * ourselves and then adjust the device's resources. */#define Au1500_EXT_CFG            0x600000000ULL#define Au1500_EXT_CFG_TYPE1      0x680000000ULL#define Au1500_PCI_IO_START       0x500000000ULL#define Au1500_PCI_IO_END         0x5000FFFFFULL#define Au1500_PCI_MEM_START      0x440000000ULL#define Au1500_PCI_MEM_END        0x44FFFFFFFULL#define PCI_IO_START    (Au1500_PCI_IO_START + 0x1000)#define PCI_IO_END      (Au1500_PCI_IO_END)#define PCI_MEM_START   (Au1500_PCI_MEM_START)#define PCI_MEM_END     (Au1500_PCI_MEM_END)#define PCI_FIRST_DEVFN (0<<3)#define PCI_LAST_DEVFN  (19<<3)#define IOPORT_RESOURCE_START 0x00001000 /* skip legacy probing */#define IOPORT_RESOURCE_END   0xffffffff#define IOMEM_RESOURCE_START  0x10000000#define IOMEM_RESOURCE_END    0xffffffff  /*   * Borrowed from the PPC arch:   * The following macro is used to lookup irqs in a standard table   * format for those PPC systems that do not already have PCI   * interrupts properly routed.   */  /* FIXME - double check this from asm-ppc/pci-bridge.h */#define PCI_IRQ_TABLE_LOOKUP                            \  ({ long _ctl_ = -1;                                 \      if (idsel >= min_idsel && idsel <= max_idsel && pin <= irqs_per_slot)    \	       _ctl_ = pci_irq_table[idsel - min_idsel][pin-1];               \		      _ctl_; })#else /* Au1000 and Au1100 and Au1200 *//* don't allow any legacy ports probing */#define IOPORT_RESOURCE_START 0x10000000#define IOPORT_RESOURCE_END   0xffffffff#define IOMEM_RESOURCE_START  0x10000000#define IOMEM_RESOURCE_END    0xffffffff#define PCI_IO_START    0#define PCI_IO_END      0#define PCI_MEM_START   0#define PCI_MEM_END     0#define PCI_FIRST_DEVFN 0#define PCI_LAST_DEVFN  0#endif#ifndef _LANGUAGE_ASSEMBLYtypedef volatile struct{	/* 0x0000 */ u32 toytrim;	/* 0x0004 */ u32 toywrite;	/* 0x0008 */ u32 toymatch0;	/* 0x000C */ u32 toymatch1;	/* 0x0010 */ u32 toymatch2;	/* 0x0014 */ u32 cntrctrl;	/* 0x0018 */ u32 scratch0;	/* 0x001C */ u32 scratch1;	/* 0x0020 */ u32 freqctrl0;	/* 0x0024 */ u32 freqctrl1;	/* 0x0028 */ u32 clksrc;	/* 0x002C */ u32 pinfunc;	/* 0x0030 */ u32 reserved0;	/* 0x0034 */ u32 wakemsk;	/* 0x0038 */ u32 endian;	/* 0x003C */ u32 powerctrl;	/* 0x0040 */ u32 toyread;	/* 0x0044 */ u32 rtctrim;	/* 0x0048 */ u32 rtcwrite;	/* 0x004C */ u32 rtcmatch0;	/* 0x0050 */ u32 rtcmatch1;	/* 0x0054 */ u32 rtcmatch2;	/* 0x0058 */ u32 rtcread;	/* 0x005C */ u32 wakesrc;	/* 0x0060 */ u32 cpupll;	/* 0x0064 */ u32 auxpll;	/* 0x0068 */ u32 reserved1;	/* 0x006C */ u32 reserved2;	/* 0x0070 */ u32 reserved3;	/* 0x0074 */ u32 reserved4;	/* 0x0078 */ u32 slppwr;	/* 0x007C */ u32 sleep;	/* 0x0080 */ u32 reserved5[32];	/* 0x0100 */ u32 trioutrd;#define trioutclr trioutrd	/* 0x0104 */ u32 reserved6;	/* 0x0108 */ u32 outputrd;#define outputset outputrd	/* 0x010C */ u32 outputclr;	/* 0x0110 */ u32 pinstaterd;#define pininputen pinstaterd} AU1X00_SYS;static AU1X00_SYS* const sys  = (AU1X00_SYS *)SYS_BASE;#endif/* Processor information base on prid. * Copied from PowerPC. */#ifndef _LANGUAGE_ASSEMBLYstruct cpu_spec {	/* CPU is matched via (PRID & prid_mask) == prid_value */	unsigned int	prid_mask;	unsigned int	prid_value;	char		*cpu_name;	unsigned char	cpu_od;		/* Set Config[OD] */	unsigned char	cpu_bclk;	/* Enable BCLK switching */};extern struct cpu_spec		cpu_specs[];extern struct cpu_spec		*cur_cpu_spec[];#endif#endif

⌨️ 快捷键说明

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