Path: blob/master/arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h
15157 views
/*1* arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h2*/34#ifndef __ASM_ARCH_EP93XX_REGS_H5#define __ASM_ARCH_EP93XX_REGS_H67/*8* EP93xx Physical Memory Map:9*10* The ASDO pin is sampled at system reset to select a synchronous or11* asynchronous boot configuration. When ASDO is "1" (i.e. pulled-up)12* the synchronous boot mode is selected. When ASDO is "0" (i.e13* pulled-down) the asynchronous boot mode is selected.14*15* In synchronous boot mode nSDCE3 is decoded starting at physical address16* 0x00000000 and nCS0 is decoded starting at 0xf0000000. For asynchronous17* boot mode they are swapped with nCS0 decoded at 0x00000000 ann nSDCE318* decoded at 0xf0000000.19*20* There is known errata for the EP93xx dealing with External Memory21* Configurations. Please refer to "AN273: EP93xx Silicon Rev E Design22* Guidelines" for more information. This document can be found at:23*24* http://www.cirrus.com/en/pubs/appNote/AN273REV4.pdf25*/2627#define EP93XX_CS0_PHYS_BASE_ASYNC 0x00000000 /* ASDO Pin = 0 */28#define EP93XX_SDCE3_PHYS_BASE_SYNC 0x00000000 /* ASDO Pin = 1 */29#define EP93XX_CS1_PHYS_BASE 0x1000000030#define EP93XX_CS2_PHYS_BASE 0x2000000031#define EP93XX_CS3_PHYS_BASE 0x3000000032#define EP93XX_PCMCIA_PHYS_BASE 0x4000000033#define EP93XX_CS6_PHYS_BASE 0x6000000034#define EP93XX_CS7_PHYS_BASE 0x7000000035#define EP93XX_SDCE0_PHYS_BASE 0xc000000036#define EP93XX_SDCE1_PHYS_BASE 0xd000000037#define EP93XX_SDCE2_PHYS_BASE 0xe000000038#define EP93XX_SDCE3_PHYS_BASE_ASYNC 0xf0000000 /* ASDO Pin = 0 */39#define EP93XX_CS0_PHYS_BASE_SYNC 0xf0000000 /* ASDO Pin = 1 */4041/*42* EP93xx linux memory map:43*44* virt phys size45* fe800000 5M per-platform mappings46* fed00000 80800000 2M APB47* fef00000 80000000 1M AHB48*/4950#define EP93XX_AHB_PHYS_BASE 0x8000000051#define EP93XX_AHB_VIRT_BASE 0xfef0000052#define EP93XX_AHB_SIZE 0x001000005354#define EP93XX_AHB_PHYS(x) (EP93XX_AHB_PHYS_BASE + (x))55#define EP93XX_AHB_IOMEM(x) IOMEM(EP93XX_AHB_VIRT_BASE + (x))5657#define EP93XX_APB_PHYS_BASE 0x8080000058#define EP93XX_APB_VIRT_BASE 0xfed0000059#define EP93XX_APB_SIZE 0x002000006061#define EP93XX_APB_PHYS(x) (EP93XX_APB_PHYS_BASE + (x))62#define EP93XX_APB_IOMEM(x) IOMEM(EP93XX_APB_VIRT_BASE + (x))636465/* AHB peripherals */66#define EP93XX_DMA_BASE EP93XX_AHB_IOMEM(0x00000000)6768#define EP93XX_ETHERNET_PHYS_BASE EP93XX_AHB_PHYS(0x00010000)69#define EP93XX_ETHERNET_BASE EP93XX_AHB_IOMEM(0x00010000)7071#define EP93XX_USB_PHYS_BASE EP93XX_AHB_PHYS(0x00020000)72#define EP93XX_USB_BASE EP93XX_AHB_IOMEM(0x00020000)7374#define EP93XX_RASTER_PHYS_BASE EP93XX_AHB_PHYS(0x00030000)75#define EP93XX_RASTER_BASE EP93XX_AHB_IOMEM(0x00030000)7677#define EP93XX_GRAPHICS_ACCEL_BASE EP93XX_AHB_IOMEM(0x00040000)7879#define EP93XX_SDRAM_CONTROLLER_BASE EP93XX_AHB_IOMEM(0x00060000)8081#define EP93XX_PCMCIA_CONTROLLER_BASE EP93XX_AHB_IOMEM(0x00080000)8283#define EP93XX_BOOT_ROM_BASE EP93XX_AHB_IOMEM(0x00090000)8485#define EP93XX_IDE_BASE EP93XX_AHB_IOMEM(0x000a0000)8687#define EP93XX_VIC1_BASE EP93XX_AHB_IOMEM(0x000b0000)8889#define EP93XX_VIC2_BASE EP93XX_AHB_IOMEM(0x000c0000)909192/* APB peripherals */93#define EP93XX_TIMER_BASE EP93XX_APB_IOMEM(0x00010000)9495#define EP93XX_I2S_PHYS_BASE EP93XX_APB_PHYS(0x00020000)96#define EP93XX_I2S_BASE EP93XX_APB_IOMEM(0x00020000)9798#define EP93XX_SECURITY_BASE EP93XX_APB_IOMEM(0x00030000)99100#define EP93XX_GPIO_BASE EP93XX_APB_IOMEM(0x00040000)101#define EP93XX_GPIO_REG(x) (EP93XX_GPIO_BASE + (x))102#define EP93XX_GPIO_F_INT_STATUS EP93XX_GPIO_REG(0x5c)103#define EP93XX_GPIO_A_INT_STATUS EP93XX_GPIO_REG(0xa0)104#define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc)105#define EP93XX_GPIO_EEDRIVE EP93XX_GPIO_REG(0xc8)106107#define EP93XX_AAC_PHYS_BASE EP93XX_APB_PHYS(0x00080000)108#define EP93XX_AAC_BASE EP93XX_APB_IOMEM(0x00080000)109110#define EP93XX_SPI_PHYS_BASE EP93XX_APB_PHYS(0x000a0000)111#define EP93XX_SPI_BASE EP93XX_APB_IOMEM(0x000a0000)112113#define EP93XX_IRDA_BASE EP93XX_APB_IOMEM(0x000b0000)114115#define EP93XX_UART1_PHYS_BASE EP93XX_APB_PHYS(0x000c0000)116#define EP93XX_UART1_BASE EP93XX_APB_IOMEM(0x000c0000)117118#define EP93XX_UART2_PHYS_BASE EP93XX_APB_PHYS(0x000d0000)119#define EP93XX_UART2_BASE EP93XX_APB_IOMEM(0x000d0000)120121#define EP93XX_UART3_PHYS_BASE EP93XX_APB_PHYS(0x000e0000)122#define EP93XX_UART3_BASE EP93XX_APB_IOMEM(0x000e0000)123124#define EP93XX_KEY_MATRIX_PHYS_BASE EP93XX_APB_PHYS(0x000f0000)125#define EP93XX_KEY_MATRIX_BASE EP93XX_APB_IOMEM(0x000f0000)126127#define EP93XX_ADC_BASE EP93XX_APB_IOMEM(0x00100000)128#define EP93XX_TOUCHSCREEN_BASE EP93XX_APB_IOMEM(0x00100000)129130#define EP93XX_PWM_PHYS_BASE EP93XX_APB_PHYS(0x00110000)131#define EP93XX_PWM_BASE EP93XX_APB_IOMEM(0x00110000)132133#define EP93XX_RTC_PHYS_BASE EP93XX_APB_PHYS(0x00120000)134#define EP93XX_RTC_BASE EP93XX_APB_IOMEM(0x00120000)135136#define EP93XX_SYSCON_BASE EP93XX_APB_IOMEM(0x00130000)137#define EP93XX_SYSCON_REG(x) (EP93XX_SYSCON_BASE + (x))138#define EP93XX_SYSCON_POWER_STATE EP93XX_SYSCON_REG(0x00)139#define EP93XX_SYSCON_PWRCNT EP93XX_SYSCON_REG(0x04)140#define EP93XX_SYSCON_PWRCNT_FIR_EN (1<<31)141#define EP93XX_SYSCON_PWRCNT_UARTBAUD (1<<29)142#define EP93XX_SYSCON_PWRCNT_USH_EN (1<<28)143#define EP93XX_SYSCON_PWRCNT_DMA_M2M1 (1<<27)144#define EP93XX_SYSCON_PWRCNT_DMA_M2M0 (1<<26)145#define EP93XX_SYSCON_PWRCNT_DMA_M2P8 (1<<25)146#define EP93XX_SYSCON_PWRCNT_DMA_M2P9 (1<<24)147#define EP93XX_SYSCON_PWRCNT_DMA_M2P6 (1<<23)148#define EP93XX_SYSCON_PWRCNT_DMA_M2P7 (1<<22)149#define EP93XX_SYSCON_PWRCNT_DMA_M2P4 (1<<21)150#define EP93XX_SYSCON_PWRCNT_DMA_M2P5 (1<<20)151#define EP93XX_SYSCON_PWRCNT_DMA_M2P2 (1<<19)152#define EP93XX_SYSCON_PWRCNT_DMA_M2P3 (1<<18)153#define EP93XX_SYSCON_PWRCNT_DMA_M2P0 (1<<17)154#define EP93XX_SYSCON_PWRCNT_DMA_M2P1 (1<<16)155#define EP93XX_SYSCON_HALT EP93XX_SYSCON_REG(0x08)156#define EP93XX_SYSCON_STANDBY EP93XX_SYSCON_REG(0x0c)157#define EP93XX_SYSCON_CLKSET1 EP93XX_SYSCON_REG(0x20)158#define EP93XX_SYSCON_CLKSET1_NBYP1 (1<<23)159#define EP93XX_SYSCON_CLKSET2 EP93XX_SYSCON_REG(0x24)160#define EP93XX_SYSCON_CLKSET2_NBYP2 (1<<19)161#define EP93XX_SYSCON_CLKSET2_PLL2_EN (1<<18)162#define EP93XX_SYSCON_DEVCFG EP93XX_SYSCON_REG(0x80)163#define EP93XX_SYSCON_DEVCFG_SWRST (1<<31)164#define EP93XX_SYSCON_DEVCFG_D1ONG (1<<30)165#define EP93XX_SYSCON_DEVCFG_D0ONG (1<<29)166#define EP93XX_SYSCON_DEVCFG_IONU2 (1<<28)167#define EP93XX_SYSCON_DEVCFG_GONK (1<<27)168#define EP93XX_SYSCON_DEVCFG_TONG (1<<26)169#define EP93XX_SYSCON_DEVCFG_MONG (1<<25)170#define EP93XX_SYSCON_DEVCFG_U3EN (1<<24)171#define EP93XX_SYSCON_DEVCFG_CPENA (1<<23)172#define EP93XX_SYSCON_DEVCFG_A2ONG (1<<22)173#define EP93XX_SYSCON_DEVCFG_A1ONG (1<<21)174#define EP93XX_SYSCON_DEVCFG_U2EN (1<<20)175#define EP93XX_SYSCON_DEVCFG_EXVC (1<<19)176#define EP93XX_SYSCON_DEVCFG_U1EN (1<<18)177#define EP93XX_SYSCON_DEVCFG_TIN (1<<17)178#define EP93XX_SYSCON_DEVCFG_HC3IN (1<<15)179#define EP93XX_SYSCON_DEVCFG_HC3EN (1<<14)180#define EP93XX_SYSCON_DEVCFG_HC1IN (1<<13)181#define EP93XX_SYSCON_DEVCFG_HC1EN (1<<12)182#define EP93XX_SYSCON_DEVCFG_HONIDE (1<<11)183#define EP93XX_SYSCON_DEVCFG_GONIDE (1<<10)184#define EP93XX_SYSCON_DEVCFG_PONG (1<<9)185#define EP93XX_SYSCON_DEVCFG_EONIDE (1<<8)186#define EP93XX_SYSCON_DEVCFG_I2SONSSP (1<<7)187#define EP93XX_SYSCON_DEVCFG_I2SONAC97 (1<<6)188#define EP93XX_SYSCON_DEVCFG_RASONP3 (1<<4)189#define EP93XX_SYSCON_DEVCFG_RAS (1<<3)190#define EP93XX_SYSCON_DEVCFG_ADCPD (1<<2)191#define EP93XX_SYSCON_DEVCFG_KEYS (1<<1)192#define EP93XX_SYSCON_DEVCFG_SHENA (1<<0)193#define EP93XX_SYSCON_VIDCLKDIV EP93XX_SYSCON_REG(0x84)194#define EP93XX_SYSCON_CLKDIV_ENABLE (1<<15)195#define EP93XX_SYSCON_CLKDIV_ESEL (1<<14)196#define EP93XX_SYSCON_CLKDIV_PSEL (1<<13)197#define EP93XX_SYSCON_CLKDIV_PDIV_SHIFT 8198#define EP93XX_SYSCON_I2SCLKDIV EP93XX_SYSCON_REG(0x8c)199#define EP93XX_SYSCON_I2SCLKDIV_SENA (1<<31)200#define EP93XX_SYSCON_I2SCLKDIV_ORIDE (1<<29)201#define EP93XX_SYSCON_I2SCLKDIV_SPOL (1<<19)202#define EP93XX_I2SCLKDIV_SDIV (1 << 16)203#define EP93XX_I2SCLKDIV_LRDIV32 (0 << 17)204#define EP93XX_I2SCLKDIV_LRDIV64 (1 << 17)205#define EP93XX_I2SCLKDIV_LRDIV128 (2 << 17)206#define EP93XX_I2SCLKDIV_LRDIV_MASK (3 << 17)207#define EP93XX_SYSCON_KEYTCHCLKDIV EP93XX_SYSCON_REG(0x90)208#define EP93XX_SYSCON_KEYTCHCLKDIV_TSEN (1<<31)209#define EP93XX_SYSCON_KEYTCHCLKDIV_ADIV (1<<16)210#define EP93XX_SYSCON_KEYTCHCLKDIV_KEN (1<<15)211#define EP93XX_SYSCON_KEYTCHCLKDIV_KDIV (1<<0)212#define EP93XX_SYSCON_SYSCFG EP93XX_SYSCON_REG(0x9c)213#define EP93XX_SYSCON_SYSCFG_REV_MASK (0xf0000000)214#define EP93XX_SYSCON_SYSCFG_REV_SHIFT (28)215#define EP93XX_SYSCON_SYSCFG_SBOOT (1<<8)216#define EP93XX_SYSCON_SYSCFG_LCSN7 (1<<7)217#define EP93XX_SYSCON_SYSCFG_LCSN6 (1<<6)218#define EP93XX_SYSCON_SYSCFG_LASDO (1<<5)219#define EP93XX_SYSCON_SYSCFG_LEEDA (1<<4)220#define EP93XX_SYSCON_SYSCFG_LEECLK (1<<3)221#define EP93XX_SYSCON_SYSCFG_LCSN2 (1<<1)222#define EP93XX_SYSCON_SYSCFG_LCSN1 (1<<0)223#define EP93XX_SYSCON_SWLOCK EP93XX_SYSCON_REG(0xc0)224225#define EP93XX_WATCHDOG_BASE EP93XX_APB_IOMEM(0x00140000)226227228#endif229230231