/* * 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. * * - 2003/01/20: Robert Schwebel */ #define GPLR1 0x40E00004 /* GPIO Pin-Level Register GPIO<63:32> */ #define GPLR2 0x40E00008 /* GPIO Pin-Level Register GPIO<80:64> */ #define GPDR0 0x40E0000C /* GPIO Pin Direction Register GPIO<31:0> */ #define GPDR1 0x40E00010 /* GPIO Pin Direction Register GPIO<63:32> */ #define GPDR2 0x40E00014 /* GPIO Pin Direction Register GPIO<80:64> */ #define GPSR0 0x40E00018 /* GPIO Pin Output Set Register GPIO<31:0> */ #define GPSR1 0x40E0001C /* GPIO Pin Output Set Register GPIO<63:32> */ #define GPSR2 0x40E00020 /* GPIO Pin Output Set Register GPIO<80:64> */ #define GPCR0 0x40E00024 /* GPIO Pin Output Clear Register GPIO<31:0> */ #define GPCR1 0x40E00028 /* GPIO Pin Output Clear Register GPIO <63:32> */ #define GPCR2 0x40E0002C /* GPIO Pin Output Clear Register GPIO <80:64> */ #define GRER0 0x40E00030 /* GPIO Rising-Edge Detect Register GPIO<31:0> */ #define GRER1 0x40E00034 /* GPIO Rising-Edge Detect Register GPIO<63:32> */ #define GRER2 0x40E00038 /* GPIO Rising-Edge Detect Register GPIO<80:64> */ #define GFER0 0x40E0003C /* GPIO Falling-Edge Detect Register GPIO<31:0> */ #define GFER1 0x40E00040 /* GPIO Falling-Edge Detect Register GPIO<63:32> */ #define GFER2 0x40E00044 /* GPIO Falling-Edge Detect Register GPIO<80:64> */ #define GEDR0 0x40E00048 /* GPIO Edge Detect Status Register GPIO<31:0> */ #define GEDR1 0x40E0004C /* GPIO Edge Detect Status Register GPIO<63:32> */ #define GEDR2 0x40E00050 /* GPIO Edge Detect Status Register GPIO<80:64> */ #define GAFR0_L 0x40E00054 /* GPIO Alternate Function Select Register GPIO<15:0> */ #define GAFR0_U 0x40E00058 /* GPIO Alternate Function Select Register GPIO<31:16> */ #define GAFR1_L 0x40E0005C /* GPIO Alternate Function Select Register GPIO<47:32> */ #define GAFR1_U 0x40E00060 /* GPIO Alternate Function Select Register GPIO<63:48> */ #define GAFR2_L 0x40E00064 /* GPIO Alternate Function Select Register GPIO<79:64> */ #define GAFR2_U 0x40E00068 /* GPIO Alternate Function Select Register GPIO 80 */ #if defined(CONFIG_CPU_PXA27X) || defined(CONFIG_CPU_MONAHANS) #define GPLR3 0x40E00100 /* GPIO Pin-Level Register GPIO<127:96> */ #define GPDR3 0x40E0010C /* GPIO Pin Direction Register GPIO<127:96> */ #define GPSR3 0x40E00118 /* GPIO Pin Output Set Register GPIO<127:96> */ #define GPCR3 0x40E00124 /* GPIO Pin Output Clear Register GPIO<127:96> */ #define GRER3 0x40E00130 /* GPIO Rising-Edge Detect Register GPIO<127:96> */ #define GFER3 0x40E0013C /* GPIO Falling-Edge Detect Register GPIO<127:96> */ #define GEDR3 0x40E00148 /* GPIO Edge Detect Status Register GPIO<127:96> */ #define GAFR3_L 0x40E0006C /* GPIO Alternate Function Select Register GPIO<111:96> */ #define GAFR3_U 0x40E00070 /* GPIO Alternate Function Select Register GPIO<127:112> */ #endif /* CONFIG_CPU_PXA27X || CONFIG_CPU_MONAHANS */ #ifdef CONFIG_CPU_MONAHANS #define GSDR0 0x40E00400 /* Bit-wise Set of GPDR[31:0] */ #define GSDR1 0x40E00404 /* Bit-wise Set of GPDR[63:32] */ #define GSDR2 0x40E00408 /* Bit-wise Set of GPDR[95:64] */ #define GSDR3 0x40E0040C /* Bit-wise Set of GPDR[127:96] */ #define GCDR0 0x40E00420 /* Bit-wise Clear of GPDR[31:0] */ #define GCDR1 0x40E00424 /* Bit-wise Clear of GPDR[63:32] */ #define GCDR2 0x40E00428 /* Bit-wise Clear of GPDR[95:64] */ #define GCDR3 0x40E0042C /* Bit-wise Clear of GPDR[127:96] */ #define GSRER0 0x40E00440 /* Set Rising Edge Det. Enable [31:0] */ #define GSRER1 0x40E00444 /* Set Rising Edge Det. Enable [63:32] */ #define GSRER2 0x40E00448 /* Set Rising Edge Det. Enable [95:64] */ #define GSRER3 0x40E0044C /* Set Rising Edge Det. Enable [127:96] */ #define GCRER0 0x40E00460 /* Clear Rising Edge Det. Enable [31:0] */ #define GCRER1 0x40E00464 /* Clear Rising Edge Det. Enable [63:32] */ #define GCRER2 0x40E00468 /* Clear Rising Edge Det. Enable [95:64] */ #define GCRER3 0x40E0046C /* Clear Rising Edge Det. Enable[127:96] */ #define GSFER0 0x40E00480 /* Set Falling Edge Det. Enable [31:0] */ #define GSFER1 0x40E00484 /* Set Falling Edge Det. Enable [63:32] */ #define GSFER2 0x40E00488 /* Set Falling Edge Det. Enable [95:64] */ #define GSFER3 0x40E0048C /* Set Falling Edge Det. Enable[127:96] */ #define GCFER0 0x40E004A0 /* Clr Falling Edge Det. Enable [31:0] */ #define GCFER1 0x40E004A4 /* Clr Falling Edge Det. Enable [63:32] */ #define GCFER2 0x40E004A8 /* Clr Falling Edge Det. Enable [95:64] */ #define GCFER3 0x40E004AC /* Clr Falling Edge Det. Enable[127:96] */ #define GSDR(x) (0x40E00400 | ((x) & 0x60) >> 3) #define GCDR(x) (0x40E00420 | ((x) & 0x60) >> 3) #endif #define _GPLR(x) (0x40E00000 + (((x) & 0x60) >> 3)) #define _GPDR(x) (0x40E0000C + (((x) & 0x60) >> 3)) #define _GPSR(x) (0x40E00018 + (((x) & 0x60) >> 3)) #define _GPCR(x) (0x40E00024 + (((x) & 0x60) >> 3)) #define _GRER(x) (0x40E00030 + (((x) & 0x60) >> 3)) #define _GFER(x) (0x40E0003C + (((x) & 0x60) >> 3)) #define _GEDR(x) (0x40E00048 + (((x) & 0x60) >> 3)) #define _GAFR(x) (0x40E00054 + (((x) & 0x70) >> 2)) #if defined(CONFIG_CPU_PXA27X) || defined(CONFIG_CPU_MONAHANS) #define GPLR(x) (((((x) & 0x7f) < 96) ? _GPLR(x) : GPLR3)) #define GPDR(x) (((((x) & 0x7f) < 96) ? _GPDR(x) : GPDR3)) #define GPSR(x) (((((x) & 0x7f) < 96) ? _GPSR(x) : GPSR3)) #define GPCR(x) (((((x) & 0x7f) < 96) ? _GPCR(x) : GPCR3)) #define GRER(x) (((((x) & 0x7f) < 96) ? _GRER(x) : GRER3)) #define GFER(x) (((((x) & 0x7f) < 96) ? _GFER(x) : GFER3)) #define GEDR(x) (((((x) & 0x7f) < 96) ? _GEDR(x) : GEDR3)) #define GAFR(x) (((((x) & 0x7f) < 96) ? _GAFR(x) : \ ((((x) & 0x7f) < 112) ? GAFR3_L : GAFR3_U))) #else #define GPLR(x) _GPLR(x) #define GPDR(x) _GPDR(x) #define GPSR(x) _GPSR(x) #define GPCR(x) _GPCR(x) #define GRER(x) _GRER(x) #define GFER(x) _GFER(x) #define GEDR(x) _GEDR(x) #define GAFR(x) _GAFR(x) #endif #define GPIO_bit(x) (1 << ((x) & 0x1f)) /******************************************************************************/ /* * Multi-function Pin Registers: */ /* PXA320 */ #if defined(CONFIG_CPU_PXA320) #define DF_IO0 0x40e1024c #define DF_IO1 0x40e10254 #define DF_IO2 0x40e1025c #define DF_IO3 0x40e10264 #define DF_IO4 0x40e1026c #define DF_IO5 0x40e10274 #define DF_IO6 0x40e1027c #define DF_IO7 0x40e10284 #define DF_IO8 0x40e10250 #define DF_IO9 0x40e10258 #define DF_IO10 0x40e10260 #define DF_IO11 0x40e10268 #define DF_IO12 0x40e10270 #define DF_IO13 0x40e10278 #define DF_IO14 0x40e10280 #define DF_IO15 0x40e10288 #define DF_CLE_nOE 0x40e10204 #define DF_ALE_nWE1 0x40e10208 #define DF_ALE_nWE2 0x40e1021c #define DF_SCLK_E 0x40e10210 #define DF_nCS0 0x40e10224 #define DF_nCS1 0x40e10228 #define nBE0 0x40e10214 #define nBE1 0x40e10218 #define nLUA 0x40e10234 #define nLLA 0x40e10238 #define DF_ADDR0 0x40e1023c #define DF_ADDR1 0x40e10240 #define DF_ADDR2 0x40e10244 #define DF_ADDR3 0x40e10248 #define DF_INT_RnB 0x40e10220 #define DF_nCS0 0x40e10224 #define DF_nCS1 0x40e10228 #define DF_nWE 0x40e1022c #define DF_nRE 0x40e10230 #define nXCVREN 0x40e10138 #define GPIO0 0x40e10124 #define GPIO1 0x40e10128 #define GPIO2 0x40e1012c #define GPIO3 0x40e10130 #define GPIO4 0x40e10134 #define GPIO5 0x40e1028c #define GPIO6 0x40e10290 #define GPIO7 0x40e10294 #define GPIO8 0x40e10298 #define GPIO9 0x40e1029c #define GPIO10 0x40e10458 #define GPIO11 0x40e102a0 #define GPIO12 0x40e102a4 #define GPIO13 0x40e102a8 #define GPIO14 0x40e102ac #define GPIO15 0x40e102b0 #define GPIO16 0x40e102b4 #define GPIO17 0x40e102b8 #define GPIO18 0x40e102bc #define GPIO19 0x40e102c0 #define GPIO20 0x40e102c4 #define GPIO21 0x40e102c8 #define GPIO22 0x40e102cc #define GPIO23 0x40e102d0 #define GPIO24 0x40e102d4 #define GPIO25 0x40e102d8 #define GPIO26 0x40e102dc #define GPIO27 0x40e10400 #define GPIO28 0x40e10404 #define GPIO29 0x40e10408 #define GPIO30 0x40e1040c #define GPIO31 0x40e10410 #define GPIO32 0x40e10414 #define GPIO33 0x40e10418 #define GPIO34 0x40e1041c #define GPIO35 0x40e10420 #define GPIO36 0x40e10424 #define GPIO37 0x40e10428 #define GPIO38 0x40e1042c #define GPIO39 0x40e10430 #define GPIO40 0x40e10434 #define GPIO41 0x40e10438 #define GPIO42 0x40e1043c #define GPIO43 0x40e10440 #define GPIO44 0x40e10444 #define GPIO45 0x40e10448 #define GPIO46 0x40e1044c #define GPIO47 0x40e10450 #define GPIO48 0x40e10454 #define GPIO49 0x40e1045c #define GPIO50 0x40e10460 #define GPIO51 0x40e10464 #define GPIO52 0x40e10468 #define GPIO53 0x40e1046c #define GPIO54 0x40e10470 #define GPIO55 0x40e10474 #define GPIO56 0x40e10478 #define GPIO57 0x40e1047c #define GPIO58 0x40e10480 #define GPIO59 0x40e10484 #define GPIO60 0x40e10488 #define GPIO61 0x40e1048c #define GPIO62 0x40e10490 #define GPIO6_2 0x40e10494 #define GPIO7_2 0x40e10498 #define GPIO8_2 0x40e1049c #define GPIO9_2 0x40e104a0 #define GPIO10_2 0x40e104a4 #define GPIO11_2 0x40e104a8 #define GPIO12_2 0x40e104ac #define GPIO13_2 0x40e104b0 #define GPIO63 0x40e104b4 #define GPIO64 0x40e104b8 #define GPIO65 0x40e104bc #define GPIO66 0x40e104c0 #define GPIO67 0x40e104c4 #define GPIO68 0x40e104c8 #define GPIO69 0x40e104cc #define GPIO70 0x40e104d0 #define GPIO71 0x40e104d4 #define GPIO72 0x40e104d8 #define GPIO73 0x40e104dc #define GPIO14_2 0x40e104e0 #define GPIO15_2 0x40e104e4 #define GPIO16_2 0x40e104e8 #define GPIO17_2 0x40e104ec #define GPIO74 0x40e104f0 #define GPIO75 0x40e104f4 #define GPIO76 0x40e104f8 #define GPIO77 0x40e104fc #define GPIO78 0x40e10500 #define GPIO79 0x40e10504 #define GPIO80 0x40e10508 #define GPIO81 0x40e1050c #define GPIO82 0x40e10510 #define GPIO83 0x40e10514 #define GPIO84 0x40e10518 #define GPIO85 0x40e1051c #define GPIO86 0x40e10520 #define GPIO87 0x40e10524 #define GPIO88 0x40e10528 #define GPIO89 0x40e1052c #define GPIO90 0x40e10530 #define GPIO91 0x40e10534 #define GPIO92 0x40e10538 #define GPIO93 0x40e1053c #define GPIO94 0x40e10540 #define GPIO95 0x40e10544 #define GPIO96 0x40e10548 #define GPIO97 0x40e1054c #define GPIO98 0x40e10550 #define GPIO99 0x40e10600 #define GPIO100 0x40e10604 #define GPIO101 0x40e10608 #define GPIO102 0x40e1060c #define GPIO103 0x40e10610 #define GPIO104 0x40e10614 #define GPIO105 0x40e10618 #define GPIO106 0x40e1061c #define GPIO107 0x40e10620 #define GPIO108 0x40e10624 #define GPIO109 0x40e10628 #define GPIO110 0x40e1062c #define GPIO111 0x40e10630 #define GPIO112 0x40e10634 #define GPIO113 0x40e10638 #define GPIO114 0x40e1063c #define GPIO115 0x40e10640 #define GPIO116 0x40e10644 #define GPIO117 0x40e10648 #define GPIO118 0x40e1064c #define GPIO119 0x40e10650 #define GPIO120 0x40e10654 #define GPIO121 0x40e10658 #define GPIO122 0x40e1065c #define GPIO123 0x40e10660 #define GPIO124 0x40e10664 #define GPIO125 0x40e10668 #define GPIO126 0x40e1066c #define GPIO127 0x40e10670 #define GPIO0_2 0x40e10674 #define GPIO1_2 0x40e10678 #define GPIO2_2 0x40e1067c #define GPIO3_2 0x40e10680 #define GPIO4_2 0x40e10684 #define GPIO5_2 0x40e10688 /* PXA300 and PXA310 */ #elif defined(CONFIG_CPU_PXA300) || defined(CONFIG_CPU_PXA310) #define DF_IO0 0x40e10220 #define DF_IO1 0x40e10228 #define DF_IO2 0x40e10230 #define DF_IO3 0x40e10238 #define DF_IO4 0x40e10258 #define DF_IO5 0x40e10260 #define DF_IO7 0x40e10270 #define DF_IO6 0x40e10268 #define DF_IO8 0x40e10224 #define DF_IO9 0x40e1022c #define DF_IO10 0x40e10234 #define DF_IO11 0x40e1023c #define DF_IO12 0x40e1025c #define DF_IO13 0x40e10264 #define DF_IO14 0x40e1026c #define DF_IO15 0x40e10274 #define DF_CLE_NOE 0x40e10240 #define DF_ALE_nWE 0x40e1020c #define DF_SCLK_E 0x40e10250 #define nCS0 0x40e100c4 #define nCS1 0x40e100c0 #define nBE0 0x40e10204 #define nBE1 0x40e10208 #define nLUA 0x40e10244 #define nLLA 0x40e10254 #define DF_ADDR0 0x40e10210 #define DF_ADDR1 0x40e10214 #define DF_ADDR2 0x40e10218 #define DF_ADDR3 0x40e1021c #define DF_INT_RnB 0x40e100c8 #define DF_nCS0 0x40e10248 #define DF_nCS1 0x40e10278 #define DF_nWE 0x40e100cc #define DF_nRE 0x40e10200 #define GPIO0 0x40e100b4 #define GPIO1 0x40e100b8 #define GPIO2 0x40e100bc #define GPIO3 0x40e1027c #define GPIO4 0x40e10280 #define GPIO5 0x40e10284 #define GPIO6 0x40e10288 #define GPIO7 0x40e1028c #define GPIO8 0x40e10290 #define GPIO9 0x40e10294 #define GPIO10 0x40e10298 #define GPIO11 0x40e1029c #define GPIO12 0x40e102a0 #define GPIO13 0x40e102a4 #define GPIO14 0x40e102a8 #define GPIO15 0x40e102ac #define GPIO16 0x40e102b0 #define GPIO17 0x40e102b4 #define GPIO18 0x40e102b8 #define GPIO19 0x40e102bc #define GPIO20 0x40e102c0 #define GPIO21 0x40e102c4 #define GPIO22 0x40e102c8 #define GPIO23 0x40e102cc #define GPIO24 0x40e102d0 #define GPIO25 0x40e102d4 #define GPIO26 0x40e102d8 #define GPIO27 0x40e10400 #define GPIO28 0x40e10404 #define GPIO29 0x40e10408 #define ULPI_STP 0x40e1040c #define ULPI_NXT 0x40e10410 #define ULPI_DIR 0x40e10414 #define GPIO30 0x40e10418 #define GPIO31 0x40e1041c #define GPIO32 0x40e10420 #define GPIO33 0x40e10424 #define GPIO34 0x40e10428 #define GPIO35 0x40e1042c #define GPIO36 0x40e10430 #define GPIO37 0x40e10434 #define GPIO38 0x40e10438 #define GPIO39 0x40e1043c #define GPIO40 0x40e10440 #define GPIO41 0x40e10444 #define GPIO42 0x40e10448 #define GPIO43 0x40e1044c #define GPIO44 0x40e10450 #define GPIO45 0x40e10454 #define GPIO46 0x40e10458 #define GPIO47 0x40e1045c #define GPIO48 0x40e10460 #define GPIO49 0x40e10464 #define GPIO50 0x40e10468 #define GPIO51 0x40e1046c #define GPIO52 0x40e10470 #define GPIO53 0x40e10474 #define GPIO54 0x40e10478 #define GPIO55 0x40e1047c #define GPIO56 0x40e10480 #define GPIO57 0x40e10484 #define GPIO58 0x40e10488 #define GPIO59 0x40e1048c #define GPIO60 0x40e10490 #define GPIO61 0x40e10494 #define GPIO62 0x40e10498 #define GPIO63 0x40e1049c #define GPIO64 0x40e104a0 #define GPIO65 0x40e104a4 #define GPIO66 0x40e104a8 #define GPIO67 0x40e104ac #define GPIO68 0x40e104b0 #define GPIO69 0x40e104b4 #define GPIO70 0x40e104b8 #define GPIO71 0x40e104bc #define GPIO72 0x40e104c0 #define GPIO73 0x40e104c4 #define GPIO74 0x40e104c8 #define GPIO75 0x40e104cc #define GPIO76 0x40e104d0 #define GPIO77 0x40e104d4 #define GPIO78 0x40e104d8 #define GPIO79 0x40e104dc #define GPIO80 0x40e104e0 #define GPIO81 0x40e104e4 #define GPIO82 0x40e104e8 #define GPIO83 0x40e104ec #define GPIO84 0x40e104f0 #define GPIO85 0x40e104f4 #define GPIO86 0x40e104f8 #define GPIO87 0x40e104fc #define GPIO88 0x40e10500 #define GPIO89 0x40e10504 #define GPIO90 0x40e10508 #define GPIO91 0x40e1050c #define GPIO92 0x40e10510 #define GPIO93 0x40e10514 #define GPIO94 0x40e10518 #define GPIO95 0x40e1051c #define GPIO96 0x40e10520 #define GPIO97 0x40e10524 #define GPIO98 0x40e10528 #define GPIO99 0x40e10600 #define GPIO100 0x40e10604 #define GPIO101 0x40e10608 #define GPIO102 0x40e1060c #define GPIO103 0x40e10610 #define GPIO104 0x40e10614 #define GPIO105 0x40e10618 #define GPIO106 0x40e1061c #define GPIO107 0x40e10620 #define GPIO108 0x40e10624 #define GPIO109 0x40e10628 #define GPIO110 0x40e1062c #define GPIO111 0x40e10630 #define GPIO112 0x40e10634 #define GPIO113 0x40e10638 #define GPIO114 0x40e1063c #define GPIO115 0x40e10640 #define GPIO116 0x40e10644 #define GPIO117 0x40e10648 #define GPIO118 0x40e1064c #define GPIO119 0x40e10650 #define GPIO120 0x40e10654 #define GPIO121 0x40e10658 #define GPIO122 0x40e1065c #define GPIO123 0x40e10660 #define GPIO124 0x40e10664 #define GPIO125 0x40e10668 #define GPIO126 0x40e1066c #define GPIO127 0x40e10670 #define GPIO0_2 0x40e10674 #define GPIO1_2 0x40e10678 #define GPIO2_2 0x40e102dc #define GPIO3_2 0x40e102e0 #define GPIO4_2 0x40e102e4 #define GPIO5_2 0x40e102e8 #define GPIO6_2 0x40e102ec #ifndef CONFIG_CPU_PXA300 /* PXA310 only */ #define GPIO7_2 0x40e1052c #define GPIO8_2 0x40e10530 #define GPIO9_2 0x40e10534 #define GPIO10_2 0x40e10538 #endif #endif #ifdef CONFIG_CPU_MONAHANS /* MFPR Bit Definitions, see 4-10, Vol. 1 */ #define PULL_SEL 0x8000 #define PULLUP_EN 0x4000 #define PULLDOWN_EN 0x2000 #define DRIVE_FAST_1mA 0x0 #define DRIVE_FAST_2mA 0x400 #define DRIVE_FAST_3mA 0x800 #define DRIVE_FAST_4mA 0xC00 #define DRIVE_SLOW_6mA 0x1000 #define DRIVE_FAST_6mA 0x1400 #define DRIVE_SLOW_10mA 0x1800 #define DRIVE_FAST_10mA 0x1C00 #define SLEEP_SEL 0x200 #define SLEEP_DATA 0x100 #define SLEEP_OE_N 0x80 #define EDGE_CLEAR 0x40 #define EDGE_FALL_EN 0x20 #define EDGE_RISE_EN 0x10 #define AF_SEL_0 0x0 /* Alternate function 0 (reset state) */ #define AF_SEL_1 0x1 /* Alternate function 1 */ #define AF_SEL_2 0x2 /* Alternate function 2 */ #define AF_SEL_3 0x3 /* Alternate function 3 */ #define AF_SEL_4 0x4 /* Alternate function 4 */ #define AF_SEL_5 0x5 /* Alternate function 5 */ #define AF_SEL_6 0x6 /* Alternate function 6 */ #define AF_SEL_7 0x7 /* Alternate function 7 */ #endif /* CONFIG_CPU_MONAHANS */ /* GPIO alternate function assignments */ #define GPIO1_RST 1 /* reset */ #define GPIO6_MMCCLK 6 /* MMC Clock */ #define GPIO8_48MHz 7 /* 48 MHz clock output */ #define GPIO8_MMCCS0 8 /* MMC Chip Select 0 */ #define GPIO9_MMCCS1 9 /* MMC Chip Select 1 */ #define GPIO10_RTCCLK 10 /* real time clock (1 Hz) */ #define GPIO11_3_6MHz 11 /* 3.6 MHz oscillator out */ #define GPIO12_32KHz 12 /* 32 kHz out */ #define GPIO13_MBGNT 13 /* memory controller grant */ #define GPIO14_MBREQ 14 /* alternate bus master request */ #define GPIO15_nCS_1 15 /* chip select 1 */ #define GPIO16_PWM0 16 /* PWM0 output */ #define GPIO17_PWM1 17 /* PWM1 output */ #define GPIO18_RDY 18 /* Ext. Bus Ready */ #define GPIO19_DREQ1 19 /* External DMA Request */ #define GPIO20_DREQ0 20 /* External DMA Request */ #define GPIO23_SCLK 23 /* SSP clock */ #define GPIO24_SFRM 24 /* SSP Frame */ #define GPIO25_STXD 25 /* SSP transmit */ #define GPIO26_SRXD 26 /* SSP receive */ #define GPIO27_SEXTCLK 27 /* SSP ext_clk */ #define GPIO28_BITCLK 28 /* AC97/I2S bit_clk */ #define GPIO29_SDATA_IN 29 /* AC97 Sdata_in0 / I2S Sdata_in */ #define GPIO30_SDATA_OUT 30 /* AC97/I2S Sdata_out */ #define GPIO31_SYNC 31 /* AC97/I2S sync */ #define GPIO32_SDATA_IN1 32 /* AC97 Sdata_in1 */ #define GPIO33_nCS_5 33 /* chip select 5 */ #define GPIO34_FFRXD 34 /* FFUART receive */ #define GPIO34_MMCCS0 34 /* MMC Chip Select 0 */ #define GPIO35_FFCTS 35 /* FFUART Clear to send */ #define GPIO36_FFDCD 36 /* FFUART Data carrier detect */ #define GPIO37_FFDSR 37 /* FFUART data set ready */ #define GPIO38_FFRI 38 /* FFUART Ring Indicator */ #define GPIO39_MMCCS1 39 /* MMC Chip Select 1 */ #define GPIO39_FFTXD 39 /* FFUART transmit data */ #define GPIO40_FFDTR 40 /* FFUART data terminal Ready */ #define GPIO41_FFRTS 41 /* FFUART request to send */ #define GPIO42_BTRXD 42 /* BTUART receive data */ #define GPIO43_BTTXD 43 /* BTUART transmit data */ #define GPIO44_BTCTS 44 /* BTUART clear to send */ #define GPIO45_BTRTS 45 /* BTUART request to send */ #define GPIO46_ICPRXD 46 /* ICP receive data */ #define GPIO46_STRXD 46 /* STD_UART receive data */ #define GPIO47_ICPTXD 47 /* ICP transmit data */ #define GPIO47_STTXD 47 /* STD_UART transmit data */ #define GPIO48_nPOE 48 /* Output Enable for Card Space */ #define GPIO49_nPWE 49 /* Write Enable for Card Space */ #define GPIO50_nPIOR 50 /* I/O Read for Card Space */ #define GPIO51_nPIOW 51 /* I/O Write for Card Space */ #define GPIO52_nPCE_1 52 /* Card Enable for Card Space */ #define GPIO53_nPCE_2 53 /* Card Enable for Card Space */ #define GPIO53_MMCCLK 53 /* MMC Clock */ #define GPIO54_MMCCLK 54 /* MMC Clock */ #define GPIO54_pSKTSEL 54 /* Socket Select for Card Space */ #define GPIO55_nPREG 55 /* Card Address bit 26 */ #define GPIO56_nPWAIT 56 /* Wait signal for Card Space */ #define GPIO57_nIOIS16 57 /* Bus Width select for I/O Card Space */ #define GPIO58_LDD_0 58 /* LCD data pin 0 */ #define GPIO59_LDD_1 59 /* LCD data pin 1 */ #define GPIO60_LDD_2 60 /* LCD data pin 2 */ #define GPIO61_LDD_3 61 /* LCD data pin 3 */ #define GPIO62_LDD_4 62 /* LCD data pin 4 */ #define GPIO63_LDD_5 63 /* LCD data pin 5 */ #define GPIO64_LDD_6 64 /* LCD data pin 6 */ #define GPIO65_LDD_7 65 /* LCD data pin 7 */ #define GPIO66_LDD_8 66 /* LCD data pin 8 */ #define GPIO66_MBREQ 66 /* alternate bus master req */ #define GPIO67_LDD_9 67 /* LCD data pin 9 */ #define GPIO67_MMCCS0 67 /* MMC Chip Select 0 */ #define GPIO68_LDD_10 68 /* LCD data pin 10 */ #define GPIO68_MMCCS1 68 /* MMC Chip Select 1 */ #define GPIO69_LDD_11 69 /* LCD data pin 11 */ #define GPIO69_MMCCLK 69 /* MMC_CLK */ #define GPIO70_LDD_12 70 /* LCD data pin 12 */ #define GPIO70_RTCCLK 70 /* Real Time clock (1 Hz) */ #define GPIO71_LDD_13 71 /* LCD data pin 13 */ #define GPIO71_3_6MHz 71 /* 3.6 MHz Oscillator clock */ #define GPIO72_LDD_14 72 /* LCD data pin 14 */ #define GPIO72_32kHz 72 /* 32 kHz clock */ #define GPIO73_LDD_15 73 /* LCD data pin 15 */ #define GPIO73_MBGNT 73 /* Memory controller grant */ #define GPIO74_LCD_FCLK 74 /* LCD Frame clock */ #define GPIO75_LCD_LCLK 75 /* LCD line clock */ #define GPIO76_LCD_PCLK 76 /* LCD Pixel clock */ #define GPIO77_LCD_ACBIAS 77 /* LCD AC Bias */ #define GPIO78_nCS_2 78 /* chip select 2 */ #define GPIO79_nCS_3 79 /* chip select 3 */ #define GPIO80_nCS_4 80 /* chip select 4 */ /* GPIO alternate function mode & direction */ #define GPIO_IN 0x000 #define GPIO_OUT 0x080 #define GPIO_ALT_FN_1_IN 0x100 #define GPIO_ALT_FN_1_OUT 0x180 #define GPIO_ALT_FN_2_IN 0x200 #define GPIO_ALT_FN_2_OUT 0x280 #define GPIO_ALT_FN_3_IN 0x300 #define GPIO_ALT_FN_3_OUT 0x380 #define GPIO_MD_MASK_NR 0x07f #define GPIO_MD_MASK_DIR 0x080 #define GPIO_MD_MASK_FN 0x300 #define GPIO1_RTS_MD ( 1 | GPIO_ALT_FN_1_IN) #define GPIO6_MMCCLK_MD ( 6 | GPIO_ALT_FN_1_OUT) #define GPIO8_48MHz_MD ( 8 | GPIO_ALT_FN_1_OUT) #define GPIO8_MMCCS0_MD ( 8 | GPIO_ALT_FN_1_OUT) #define GPIO9_MMCCS1_MD ( 9 | GPIO_ALT_FN_1_OUT) #define GPIO10_RTCCLK_MD (10 | GPIO_ALT_FN_1_OUT) #define GPIO11_3_6MHz_MD (11 | GPIO_ALT_FN_1_OUT) #define GPIO12_32KHz_MD (12 | GPIO_ALT_FN_1_OUT) #define GPIO13_MBGNT_MD (13 | GPIO_ALT_FN_2_OUT) #define GPIO14_MBREQ_MD (14 | GPIO_ALT_FN_1_IN) #define GPIO15_nCS_1_MD (15 | GPIO_ALT_FN_2_OUT) #define GPIO16_PWM0_MD (16 | GPIO_ALT_FN_2_OUT) #define GPIO17_PWM1_MD (17 | GPIO_ALT_FN_2_OUT) #define GPIO18_RDY_MD (18 | GPIO_ALT_FN_1_IN) #define GPIO19_DREQ1_MD (19 | GPIO_ALT_FN_1_IN) #define GPIO20_DREQ0_MD (20 | GPIO_ALT_FN_1_IN) #define GPIO23_SCLK_md (23 | GPIO_ALT_FN_2_OUT) #define GPIO24_SFRM_MD (24 | GPIO_ALT_FN_2_OUT) #define GPIO25_STXD_MD (25 | GPIO_ALT_FN_2_OUT) #define GPIO26_SRXD_MD (26 | GPIO_ALT_FN_1_IN) #define GPIO27_SEXTCLK_MD (27 | GPIO_ALT_FN_1_IN) #define GPIO28_BITCLK_AC97_MD (28 | GPIO_ALT_FN_1_IN) #define GPIO28_BITCLK_I2S_MD (28 | GPIO_ALT_FN_2_IN) #define GPIO29_SDATA_IN_AC97_MD (29 | GPIO_ALT_FN_1_IN) #define GPIO29_SDATA_IN_I2S_MD (29 | GPIO_ALT_FN_2_IN) #define GPIO30_SDATA_OUT_AC97_MD (30 | GPIO_ALT_FN_2_OUT) #define GPIO30_SDATA_OUT_I2S_MD (30 | GPIO_ALT_FN_1_OUT) #define GPIO31_SYNC_AC97_MD (31 | GPIO_ALT_FN_2_OUT) #define GPIO31_SYNC_I2S_MD (31 | GPIO_ALT_FN_1_OUT) #define GPIO32_SDATA_IN1_AC97_MD (32 | GPIO_ALT_FN_1_IN) #define GPIO33_nCS_5_MD (33 | GPIO_ALT_FN_2_OUT) #define GPIO34_FFRXD_MD (34 | GPIO_ALT_FN_1_IN) #define GPIO34_MMCCS0_MD (34 | GPIO_ALT_FN_2_OUT) #define GPIO35_FFCTS_MD (35 | GPIO_ALT_FN_1_IN) #define GPIO36_FFDCD_MD (36 | GPIO_ALT_FN_1_IN) #define GPIO37_FFDSR_MD (37 | GPIO_ALT_FN_1_IN) #define GPIO38_FFRI_MD (38 | GPIO_ALT_FN_1_IN) #define GPIO39_MMCCS1_MD (39 | GPIO_ALT_FN_1_OUT) #define GPIO39_FFTXD_MD (39 | GPIO_ALT_FN_2_OUT) #define GPIO40_FFDTR_MD (40 | GPIO_ALT_FN_2_OUT) #define GPIO41_FFRTS_MD (41 | GPIO_ALT_FN_2_OUT) #define GPIO42_BTRXD_MD (42 | GPIO_ALT_FN_1_IN) #define GPIO43_BTTXD_MD (43 | GPIO_ALT_FN_2_OUT) #define GPIO44_BTCTS_MD (44 | GPIO_ALT_FN_1_IN) #define GPIO45_BTRTS_MD (45 | GPIO_ALT_FN_2_OUT) #define GPIO46_ICPRXD_MD (46 | GPIO_ALT_FN_1_IN) #define GPIO46_STRXD_MD (46 | GPIO_ALT_FN_2_IN) #define GPIO47_ICPTXD_MD (47 | GPIO_ALT_FN_2_OUT) #define GPIO47_STTXD_MD (47 | GPIO_ALT_FN_1_OUT) #define GPIO48_nPOE_MD (48 | GPIO_ALT_FN_2_OUT) #define GPIO49_nPWE_MD (49 | GPIO_ALT_FN_2_OUT) #define GPIO50_nPIOR_MD (50 | GPIO_ALT_FN_2_OUT) #define GPIO51_nPIOW_MD (51 | GPIO_ALT_FN_2_OUT) #define GPIO52_nPCE_1_MD (52 | GPIO_ALT_FN_2_OUT) #define GPIO53_nPCE_2_MD (53 | GPIO_ALT_FN_2_OUT) #define GPIO53_MMCCLK_MD (53 | GPIO_ALT_FN_1_OUT) #define GPIO54_MMCCLK_MD (54 | GPIO_ALT_FN_1_OUT) #define GPIO54_pSKTSEL_MD (54 | GPIO_ALT_FN_2_OUT) #define GPIO55_nPREG_MD (55 | GPIO_ALT_FN_2_OUT) #define GPIO56_nPWAIT_MD (56 | GPIO_ALT_FN_1_IN) #define GPIO57_nIOIS16_MD (57 | GPIO_ALT_FN_1_IN) #define GPIO58_LDD_0_MD (58 | GPIO_ALT_FN_2_OUT) #define GPIO59_LDD_1_MD (59 | GPIO_ALT_FN_2_OUT) #define GPIO60_LDD_2_MD (60 | GPIO_ALT_FN_2_OUT) #define GPIO61_LDD_3_MD (61 | GPIO_ALT_FN_2_OUT) #define GPIO62_LDD_4_MD (62 | GPIO_ALT_FN_2_OUT) #define GPIO63_LDD_5_MD (63 | GPIO_ALT_FN_2_OUT) #define GPIO64_LDD_6_MD (64 | GPIO_ALT_FN_2_OUT) #define GPIO65_LDD_7_MD (65 | GPIO_ALT_FN_2_OUT) #define GPIO66_LDD_8_MD (66 | GPIO_ALT_FN_2_OUT) #define GPIO66_MBREQ_MD (66 | GPIO_ALT_FN_1_IN) #define GPIO67_LDD_9_MD (67 | GPIO_ALT_FN_2_OUT) #define GPIO67_MMCCS0_MD (67 | GPIO_ALT_FN_1_OUT) #define GPIO68_LDD_10_MD (68 | GPIO_ALT_FN_2_OUT) #define GPIO68_MMCCS1_MD (68 | GPIO_ALT_FN_1_OUT) #define GPIO69_LDD_11_MD (69 | GPIO_ALT_FN_2_OUT) #define GPIO69_MMCCLK_MD (69 | GPIO_ALT_FN_1_OUT) #define GPIO70_LDD_12_MD (70 | GPIO_ALT_FN_2_OUT) #define GPIO70_RTCCLK_MD (70 | GPIO_ALT_FN_1_OUT) #define GPIO71_LDD_13_MD (71 | GPIO_ALT_FN_2_OUT) #define GPIO71_3_6MHz_MD (71 | GPIO_ALT_FN_1_OUT) #define GPIO72_LDD_14_MD (72 | GPIO_ALT_FN_2_OUT) #define GPIO72_32kHz_MD (72 | GPIO_ALT_FN_1_OUT) #define GPIO73_LDD_15_MD (73 | GPIO_ALT_FN_2_OUT) #define GPIO73_MBGNT_MD (73 | GPIO_ALT_FN_1_OUT) #define GPIO74_LCD_FCLK_MD (74 | GPIO_ALT_FN_2_OUT) #define GPIO75_LCD_LCLK_MD (75 | GPIO_ALT_FN_2_OUT) #define GPIO76_LCD_PCLK_MD (76 | GPIO_ALT_FN_2_OUT) #define GPIO77_LCD_ACBIAS_MD (77 | GPIO_ALT_FN_2_OUT) #define GPIO78_nCS_2_MD (78 | GPIO_ALT_FN_2_OUT) #define GPIO79_nCS_3_MD (79 | GPIO_ALT_FN_2_OUT) #define GPIO80_nCS_4_MD (80 | GPIO_ALT_FN_2_OUT) #define GPIO117_SCL (117 | GPIO_ALT_FN_1_OUT) #define GPIO118_SDA (118 | GPIO_ALT_FN_1_OUT) /* * Power Manager */ #ifdef CONFIG_CPU_MONAHANS #define ASCR 0x40F40000 /* Application Subsystem Power Status/Control Register */ #define ARSR 0x40F40004 /* Application Subsystem Reset Status Register */ #define AD3ER 0x40F40008 /* Application Subsystem D3 state Wakeup Enable Register */ #define AD3SR 0x40F4000C /* Application Subsystem D3 state Wakeup Status Register */ #define AD2D0ER 0x40F40010 /* Application Subsystem D2 to D0 state Wakeup Enable Register */ #define AD2D0SR 0x40F40014 /* Application Subsystem D2 to D0 state Wakeup Status Register */ #define AD2D1ER 0x40F40018 /* Application Subsystem D2 to D1 state Wakeup Enable Register */ #define AD2D1SR 0x40F4001C /* Application Subsystem D2 to D1 state Wakeup Status Register */ #define AD1D0ER 0x40F40020 /* Application Subsystem D1 to D0 state Wakeup Enable Register */ #define AD1D0SR 0x40F40024 /* Application Subsystem D1 to D0 state Wakeup Status Register */ #define ASDCNT 0x40F40028 /* Application Subsystem SRAM Drowsy Count Register */ #define AD3R 0x40F40030 /* Application Subsystem D3 State Configuration Register */ #define AD2R 0x40F40034 /* Application Subsystem D2 State Configuration Register */ #define AD1R 0x40F40038 /* Application Subsystem D1 State Configuration Register */ #define PMCR 0x40F50000 /* Power Manager Control Register */ #define PSR 0x40F50004 /* Power Manager S2 Status Register */ #define PSPR 0x40F50008 /* Power Manager Scratch Pad Register */ #define PCFR 0x40F5000C /* Power Manager General Configuration Register */ #define PWER 0x40F50010 /* Power Manager Wake-up Enable Register */ #define PWSR 0x40F50014 /* Power Manager Wake-up Status Register */ #define PECR 0x40F50018 /* Power Manager EXT_WAKEUP[1:0] Control Register */ #define DCDCSR 0x40F50080 /* DC-DC Controller Status Register */ #define PVCR 0x40F50100 /* Power Manager Voltage Change Control Register */ #define PCMD(x) (0x40F50110 + x*4) #define PCMD0 (0x40F50110 + 0 * 4) #define PCMD1 (0x40F50110 + 1 * 4) #define PCMD2 (0x40F50110 + 2 * 4) #define PCMD3 (0x40F50110 + 3 * 4) #define PCMD4 (0x40F50110 + 4 * 4) #define PCMD5 (0x40F50110 + 5 * 4) #define PCMD6 (0x40F50110 + 6 * 4) #define PCMD7 (0x40F50110 + 7 * 4) #define PCMD8 (0x40F50110 + 8 * 4) #define PCMD9 (0x40F50110 + 9 * 4) #define PCMD10 (0x40F50110 + 10 * 4) #define PCMD11 (0x40F50110 + 11 * 4) #define PCMD12 (0x40F50110 + 12 * 4) #define PCMD13 (0x40F50110 + 13 * 4) #define PCMD14 (0x40F50110 + 14 * 4) #define PCMD15 (0x40F50110 + 15 * 4) #define PCMD16 (0x40F50110 + 16 * 4) #define PCMD17 (0x40F50110 + 17 * 4) #define PCMD18 (0x40F50110 + 18 * 4) #define PCMD19 (0x40F50110 + 19 * 4) #define PCMD20 (0x40F50110 + 20 * 4) #define PCMD21 (0x40F50110 + 21 * 4) #define PCMD22 (0x40F50110 + 22 * 4) #define PCMD23 (0x40F50110 + 23 * 4) #define PCMD24 (0x40F50110 + 24 * 4) #define PCMD25 (0x40F50110 + 25 * 4) #define PCMD26 (0x40F50110 + 26 * 4) #define PCMD27 (0x40F50110 + 27 * 4) #define PCMD28 (0x40F50110 + 28 * 4) #define PCMD29 (0x40F50110 + 29 * 4) #define PCMD30 (0x40F50110 + 30 * 4) #define PCMD31 (0x40F50110 + 31 * 4) #define PCMD_MBC (1<<12) #define PCMD_DCE (1<<11) #define PCMD_LC (1<<10) #define PCMD_SQC (3<<8) /* only 00 and 01 are valid */ #define PVCR_FVC (0x1 << 28) #define PVCR_VCSA (0x1<<14) #define PVCR_CommandDelay (0xf80) #define PVCR_ReadPointer 0x01f00000 #define PVCR_SlaveAddress (0x7f) #else /* ifdef CONFIG_CPU_MONAHANS */ #define PMCR 0x40F00000 /* Power Manager Control Register */ #define PSSR 0x40F00004 /* Power Manager Sleep Status Register */ #define PSPR 0x40F00008 /* Power Manager Scratch Pad Register */ #define PWER 0x40F0000C /* Power Manager Wake-up Enable Register */ #define PRER 0x40F00010 /* Power Manager GPIO Rising-Edge Detect Enable Register */ #define PFER 0x40F00014 /* Power Manager GPIO Falling-Edge Detect Enable Register */ #define PEDR 0x40F00018 /* Power Manager GPIO Edge Detect Status Register */ #define PCFR 0x40F0001C /* Power Manager General Configuration Register */ #define PGSR0 0x40F00020 /* Power Manager GPIO Sleep State Register for GP[31-0] */ #define PGSR1 0x40F00024 /* Power Manager GPIO Sleep State Register for GP[63-32] */ #define PGSR2 0x40F00028 /* Power Manager GPIO Sleep State Register for GP[84-64] */ #define PGSR3 0x40F0002C /* Power Manager GPIO Sleep State Register for GP[118-96] */ #define RCSR 0x40F00030 /* Reset Controller Status Register */ #define PSLR 0x40F00034 /* Power Manager Sleep Config Register */ #define PSTR 0x40F00038 /* Power Manager Standby Config Register */ #define PSNR 0x40F0003C /* Power Manager Sense Config Register */ #define PVCR 0x40F00040 /* Power Manager VoltageControl Register */ #define PKWR 0x40F00050 /* Power Manager KB Wake-up Enable Reg */ #define PKSR 0x40F00054 /* Power Manager KB Level-Detect Register */ #define PCMD(x) (0x40F00080 + x*4) #define PCMD0 (0x40F00080 + 0 * 4) #define PCMD1 (0x40F00080 + 1 * 4) #define PCMD2 (0x40F00080 + 2 * 4) #define PCMD3 (0x40F00080 + 3 * 4) #define PCMD4 (0x40F00080 + 4 * 4) #define PCMD5 (0x40F00080 + 5 * 4) #define PCMD6 (0x40F00080 + 6 * 4) #define PCMD7 (0x40F00080 + 7 * 4) #define PCMD8 (0x40F00080 + 8 * 4) #define PCMD9 (0x40F00080 + 9 * 4) #define PCMD10 (0x40F00080 + 10 * 4) #define PCMD11 (0x40F00080 + 11 * 4) #define PCMD12 (0x40F00080 + 12 * 4) #define PCMD13 (0x40F00080 + 13 * 4) #define PCMD14 (0x40F00080 + 14 * 4) #define PCMD15 (0x40F00080 + 15 * 4) #define PCMD16 (0x40F00080 + 16 * 4) #define PCMD17 (0x40F00080 + 17 * 4) #define PCMD18 (0x40F00080 + 18 * 4) #define PCMD19 (0x40F00080 + 19 * 4) #define PCMD20 (0x40F00080 + 20 * 4) #define PCMD21 (0x40F00080 + 21 * 4) #define PCMD22 (0x40F00080 + 22 * 4) #define PCMD23 (0x40F00080 + 23 * 4) #define PCMD24 (0x40F00080 + 24 * 4) #define PCMD25 (0x40F00080 + 25 * 4) #define PCMD26 (0x40F00080 + 26 * 4) #define PCMD27 (0x40F00080 + 27 * 4) #define PCMD28 (0x40F00080 + 28 * 4) #define PCMD29 (0x40F00080 + 29 * 4) #define PCMD30 (0x40F00080 + 30 * 4) #define PCMD31 (0x40F00080 + 31 * 4) #define PCMD_MBC (1<<12) #define PCMD_DCE (1<<11) #define PCMD_LC (1<<10) /* FIXME: PCMD_SQC need be checked. */ #define PCMD_SQC (3<<8) /* currently only bit 8 is changerable, */ /* bit 9 should be 0 all day. */ #define PVCR_VCSA (0x1<<14) #define PVCR_CommandDelay (0xf80) /* define MACRO for Power Manager General Configuration Register (PCFR) */ #define PCFR_FVC (0x1 << 10) #define PCFR_PI2C_EN (0x1 << 6) #define PSSR_OTGPH (1 << 6) /* OTG Peripheral control Hold */ #define PSSR_RDH (1 << 5) /* Read Disable Hold */ #define PSSR_PH (1 << 4) /* Peripheral Control Hold */ #define PSSR_VFS (1 << 2) /* VDD Fault Status */ #define PSSR_BFS (1 << 1) /* Battery Fault Status */ #define PSSR_SSS (1 << 0) /* Software Sleep Status */ #define PCFR_DS (1 << 3) /* Deep Sleep Mode */ #define PCFR_FS (1 << 2) /* Float Static Chip Selects */ #define PCFR_FP (1 << 1) /* Float PCMCIA controls */ #define PCFR_OPDE (1 << 0) /* 3.6864 MHz oscillator power-down enable */ #define RCSR_GPR (1 << 3) /* GPIO Reset */ #define RCSR_SMR (1 << 2) /* Sleep Mode */ #define RCSR_WDR (1 << 1) /* Watchdog Reset */ #define RCSR_HWR (1 << 0) /* Hardware Reset */ #endif /* CONFIG_CPU_MONAHANS */ /* * SSP Serial Port Registers */ #define SSCR0 0x41000000 /* SSP Control Register 0 */ #define SSCR1 0x41000004 /* SSP Control Register 1 */ #define SSSR 0x41000008 /* SSP Status Register */ #define SSITR 0x4100000C /* SSP Interrupt Test Register */ #define SSDR 0x41000010 /* (Write / Read) SSP Data Write Register/SSP Data Read Register */ /* * MultiMediaCard (MMC) controller */ #define MMC_STRPCL 0x41100000 /* Control to start and stop MMC clock */ #define MMC_STAT 0x41100004 /* MMC Status Register (read only) */ #define MMC_CLKRT 0x41100008 /* MMC clock rate */ #define MMC_SPI 0x4110000c /* SPI mode control bits */ #define MMC_CMDAT 0x41100010 /* Command/response/data sequence control */ #define MMC_RESTO 0x41100014 /* Expected response time out */ #define MMC_RDTO 0x41100018 /* Expected data read time out */ #define MMC_BLKLEN 0x4110001c /* Block length of data transaction */ #define MMC_NOB 0x41100020 /* Number of blocks, for block mode */ #define MMC_PRTBUF 0x41100024 /* Partial MMC_TXFIFO FIFO written */ #define MMC_I_MASK 0x41100028 /* Interrupt Mask */ #define MMC_I_REG 0x4110002c /* Interrupt Register (read only) */ #define MMC_CMD 0x41100030 /* Index of current command */ #define MMC_ARGH 0x41100034 /* MSW part of the current command argument */ #define MMC_ARGL 0x41100038 /* LSW part of the current command argument */ #define MMC_RES 0x4110003c /* Response FIFO (read only) */ #define MMC_RXFIFO 0x41100040 /* Receive FIFO (read only) */ #define MMC_TXFIFO 0x41100044 /* Transmit FIFO (write only) */ /* * LCD */ #define LCCR0 0x44000000 /* LCD Controller Control Register 0 */ #define LCCR1 0x44000004 /* LCD Controller Control Register 1 */ #define LCCR2 0x44000008 /* LCD Controller Control Register 2 */ #define LCCR3 0x4400000C /* LCD Controller Control Register 3 */ #define DFBR0 0x44000020 /* DMA Channel 0 Frame Branch Register */ #define DFBR1 0x44000024 /* DMA Channel 1 Frame Branch Register */ #define LCSR0 0x44000038 /* LCD Controller Status Register */ #define LCSR1 0x44000034 /* LCD Controller Status Register */ #define LIIDR 0x4400003C /* LCD Controller Interrupt ID Register */ #define TMEDRGBR 0x44000040 /* TMED RGB Seed Register */ #define TMEDCR 0x44000044 /* TMED Control Register */ #define FDADR0 0x44000200 /* DMA Channel 0 Frame Descriptor Address Register */ #define FSADR0 0x44000204 /* DMA Channel 0 Frame Source Address Register */ #define FIDR0 0x44000208 /* DMA Channel 0 Frame ID Register */ #define LDCMD0 0x4400020C /* DMA Channel 0 Command Register */ #define FDADR1 0x44000210 /* DMA Channel 1 Frame Descriptor Address Register */ #define FSADR1 0x44000214 /* DMA Channel 1 Frame Source Address Register */ #define FIDR1 0x44000218 /* DMA Channel 1 Frame ID Register */ #define LDCMD1 0x4400021C /* DMA Channel 1 Command Register */ #define LCCR0_ENB (1 << 0) /* LCD Controller enable */ #define LCCR0_CMS (1 << 1) /* Color = 0, Monochrome = 1 */ #define LCCR0_SDS (1 << 2) /* Single Panel = 0, Dual Panel = 1 */ #define LCCR0_LDM (1 << 3) /* LCD Disable Done Mask */ #define LCCR0_SFM (1 << 4) /* Start of frame mask */ #define LCCR0_IUM (1 << 5) /* Input FIFO underrun mask */ #define LCCR0_EFM (1 << 6) /* End of Frame mask */ #define LCCR0_PAS (1 << 7) /* Passive = 0, Active = 1 */ #define LCCR0_BLE (1 << 8) /* Little Endian = 0, Big Endian = 1 */ #define LCCR0_DPD (1 << 9) /* Double Pixel mode, 4 pixel value = 0, 8 pixle values = 1 */ #define LCCR0_DIS (1 << 10) /* LCD Disable */ #define LCCR0_QDM (1 << 11) /* LCD Quick Disable mask */ #define LCCR0_PDD (0xff << 12) /* Palette DMA request delay */ #define LCCR0_PDD_S 12 #define LCCR0_BM (1 << 20) /* Branch mask */ #define LCCR0_OUM (1 << 21) /* Output FIFO underrun mask */ #if defined(CONFIG_CPU_PXA27X) #define LCCR0_LCDT (1 << 22) /* LCD Panel Type */ #define LCCR0_RDSTM (1 << 23) /* Read Status Interrupt Mask */ #define LCCR0_CMDIM (1 << 24) /* Command Interrupt Mask */ #endif #define LCCR1_PPL Fld (10, 0) /* Pixels Per Line - 1 */ #define LCCR1_DisWdth(Pixel) /* Display Width [1..800 pix.] */ \ (((Pixel) - 1) << FShft (LCCR1_PPL)) #define LCCR1_HSW Fld (6, 10) /* Horizontal Synchronization */ #define LCCR1_HorSnchWdth(Tpix) /* Horizontal Synchronization */ \ /* pulse Width [1..64 Tpix] */ \ (((Tpix) - 1) << FShft (LCCR1_HSW)) #define LCCR1_ELW Fld (8, 16) /* End-of-Line pixel clock Wait */ /* count - 1 [Tpix] */ #define LCCR1_EndLnDel(Tpix) /* End-of-Line Delay */ \ /* [1..256 Tpix] */ \ (((Tpix) - 1) << FShft (LCCR1_ELW)) #define LCCR1_BLW Fld (8, 24) /* Beginning-of-Line pixel clock */ /* Wait count - 1 [Tpix] */ #define LCCR1_BegLnDel(Tpix) /* Beginning-of-Line Delay */ \ /* [1..256 Tpix] */ \ (((Tpix) - 1) << FShft (LCCR1_BLW)) #define LCCR2_LPP Fld (10, 0) /* Line Per Panel - 1 */ #define LCCR2_DisHght(Line) /* Display Height [1..1024 lines] */ \ (((Line) - 1) << FShft (LCCR2_LPP)) #define LCCR2_VSW Fld (6, 10) /* Vertical Synchronization pulse */ /* Width - 1 [Tln] (L_FCLK) */ #define LCCR2_VrtSnchWdth(Tln) /* Vertical Synchronization pulse */ \ /* Width [1..64 Tln] */ \ (((Tln) - 1) << FShft (LCCR2_VSW)) #define LCCR2_EFW Fld (8, 16) /* End-of-Frame line clock Wait */ /* count [Tln] */ #define LCCR2_EndFrmDel(Tln) /* End-of-Frame Delay */ \ /* [0..255 Tln] */ \ ((Tln) << FShft (LCCR2_EFW)) #define LCCR2_BFW Fld (8, 24) /* Beginning-of-Frame line clock */ /* Wait count [Tln] */ #define LCCR2_BegFrmDel(Tln) /* Beginning-of-Frame Delay */ \ /* [0..255 Tln] */ \ ((Tln) << FShft (LCCR2_BFW)) #define LCCR3_API (0xf << 16) /* AC Bias pin trasitions per interrupt */ #define LCCR3_API_S 16 #define LCCR3_VSP (1 << 20) /* vertical sync polarity */ #define LCCR3_HSP (1 << 21) /* horizontal sync polarity */ #define LCCR3_PCP (1 << 22) /* pixel clock polarity */ #define LCCR3_OEP (1 << 23) /* output enable polarity */ #define LCCR3_DPC (1 << 27) /* double pixel clock mode */ #define LCCR3_PDFOR_0 (0 << 30) #define LCCR3_PDFOR_1 (1 << 30) #define LCCR3_PDFOR_2 (2 << 30) #define LCCR3_PDFOR_3 (3 << 30) #define LCCR3_PCD Fld (8, 0) /* Pixel Clock Divisor */ #define LCCR3_PixClkDiv(Div) /* Pixel Clock Divisor */ \ (((Div) << FShft (LCCR3_PCD))) #define LCCR3_BPP Fld (3, 24) /* Bit Per Pixel */ #define LCCR3_Bpp(Bpp) /* Bit Per Pixel */ \ ((((Bpp&0x7) << FShft (LCCR3_BPP)))|(((Bpp&0x8)<<26))) #define LCCR3_ACB Fld (8, 8) /* AC Bias */ #define LCCR3_Acb(Acb) /* BAC Bias */ \ (((Acb) << FShft (LCCR3_ACB))) #define LCCR3_HorSnchH (LCCR3_HSP*0) /* Horizontal Synchronization */ /* pulse active High */ #define LCCR3_HorSnchL (LCCR3_HSP*1) /* Horizontal Synchronization */ #define LCCR3_VrtSnchH (LCCR3_VSP*0) /* Vertical Synchronization pulse */ /* active High */ #define LCCR3_VrtSnchL (LCCR3_VSP*1) /* Vertical Synchronization pulse */ /* active Low */ #define LCSR0_LDD (1 << 0) /* LCD Disable Done */ #define LCSR0_SOF (1 << 1) /* Start of frame */ #define LCSR0_BER (1 << 2) /* Bus error */ #define LCSR0_ABC (1 << 3) /* AC Bias count */ #define LCSR0_IUL (1 << 4) /* input FIFO underrun Lower panel */ #define LCSR0_IUU (1 << 5) /* input FIFO underrun Upper panel */ #define LCSR0_OU (1 << 6) /* output FIFO underrun */ #define LCSR0_QD (1 << 7) /* quick disable */ #define LCSR0_EOF0 (1 << 8) /* end of frame */ #define LCSR0_BS (1 << 9) /* branch status */ #define LCSR0_SINT (1 << 10) /* subsequent interrupt */ #define LCSR1_SOF1 (1 << 0) #define LCSR1_SOF2 (1 << 1) #define LCSR1_SOF3 (1 << 2) #define LCSR1_SOF4 (1 << 3) #define LCSR1_SOF5 (1 << 4) #define LCSR1_SOF6 (1 << 5) #define LCSR1_EOF1 (1 << 8) #define LCSR1_EOF2 (1 << 9) #define LCSR1_EOF3 (1 << 10) #define LCSR1_EOF4 (1 << 11) #define LCSR1_EOF5 (1 << 12) #define LCSR1_EOF6 (1 << 13) #define LCSR1_BS1 (1 << 16) #define LCSR1_BS2 (1 << 17) #define LCSR1_BS3 (1 << 18) #define LCSR1_BS4 (1 << 19) #define LCSR1_BS5 (1 << 20) #define LCSR1_BS6 (1 << 21) #define LCSR1_IU2 (1 << 25) #define LCSR1_IU3 (1 << 26) #define LCSR1_IU4 (1 << 27) #define LCSR1_IU5 (1 << 28) #define LCSR1_IU6 (1 << 29) #define LDCMD_PAL (1 << 26) /* instructs DMA to load palette buffer */ #if defined(CONFIG_CPU_PXA27X) #define LDCMD_SOFINT (1 << 22) #define LDCMD_EOFINT (1 << 21) #endif /* * Memory controller */ #ifdef CONFIG_CPU_MONAHANS /* PXA3xx */ /* Static Memory Controller Registers */ #define MSC0 0x4A000008 /* Static Memory Control Register 0 */ #define MSC1 0x4A00000C /* Static Memory Control Register 1 */ #define MECR 0x4A000014 /* Expansion Memory (PCMCIA/Compact Flash) Bus Configuration */ #define SXCNFG 0x4A00001C /* Synchronous Static Memory Control Register */ #define MCMEM0 0x4A000028 /* Card interface Common Memory Space Socket 0 Timing */ #define MCATT0 0x4A000030 /* Card interface Attribute Space Socket 0 Timing Configuration */ #define MCIO0 0x4A000038 /* Card interface I/O Space Socket 0 Timing Configuration */ #define MEMCLKCFG 0x4A000068 /* SCLK speed configuration */ #define CSADRCFG0 0x4A000080 /* Address Configuration for chip select 0 */ #define CSADRCFG1 0x4A000084 /* Address Configuration for chip select 1 */ #define CSADRCFG2 0x4A000088 /* Address Configuration for chip select 2 */ #define CSADRCFG3 0x4A00008C /* Address Configuration for chip select 3 */ #define CSADRCFG_P 0x4A000090 /* Address Configuration for pcmcia card interface */ #define CSMSADRCFG 0x4A0000A0 /* Master Address Configuration Register */ #define CLK_RET_DEL 0x4A0000B0 /* Delay line and mux selects for return data latching for sync. flash */ #define ADV_RET_DEL 0x4A0000B4 /* Delay line and mux selects for return data latching for sync. flash */ /* Dynamic Memory Controller Registers */ #define MDCNFG 0x48100000 /* SDRAM Configuration Register 0 */ #define MDREFR 0x48100004 /* SDRAM Refresh Control Register */ #define FLYCNFG 0x48100020 /* Fly-by DMA DVAL[1:0] polarities */ #define MDMRS 0x48100040 /* MRS value to be written to SDRAM */ #define DDR_SCAL 0x48100050 /* Software Delay Line Calibration/Configuration for external DDR memory. */ #define DDR_HCAL 0x48100060 /* Hardware Delay Line Calibration/Configuration for external DDR memory. */ #define DDR_WCAL 0x48100068 /* DDR Write Strobe Calibration Register */ #define DMCIER 0x48100070 /* Dynamic MC Interrupt Enable Register. */ #define DMCISR 0x48100078 /* Dynamic MC Interrupt Status Register. */ #define DDR_DLS 0x48100080 /* DDR Delay Line Value Status register for external DDR memory. */ #define EMPI 0x48100090 /* EMPI Control Register */ #define RCOMP 0x48100100 #define PAD_MA 0x48100110 #define PAD_MDMSB 0x48100114 #define PAD_MDLSB 0x48100118 #define PAD_DMEM 0x4810011c #define PAD_SDCLK 0x48100120 #define PAD_SDCS 0x48100124 #define PAD_SMEM 0x48100128 #define PAD_SCLK 0x4810012C #define TAI 0x48100F00 /* TAI Tavor Address Isolation Register */ /* Some frequently used bits */ #define MDCNFG_DMAP 0x80000000 /* SDRAM 1GB Memory Map Enable */ #define MDCNFG_DMCEN 0x40000000 /* Enable Dynamic Memory Controller */ #define MDCNFG_HWFREQ 0x20000000 /* Hardware Frequency Change Calibration */ #define MDCNFG_DTYPE 0x400 /* SDRAM Type: 1=DDR SDRAM */ #define MDCNFG_DTC_0 0x0 /* Timing Category of SDRAM */ #define MDCNFG_DTC_1 0x100 #define MDCNFG_DTC_2 0x200 #define MDCNFG_DTC_3 0x300 #define MDCNFG_DRAC_12 0x0 /* Number of Row Access Bits */ #define MDCNFG_DRAC_13 0x20 #define MDCNFG_DRAC_14 0x40 #define MDCNFG_DCAC_9 0x0 /* Number of Column Acess Bits */ #define MDCNFG_DCAC_10 0x08 #define MDCNFG_DCAC_11 0x10 #define MDCNFG_DBW_16 0x4 /* SDRAM Data Bus width 16bit */ #define MDCNFG_DCSE1 0x2 /* SDRAM CS 1 Enable */ #define MDCNFG_DCSE0 0x1 /* SDRAM CS 0 Enable */ /* Data Flash Controller Registers */ #define NDCR 0x43100000 /* Data Flash Control register */ #define NDTR0CS0 0x43100004 /* Data Controller Timing Parameter 0 Register for ND_nCS0 */ /* #define NDTR0CS1 0x43100008 /\* Data Controller Timing Parameter 0 Register for ND_nCS1 *\/ */ #define NDTR1CS0 0x4310000C /* Data Controller Timing Parameter 1 Register for ND_nCS0 */ /* #define NDTR1CS1 0x43100010 /\* Data Controller Timing Parameter 1 Register for ND_nCS1 *\/ */ #define NDSR 0x43100014 /* Data Controller Status Register */ #define NDPCR 0x43100018 /* Data Controller Page Count Register */ #define NDBDR0 0x4310001C /* Data Controller Bad Block Register 0 */ #define NDBDR1 0x43100020 /* Data Controller Bad Block Register 1 */ #define NDDB 0x43100040 /* Data Controller Data Buffer */ #define NDCB0 0x43100048 /* Data Controller Command Buffer0 */ #define NDCB1 0x4310004C /* Data Controller Command Buffer1 */ #define NDCB2 0x43100050 /* Data Controller Command Buffer2 */ #define NDCR_SPARE_EN (0x1<<31) #define NDCR_ECC_EN (0x1<<30) #define NDCR_DMA_EN (0x1<<29) #define NDCR_ND_RUN (0x1<<28) #define NDCR_DWIDTH_C (0x1<<27) #define NDCR_DWIDTH_M (0x1<<26) #define NDCR_PAGE_SZ (0x3<<24) #define NDCR_NCSX (0x1<<23) #define NDCR_ND_STOP (0x1<<22) /* reserved: * #define NDCR_ND_MODE (0x3<<21) * #define NDCR_NAND_MODE 0x0 */ #define NDCR_CLR_PG_CNT (0x1<<20) #define NDCR_CLR_ECC (0x1<<19) #define NDCR_RD_ID_CNT (0x7<<16) #define NDCR_RA_START (0x1<<15) #define NDCR_PG_PER_BLK (0x1<<14) #define NDCR_ND_ARB_EN (0x1<<12) #define NDCR_RDYM (0x1<<11) #define NDCR_CS0_PAGEDM (0x1<<10) #define NDCR_CS1_PAGEDM (0x1<<9) #define NDCR_CS0_CMDDM (0x1<<8) #define NDCR_CS1_CMDDM (0x1<<7) #define NDCR_CS0_BBDM (0x1<<6) #define NDCR_CS1_BBDM (0x1<<5) #define NDCR_DBERRM (0x1<<4) #define NDCR_SBERRM (0x1<<3) #define NDCR_WRDREQM (0x1<<2) #define NDCR_RDDREQM (0x1<<1) #define NDCR_WRCMDREQM (0x1) #define NDSR_RDY (0x1<<11) #define NDSR_CS0_PAGED (0x1<<10) #define NDSR_CS1_PAGED (0x1<<9) #define NDSR_CS0_CMDD (0x1<<8) #define NDSR_CS1_CMDD (0x1<<7) #define NDSR_CS0_BBD (0x1<<6) #define NDSR_CS1_BBD (0x1<<5) #define NDSR_DBERR (0x1<<4) #define NDSR_SBERR (0x1<<3) #define NDSR_WRDREQ (0x1<<2) #define NDSR_RDDREQ (0x1<<1) #define NDSR_WRCMDREQ (0x1) #define NDCB0_AUTO_RS (0x1<<25) #define NDCB0_CSEL (0x1<<24) #define NDCB0_CMD_TYPE (0x7<<21) #define NDCB0_NC (0x1<<20) #define NDCB0_DBC (0x1<<19) #define NDCB0_ADDR_CYC (0x7<<16) #define NDCB0_CMD2 (0xff<<8) #define NDCB0_CMD1 (0xff) #define MCMEM(s) MCMEM0 #define MCATT(s) MCATT0 #define MCIO(s) MCIO0 #define MECR_CIT (1 << 1)/* Card Is There: 0 -> no card, 1 -> card inserted */ /* Maximum values for NAND Interface Timing Registers in DFC clock * periods */ #define DFC_MAX_tCH 7 #define DFC_MAX_tCS 7 #define DFC_MAX_tWH 7 #define DFC_MAX_tWP 7 #define DFC_MAX_tRH 7 #define DFC_MAX_tRP 15 #define DFC_MAX_tR 65535 #define DFC_MAX_tWHR 15 #define DFC_MAX_tAR 15 #define DFC_CLOCK 104 /* DFC Clock is 104 MHz */ #define DFC_CLK_PER_US DFC_CLOCK/1000 /* clock period in ns */ #else /* CONFIG_CPU_MONAHANS */ /* PXA2xx */ #define MEMC_BASE 0x48000000 /* Base of Memory Controller */ #define MDCNFG_OFFSET 0x0 #define MDREFR_OFFSET 0x4 #define MSC0_OFFSET 0x8 #define MSC1_OFFSET 0xC #define MSC2_OFFSET 0x10 #define MECR_OFFSET 0x14 #define SXLCR_OFFSET 0x18 #define SXCNFG_OFFSET 0x1C #define FLYCNFG_OFFSET 0x20 #define SXMRS_OFFSET 0x24 #define MCMEM0_OFFSET 0x28 #define MCMEM1_OFFSET 0x2C #define MCATT0_OFFSET 0x30 #define MCATT1_OFFSET 0x34 #define MCIO0_OFFSET 0x38 #define MCIO1_OFFSET 0x3C #define MDMRS_OFFSET 0x40 #define MDCNFG 0x48000000 /* SDRAM Configuration Register 0 */ #define MDCNFG_DE0 0x00000001 #define MDCNFG_DE1 0x00000002 #define MDCNFG_DE2 0x00010000 #define MDCNFG_DE3 0x00020000 #define MDCNFG_DWID0 0x00000004 #define MDREFR 0x48000004 /* SDRAM Refresh Control Register */ #define MSC0 0x48000008 /* Static Memory Control Register 0 */ #define MSC1 0x4800000C /* Static Memory Control Register 1 */ #define MSC2 0x48000010 /* Static Memory Control Register 2 */ #define MECR 0x48000014 /* Expansion Memory (PCMCIA/Compact Flash) Bus Configuration */ #define SXLCR 0x48000018 /* LCR value to be written to SDRAM-Timing Synchronous Flash */ #define SXCNFG 0x4800001C /* Synchronous Static Memory Control Register */ #define FLYCNFG 0x48000020 #define SXMRS 0x48000024 /* MRS value to be written to Synchronous Flash or SMROM */ #define MCMEM0 0x48000028 /* Card interface Common Memory Space Socket 0 Timing */ #define MCMEM1 0x4800002C /* Card interface Common Memory Space Socket 1 Timing */ #define MCATT0 0x48000030 /* Card interface Attribute Space Socket 0 Timing Configuration */ #define MCATT1 0x48000034 /* Card interface Attribute Space Socket 1 Timing Configuration */ #define MCIO0 0x48000038 /* Card interface I/O Space Socket 0 Timing Configuration */ #define MCIO1 0x4800003C /* Card interface I/O Space Socket 1 Timing Configuration */ #define MDMRS 0x48000040 /* MRS value to be written to SDRAM */ #define BOOT_DEF 0x48000044 /* Read-Only Boot-Time Register. Contains BOOT_SEL and PKG_SEL */ #define MDREFR_ALTREFA (1 << 31) /* Exiting Alternate Bus Master Mode Refresh Control */ #define MDREFR_ALTREFB (1 << 30) /* Entering Alternate Bus Master Mode Refresh Control */ #define MDREFR_K0DB4 (1 << 29) /* SDCLK0 Divide by 4 Control/Status */ #define MDREFR_K2FREE (1 << 25) /* SDRAM Free-Running Control */ #define MDREFR_K1FREE (1 << 24) /* SDRAM Free-Running Control */ #define MDREFR_K0FREE (1 << 23) /* SDRAM Free-Running Control */ #define MDREFR_SLFRSH (1 << 22) /* SDRAM Self-Refresh Control/Status */ #define MDREFR_APD (1 << 20) /* SDRAM/SSRAM Auto-Power-Down Enable */ #define MDREFR_K2DB2 (1 << 19) /* SDCLK2 Divide by 2 Control/Status */ #define MDREFR_K2RUN (1 << 18) /* SDCLK2 Run Control/Status */ #define MDREFR_K1DB2 (1 << 17) /* SDCLK1 Divide by 2 Control/Status */ #define MDREFR_K1RUN (1 << 16) /* SDCLK1 Run Control/Status */ #define MDREFR_E1PIN (1 << 15) /* SDCKE1 Level Control/Status */ #define MDREFR_K0DB2 (1 << 14) /* SDCLK0 Divide by 2 Control/Status */ #define MDREFR_K0RUN (1 << 13) /* SDCLK0 Run Control/Status */ #define MDREFR_E0PIN (1 << 12) /* SDCKE0 Level Control/Status */ #if defined(CONFIG_CPU_PXA27X) #define ARB_CNTRL 0x48000048 /* Arbiter Control Register */ #define ARB_DMA_SLV_PARK (1<<31) /* Be parked with DMA slave when idle */ #define ARB_CI_PARK (1<<30) /* Be parked with Camera Interface when idle */ #define ARB_EX_MEM_PARK (1<<29) /* Be parked with external MEMC when idle */ #define ARB_INT_MEM_PARK (1<<28) /* Be parked with internal MEMC when idle */ #define ARB_USB_PARK (1<<27) /* Be parked with USB when idle */ #define ARB_LCD_PARK (1<<26) /* Be parked with LCD when idle */ #define ARB_DMA_PARK (1<<25) /* Be parked with DMA when idle */ #define ARB_CORE_PARK (1<<24) /* Be parked with core when idle */ #define ARB_LOCK_FLAG (1<<23) /* Only Locking masters gain access to the bus */ #endif /* CONFIG_CPU_PXA27X */ /* LCD registers */ #define LCCR4 0x44000010 /* LCD Controller Control Register 4 */ #define LCCR5 0x44000014 /* LCD Controller Control Register 5 */ #define FBR0 0x44000020 /* DMA Channel 0 Frame Branch Register */ #define FBR1 0x44000024 /* DMA Channel 1 Frame Branch Register */ #define FBR2 0x44000028 /* DMA Channel 2 Frame Branch Register */ #define FBR3 0x4400002C /* DMA Channel 3 Frame Branch Register */ #define FBR4 0x44000030 /* DMA Channel 4 Frame Branch Register */ #define FDADR2 0x44000220 /* DMA Channel 2 Frame Descriptor Address Register */ #define FSADR2 0x44000224 /* DMA Channel 2 Frame Source Address Register */ #define FIDR2 0x44000228 /* DMA Channel 2 Frame ID Register */ #define LDCMD2 0x4400022C /* DMA Channel 2 Command Register */ #define FDADR3 0x44000230 /* DMA Channel 3 Frame Descriptor Address Register */ #define FSADR3 0x44000234 /* DMA Channel 3 Frame Source Address Register */ #define FIDR3 0x44000238 /* DMA Channel 3 Frame ID Register */ #define LDCMD3 0x4400023C /* DMA Channel 3 Command Register */ #define FDADR4 0x44000240 /* DMA Channel 4 Frame Descriptor Address Register */ #define FSADR4 0x44000244 /* DMA Channel 4 Frame Source Address Register */ #define FIDR4 0x44000248 /* DMA Channel 4 Frame ID Register */ #define LDCMD4 0x4400024C /* DMA Channel 4 Command Register */ #define FDADR5 0x44000250 /* DMA Channel 5 Frame Descriptor Address Register */ #define FSADR5 0x44000254 /* DMA Channel 5 Frame Source Address Register */ #define FIDR5 0x44000258 /* DMA Channel 5 Frame ID Register */ #define LDCMD5 0x4400025C /* DMA Channel 5 Command Register */ #define OVL1C1 0x44000050 /* Overlay 1 Control Register 1 */ #define OVL1C2 0x44000060 /* Overlay 1 Control Register 2 */ #define OVL2C1 0x44000070 /* Overlay 2 Control Register 1 */ #define OVL2C2 0x44000080 /* Overlay 2 Control Register 2 */ #define CCR 0x44000090 /* Cursor Control Register */ #define FBR5 0x44000110 /* DMA Channel 5 Frame Branch Register */ #define FBR6 0x44000114 /* DMA Channel 6 Frame Branch Register */ #define LCCR0_LDDALT (1<<26) /* LDD Alternate mapping bit when base pixel is RGBT16 */ #define LCCR0_OUC (1<<25) /* Overlay Underlay Control Bit */ #define LCCR5_SOFM1 (1<<0) /* Start Of Frame Mask for Overlay 1 (channel 1) */ #define LCCR5_SOFM2 (1<<1) /* Start Of Frame Mask for Overlay 2 (channel 2) */ #define LCCR5_SOFM3 (1<<2) /* Start Of Frame Mask for Overlay 2 (channel 3) */ #define LCCR5_SOFM4 (1<<3) /* Start Of Frame Mask for Overlay 2 (channel 4) */ #define LCCR5_SOFM5 (1<<4) /* Start Of Frame Mask for cursor (channel 5) */ #define LCCR5_SOFM6 (1<<5) /* Start Of Frame Mask for command data (channel 6) */ #define LCCR5_EOFM1 (1<<8) /* End Of Frame Mask for Overlay 1 (channel 1) */ #define LCCR5_EOFM2 (1<<9) /* End Of Frame Mask for Overlay 2 (channel 2) */ #define LCCR5_EOFM3 (1<<10) /* End Of Frame Mask for Overlay 2 (channel 3) */ #define LCCR5_EOFM4 (1<<11) /* End Of Frame Mask for Overlay 2 (channel 4) */ #define LCCR5_EOFM5 (1<<12) /* End Of Frame Mask for cursor (channel 5) */ #define LCCR5_EOFM6 (1<<13) /* End Of Frame Mask for command data (channel 6) */ #define LCCR5_BSM1 (1<<16) /* Branch mask for Overlay 1 (channel 1) */ #define LCCR5_BSM2 (1<<17) /* Branch mask for Overlay 2 (channel 2) */ #define LCCR5_BSM3 (1<<18) /* Branch mask for Overlay 2 (channel 3) */ #define LCCR5_BSM4 (1<<19) /* Branch mask for Overlay 2 (channel 4) */ #define LCCR5_BSM5 (1<<20) /* Branch mask for cursor (channel 5) */ #define LCCR5_BSM6 (1<<21) /* Branch mask for data command (channel 6) */ #define LCCR5_IUM1 (1<<24) /* Input FIFO Underrun Mask for Overlay 1 */ #define LCCR5_IUM2 (1<<25) /* Input FIFO Underrun Mask for Overlay 2 */ #define LCCR5_IUM3 (1<<26) /* Input FIFO Underrun Mask for Overlay 2 */ #define LCCR5_IUM4 (1<<27) /* Input FIFO Underrun Mask for Overlay 2 */ #define LCCR5_IUM5 (1<<28) /* Input FIFO Underrun Mask for cursor */ #define LCCR5_IUM6 (1<<29) /* Input FIFO Underrun Mask for data command */ #define OVL1C1_O1EN (1<<31) /* Enable bit for Overlay 1 */ #define OVL2C1_O2EN (1<<31) /* Enable bit for Overlay 2 */ #define CCR_CEN (1<<31) /* Enable bit for Cursor */ /* Keypad controller */ #define KPC 0x41500000 /* Keypad Interface Control register */ #define KPDK 0x41500008 /* Keypad Interface Direct Key register */ #define KPREC 0x41500010 /* Keypad Intefcace Rotary Encoder register */ #define KPMK 0x41500018 /* Keypad Intefcace Matrix Key register */ #define KPAS 0x41500020 /* Keypad Interface Automatic Scan register */ #define KPASMKP0 0x41500028 /* Keypad Interface Automatic Scan Multiple Key Presser register 0 */ #define KPASMKP1 0x41500030 /* Keypad Interface Automatic Scan Multiple Key Presser register 1 */ #define KPASMKP2 0x41500038 /* Keypad Interface Automatic Scan Multiple Key Presser register 2 */ #define KPASMKP3 0x41500040 /* Keypad Interface Automatic Scan Multiple Key Presser register 3 */ #define KPKDI 0x41500048 /* Keypad Interface Key Debounce Interval register */ #define KPC_AS (0x1 << 30) /* Automatic Scan bit */ #define KPC_ASACT (0x1 << 29) /* Automatic Scan on Activity */ #define KPC_MI (0x1 << 22) /* Matrix interrupt bit */ #define KPC_IMKP (0x1 << 21) /* Ignore Multiple Key Press */ #define KPC_MS7 (0x1 << 20) /* Matrix scan line 7 */ #define KPC_MS6 (0x1 << 19) /* Matrix scan line 6 */ #define KPC_MS5 (0x1 << 18) /* Matrix scan line 5 */ #define KPC_MS4 (0x1 << 17) /* Matrix scan line 4 */ #define KPC_MS3 (0x1 << 16) /* Matrix scan line 3 */ #define KPC_MS2 (0x1 << 15) /* Matrix scan line 2 */ #define KPC_MS1 (0x1 << 14) /* Matrix scan line 1 */ #define KPC_MS0 (0x1 << 13) /* Matrix scan line 0 */ #define KPC_ME (0x1 << 12) /* Matrix Keypad Enable */ #define KPC_MIE (0x1 << 11) /* Matrix Interrupt Enable */ #define KPC_DK_DEB_SEL (0x1 << 9) /* Direct Key Debounce select */ #define KPC_DI (0x1 << 5) /* Direct key interrupt bit */ #define KPC_DEE0 (0x1 << 2) /* Rotary Encoder 0 Enable */ #define KPC_DE (0x1 << 1) /* Direct Keypad Enable */ #define KPC_DIE (0x1 << 0) /* Direct Keypad interrupt Enable */ #define KPDK_DKP (0x1 << 31) #define KPDK_DK7 (0x1 << 7) #define KPDK_DK6 (0x1 << 6) #define KPDK_DK5 (0x1 << 5) #define KPDK_DK4 (0x1 << 4) #define KPDK_DK3 (0x1 << 3) #define KPDK_DK2 (0x1 << 2) #define KPDK_DK1 (0x1 << 1) #define KPDK_DK0 (0x1 << 0) #define KPREC_OF1 (0x1 << 31) #define kPREC_UF1 (0x1 << 30) #define KPREC_OF0 (0x1 << 15) #define KPREC_UF0 (0x1 << 14) #define KPMK_MKP (0x1 << 31) #define KPAS_SO (0x1 << 31) #define KPASMKPx_SO (0x1 << 31) #define GPIO113_BIT (1 << 17)/* GPIO113 in GPSR, GPCR, bit 17 */ #define PSLR 0x40F00034 #define PSTR 0x40F00038 /* Power Manager Standby Configuration Reg */ #define PSNR 0x40F0003C /* Power Manager Sense Configuration Reg */ #define PVCR 0x40F00040 /* Power Manager Voltage Change Control Reg */ #define PKWR 0x40F00050 /* Power Manager KB Wake-Up Enable Reg */ #define PKSR 0x40F00054 /* Power Manager KB Level-Detect Status Reg */ #define OSMR4 0x40A00080 /* */ #define OSCR4 0x40A00040 /* OS Timer Counter Register */ #define OMCR4 0x40A000C0 /* */ #endif /* CONFIG_CPU_PXA27X */ #endif /* _PXA_REGS_H_ */