The Multifunction Pin configuration registers (MFPR), their stete in windows, their GPIOs and what/how they are used in the iPAQ. This is my working GPIOs list. Offset Value (Output) GPIO(or pin) MFP Config Function 00b4 00000841 0 SLDAT=0 AF1 DS3X EDGE_CLEAR GPIO0_DF_RDY MFP_CFG(GPIO0, AF1) 00b8 00000041 # 1 SLDAT=0 AF1 DS1X EDGE_CLEAR GPIO1_nCS2 00bc 00000842 2 SLDAT=0 AF2 DS3X EDGE_CLEAR SMEM_DF_XCVREN 00c0 0000d480 nCS1 SLDAT=0 AF0 DS8X PULL_SEL PULLUP_EN SLEEP_OE_N 00c4 0000d480 nCS0 SLDAT=0 AF0 DS8X PULL_SEL PULLUP_EN SLEEP_OE_N 00c8 00001880 DF_INT_RnB SLDAT=0 AF0 DS10X SLEEP_OE_N 00cc 00005981 DF_nWE SLDAT=1 AF1 DS10X PULLUP_EN SLEEP_OE_N 0200 00005981 DF_nRE_nOE SLDAT=1 AF1 DS10X PULLUP_EN SLEEP_OE_N 0204 00000000 nBE0 SLDAT=0 AF0 DS1X 0208 00000000 nBE1 SLDAT=0 AF0 DS1X 020c 00003881 DF_ALE_nWE SLDAT=0 AF1 DS10X PULLDOWN_EN SLEEP_OE_N 0210 00000000 DF_ADDR0 SLDAT=0 AF0 DS1X 0214 00000000 DF_ADDR1 SLDAT=0 AF0 DS1X 0218 00000000 DF_ADDR2 SLDAT=0 AF0 DS1X 021c 00000000 DF_ADDR3 SLDAT=0 AF0 DS1X 0220 00005581 DF_IO0 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0224 00005581 DF_IO8 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0228 00005581 DF_IO1 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 022c 00005581 DF_IO9 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0230 00005581 DF_IO2 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0234 00005581 DF_IO10 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0238 00005581 DF_IO3 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 023c 00005581 DF_IO11 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0240 00003880 DF_CLE_nOE SLDAT=0 AF0 DS10X PULLDOWN_EN SLEEP_OE_N 0244 00000000 nLUA SLDAT=0 AF0 DS1X 0248 00005981 DF_nCS0 SLDAT=1 AF1 DS10X PULLUP_EN SLEEP_OE_N 024c 0000b480 ? SLDAT=0 AF0 DS8X PULL_SEL PULLDOWN_EN SLEEP_OE_N 0250 0000b480 ? SLDAT=0 AF0 DS8X PULL_SEL PULLDOWN_EN SLEEP_OE_N 0254 00000000 nLLA SLDAT=0 AF0 DS1X 0258 00005581 DF_IO4 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 025c 00005581 DF_IO12 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0260 00005581 DF_IO5 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0264 00005581 DF_IO13 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0268 00005581 DF_IO6 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 026c 00005581 DF_IO14 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0270 00005581 DF_IO7 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0274 00005581 DF_IO15 SLDAT=1 AF1 DS8X PULLUP_EN SLEEP_OE_N 0278 00005981 DF_nCS1 SLDAT=1 AF1 DS10X PULLUP_EN SLEEP_OE_N 027c 00000844 3 SLDAT=0 AF4 DS3X EDGE_CLEAR MMC1 Data0 GPIO3_MMC1_DAT0 MFP_CFG_LPM(GPIO3, AF4, DRIVE_HIGH) 0280 00000844 4 SLDAT=0 AF4 DS3X EDGE_CLEAR MMC1 Data1 GPIO4_MMC1_DAT1 MFP_CFG_LPM(GPIO4, AF4, DRIVE_HIGH) 0284 00000844 5 SLDAT=0 AF4 DS3X EDGE_CLEAR MMC1 Data2 GPIO5_MMC1_DAT2 MFP_CFG_LPM(GPIO5, AF4, DRIVE_HIGH) 0288 00000844 6 SLDAT=0 AF4 DS3X EDGE_CLEAR MMC1 Data3 GPIO6_MMC1_DAT3 MFP_CFG_LPM(GPIO6, AF4, DRIVE_HIGH) 028c 00000844 7 SLDAT=0 AF4 DS3X EDGE_CLEAR MMC1 Clock GPIO7_MMC1_CLK MFP_CFG_LPM(GPIO7, AF4, DRIVE_HIGH) 0290 00000844 8 SLDAT=0 AF4 DS3X EDGE_CLEAR MMC1 Command GPIO8_MMC1_CMD MFP_CFG_LPM(GPIO8, AF4, DRIVE_HIGH) 0294 0000ddc4 9 SLDAT=1 AF4 DS13X PULL_SEL PULLUP_EN SLEEP_OE_N EDGE_CLEAR MMC2 Data 0 GPIO9_MMC2_DAT0 MFP_CFG_LPM(GPIO9, AF4, PULL_HIGH) 0298 0000ddc4 10 SLDAT=1 AF4 DS13X PULL_SEL PULLUP_EN SLEEP_OE_N EDGE_CLEAR MMC2 Data 1 GPIO10_MMC2_DAT1 MFP_CFG_LPM(GPIO10, AF4, PULL_HIGH) 029c 0000a9c0 11 SLDAT=1 AF0/(*4) DS3X PULL_SEL PULLDOWN_EN SLEEP_OE_N EDGE_CLEAR *MMC2 Data 2 GPIO11_MMC2_DAT2 MFP_CFG_LPM(GPIO11, AF4, PULL_HIGH) 02a0 0000a9c0 12 SLDAT=1 AF0/(*4) DS3X PULL_SEL PULLDOWN_EN SLEEP_OE_N EDGE_CLEAR *MMC2 Data 3 GPIO12_MMC2_DAT3 MFP_CFG_LPM(GPIO12, AF4, PULL_HIGH) 02a4 0000a9c0 13 SLDAT=1 AF0/(*4) DS3X PULL_SEL PULLDOWN_EN SLEEP_OE_N EDGE_CLEAR *MMC2 Clock GPIO13_MMC2_CLK MFP_CFG_LPM(GPIO13, AF4, PULL_HIGH) 02a8 0000a9c0 14 SLDAT=1 AF0/(*4) DS3X PULL_SEL PULLDOWN_EN SLEEP_OE_N EDGE_CLEAR *MMC2 Cmd GPIO14_MMC2_CMD MFP_CFG_LPM(GPIO14, AF4, PULL_HIGH) ( * Reconfiged to AF4 for WiFi on ) 02ac 00008840 15 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR MMC1 Card Detect,IRQ on both edges, Gets switched to AF5 = MMC1_CMD on suspend 02b0 00008040 O 16 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 02b4 00008840 O 17 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR ? U2D Related, needs to be 1 on this system - (see usbflash.S) 02b8 00008840 18 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR USB VBUS Detect (from qlpowermanager.dll.1.S) - Gets switched to AF3 = AC97_SDATA_IN_3 on suspend 02bc 00000c41 O 19 SLDAT=0 AF1 DS4X EDGE_CLEAR Backlight Drive - PWM2 GPIO19_PWM2_OUT MFP_CFG(GPIO19, AF1) 02c0 00008840 O 20 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR ? Quicklogic lower power related (see from qlpowermanager.dll.1.S) 02c4 00008040 21 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR wince 'zylonite' bootloader uses to detect board ID 02c8 00008040 22 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR wince 'zylonite' bootloader uses to detect board ID 02cc 00000841 23 SLDAT=0 AF1 DS3X EDGE_CLEAR Wired to AC97 Reset GPIO23_AC97_nACRESET MFP_CFG(GPIO23, AF1) Y 02d0 0000c840 24 SLDAT=0 AF0 DS3X PULL_SEL PULLUP_EN EDGE_CLEAR 02d4 00000841 25 SLDAT=0 AF1 DS3X EDGE_CLEAR Wired to AC97 data in GPIO25_AC97_SDATA_IN_0 MFP_CFG(GPIO25, AF1) Y 02d8 00000040 26 SLDAT=0 AF0 DS1X EDGE_CLEAR 02dc 00008070 O 1002 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN 02e0 00008c40 O 1003 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR 3_2(CFG) The annoyingly bright Blue LED 02e4 00008040 O 1004 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR WiFi/SD Related Output 02e8 00008c40 O 1005 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR 5_2 Green LED in same place as blue one 02ec 00008840 O 1006 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR ?? Set to output+on by usbflash.S 0400 00000841 27 SLDAT=0 AF1 DS3X EDGE_CLEAR Wired to AC97 data out GPIO27_AC97_SDATA_OUT MFP_CFG(GPIO27, AF1) Y 0404 00000841 28 SLDAT=0 AF1 DS3X EDGE_CLEAR Wired to AC97 Sync GPIO28_AC97_SYNC MFP_CFG(GPIO28, AF1) Y 0408 00000841 29 SLDAT=0 AF1 DS3X EDGE_CLEAR Wired to AC97 Bit Clock GPIO29_AC97_BITCLK MFP_CFG(GPIO29, AF1) Y The following different between the PXA310 docs and linux 040c 0000e080 ULPI_STP SLDAT=0 AF0 DS1X PULL_SEL PULLUP_EN PULLDOWN_EN SLEEP_OE_N 0410 0000a0c0 ULPI_NXT SLDAT=0 AF0 DS1X PULL_SEL PULLDOWN_EN SLEEP_OE_N EDGE_CLEAR 0414 0000a0c0 ULPI_DIR SLDAT=0 AF0 DS1X PULL_SEL PULLDOWN_EN SLEEP_OE_N EDGE_CLEAR 0418 00001441 30 SLDAT=0 AF1 DS8X EDGE_CLEAR USB P2 GPIO30_USB_P2_2 MFP_CFG(GPIO30, AF1) 041c 00001441 31 SLDAT=0 AF1 DS8X EDGE_CLEAR USB P2 GPIO31_USB_P2_6 MFP_CFG(GPIO31, AF1) 0420 00001441 32 SLDAT=0 AF1 DS8X EDGE_CLEAR USB P2 GPIO32_USB_P2_4 MFP_CFG(GPIO32, AF1) 0424 00001441 33 SLDAT=0 AF1 DS8X EDGE_CLEAR ULPI_OTG_INTR GPIO33_ULPI_OTG_INTR MFP_CFG(GPIO33, AF1) 0428 00001441 34 SLDAT=0 AF1 DS8X EDGE_CLEAR USB P2 GPIO34_USB_P2_5 MFP_CFG(GPIO34, AF1) 042c 00001441 35 SLDAT=0 AF1 DS8X EDGE_CLEAR USB P2 GPIO35_USB_P2_3 MFP_CFG(GPIO35, AF1) 0430 00001443 36 SLDAT=0 AF3 DS8X EDGE_CLEAR ULPI_DATA_OUT6 0434 00001443 37 SLDAT=0 AF3 DS8X EDGE_CLEAR ULPI_DATA_OUT7 0438 00001441 38 SLDAT=0 AF1 DS8X EDGE_CLEAR ULPI_CLK GPIO 38 is both GPIO38_ULPI_CLK - MFP_CFG(GPIO38, AF1) and GPIO38_UTM_CLK - MFP_CFG(GPIO38, AF1)! but UTM is PXA300, ULPI is PXA310. 043c 00008040 O 39 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0440 00008040 O 40 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0444 00008040 O 41 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0448 00008040 O 42 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 044c 00008040 O 43 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0450 00008040 O 44 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0454 00008040 O 45 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0458 00008040 O 46 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR Quick Capture GPIO46_CI_DD_7 MFP_CFG_DRV(GPIO46, AF0, DS04X) 045c 00008040 O 47 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0460 00008040 O 48 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0464 00008040 O 49 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR Quick Capture GPIO49_CI_MCLK MFP_CFG_DRV(GPIO49, AF0, DS04X) 0468 00008040 O 50 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR Quick Capture GPIO50_CI_PCLK MFP_CFG_DRV(GPIO50, AF0, DS04X) 046c 00008040 O 51 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR Quick Capture GPIO51_CI_VSYNC MFP_CFG_DRV(GPIO51, AF0, DS04X) 0470 00008040 O 52 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR Quick Capture GPIO52_CI_HSYNC MFP_CFG_DRV(GPIO52, AF0, DS04X) 0474 00008840 O 53 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR Used in bluetooth wake up 0478 00000841 54 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 0 GPIO54_LCD_LDD_0 MFP_CFG_DRV(GPIO54, AF1, DS01X) 047c 00000841 55 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 1 GPIO55_LCD_LDD_1 MFP_CFG_DRV(GPIO55, AF1, DS01X) 0480 00000841 56 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 2 GPIO56_LCD_LDD_2 MFP_CFG_DRV(GPIO56, AF1, DS01X) 0484 00000841 57 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 3 GPIO57_LCD_LDD_3 MFP_CFG_DRV(GPIO57, AF1, DS01X) 0488 00000841 O 58 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 4 GPIO58_LCD_LDD_4 MFP_CFG_DRV(GPIO58, AF1, DS01X) 048c 00000841 O 59 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 5 GPIO59_LCD_LDD_5 MFP_CFG_DRV(GPIO59, AF1, DS01X) 0490 00000841 O 60 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 6 GPIO60_LCD_LDD_6 MFP_CFG_DRV(GPIO60, AF1, DS01X) 0494 00000841 O 61 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 7 GPIO61_LCD_LDD_7 MFP_CFG_DRV(GPIO61, AF1, DS01X) 0498 00000841 O 62 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 8 GPIO62_LCD_LDD_8 MFP_CFG_DRV(GPIO62, AF1, DS01X) 049c 00000841 O 63 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 9 GPIO63_LCD_LDD_9 MFP_CFG_DRV(GPIO63, AF1, DS01X) 04a0 00000841 O 64 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 10 GPIO64_LCD_LDD_10 MFP_CFG_DRV(GPIO64, AF1, DS01X) 04a4 00000841 O 65 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 11 GPIO65_LCD_LDD_11 MFP_CFG_DRV(GPIO65, AF1, DS01X) 04a8 00000841 O 66 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 12 GPIO66_LCD_LDD_12 MFP_CFG_DRV(GPIO66, AF1, DS01X) 04ac 00000841 O 67 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 13 GPIO67_LCD_LDD_13 MFP_CFG_DRV(GPIO67, AF1, DS01X) 04b0 00000841 O 68 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 14 GPIO68_LCD_LDD_14 MFP_CFG_DRV(GPIO68, AF1, DS01X) 04b4 00000841 O 69 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Data 15 GPIO69_LCD_LDD_15 MFP_CFG_DRV(GPIO69, AF1, DS01X) 04b8 000089c0 O 70 SLDAT=1 AF0 DS3X PULL_SEL SLEEP_OE_N EDGE_CLEAR Compact Flash Detect 2 (from qlpowermanager.dll.1.S) 04bc 00008840 O 71 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR Used in bluetooth wake up (and set by pxa27x_??.dll) 04c0 00000841 O 72 SLDAT=0 AF1 DS3X EDGE_CLEAR LCD Frame Clock GPIO72_LCD_FCLK MFP_CFG_DRV(GPIO72, AF1, DS01X) 04c4 00000041 O 73 SLDAT=0 AF1 DS1X EDGE_CLEAR LCD Line Clock GPIO73_LCD_LCLK MFP_CFG_DRV(GPIO73, AF1, DS01X) 04c8 00000041 O 74 SLDAT=0 AF1 DS1X EDGE_CLEAR LCD Pixel Clock GPIO74_LCD_PCLK MFP_CFG_DRV(GPIO74, AF1, DS02X) 04cc 00000041 O 75 SLDAT=0 AF1 DS1X EDGE_CLEAR LCD Bias GPIO75_LCD_BIAS MFP_CFG_DRV(GPIO75, AF1, DS01X) 04d0 00008040 O 76 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR set by pxa27x_??.dll 04d4 00000841 O 77 SLDAT=0 AF1 DS3X EDGE_CLEAR FFUART Receive (BT) GPIO77_UART1_RXD MFP_CFG_LPM(GPIO77, AF1, FLOAT) 04d8 00000841 O 78 SLDAT=0 AF1 DS3X EDGE_CLEAR FFUART Transmit (BT) GPIO78_UART1_TXD MFP_CFG_LPM(GPIO78, AF1, FLOAT) 04dc 00000841 79 SLDAT=0 AF1 DS3X EDGE_CLEAR FFUART Clear To Send (BT) GPIO79_UART1_CTS MFP_CFG_LPM(GPIO79, AF1, FLOAT) 04e0 00008840 80 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR Gets switched to AF4 = MMC2_DAT3 on suspend 04e4 00000840 O 81 SLDAT=0 AF0 DS3X EDGE_CLEAR Used in bluetooth wake up 04e8 00008840 O 82 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR ? USB connector select 1=mini, 0=24-pin (see qlpowermanager.dll.1.S:check_mini_usb()) 04ec 00008c40 O 83 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR ? - Makes backlight full on if cleared, used in backlight/lcd power up/down 04f0 00000841 O 84 SLDAT=0 AF1 DS3X EDGE_CLEAR FFUART Request To Send (BT) GPIO84_UART1_RTS MFP_CFG_LPM(GPIO84, AF1, FLOAT) 04f4 00001c41 85 SLDAT=0 AF1 DS13X EDGE_CLEAR SSP1 Clock GPIO85_SSP1_SCLK MFP_CFG(GPIO85, AF1) 04f8 00000041 86 SLDAT=0 AF1 DS1X EDGE_CLEAR SSP1 FRM GPIO86_SSP1_FRM MFP_CFG(GPIO86, AF1) 04fc 00000041 87 SLDAT=0 AF1 DS1X EDGE_CLEAR SSP1 Transmit GPIO87_SSP1_TXD MFP_CFG(GPIO87, AF1) 0500 00000041 88 SLDAT=0 AF1 DS1X EDGE_CLEAR SSP1 Receive GPIO88_SSP1_RXD MFP_CFG(GPIO88, AF1) 0504 00008840 89 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR Pen down IRQ from WM9713 - connected to pin 2 of wm9713 chip. IRQ on rising edge 0508 00008040 90 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR From usbflash.S, looks like 'Reset USB' (client) 050c 00008c40 91 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR AC/USB Power 0=on, 1=off (Connected to !DOK of MAX8677 charging chip) 0510 00008040 92 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0514 00008840 93 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR 0518 00008040 O 94 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 051c 00008840 95 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR Headphone Detect IRQ on both edges 0520 00009c40 O 96 SLDAT=0 AF0 DS13X PULL_SEL EDGE_CLEAR Speaker on/off 0524 00008c40 O 97 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR WiFi/SD Related Output 0528 00009c40 O 98 SLDAT=0 AF0 DS13X PULL_SEL EDGE_CLEAR Headphone (Jack and 24-pin) on/off 052c 00009c40 O 1007 SLDAT=0 AF0 DS13X PULL_SEL EDGE_CLEAR Headphone select: 0=24-pin, 1=Jack 0530 00008040 O 1008 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR USB Host (24-pin / OHCI) VBus enable 0534 00008840 1009 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR 'Jack' detect (24-pin connector) (from qlpowermanager.dll.1.S) 0538 00008040 O 1010 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR USB Host Related 053c 00000000 1011 SLDAT=0 AF0 DS1X 0540 00000000 1012 SLDAT=0 AF0 DS1X 0600 00008040 O 99 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR WiFi/SD Related Output 0604 00008c40 100 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR WiFi/SD Related Output 0608 000089c0 101 SLDAT=1 AF0 DS3X PULL_SEL SLEEP_OE_N EDGE_CLEAR Compact Flash Detect 1 (from qlpowermanager.dll.1.S) 060c 00008840 102 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR MMC Write Protect 0610 00008c40 103 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR WiFi/SD Related Output 0614 00009c40 104 SLDAT=0 AF0 DS13X PULL_SEL EDGE_CLEAR WM9713 Power (goes on when WM9713 activates) 0618 00008c40 105 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR Charging - High when actually charging? 061c 00008c40 106 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR Charging - High when possibly charging or charged? 0620 00008c70 107 SLDAT=0 AF0 DS4X PULL_SEL EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN High when battery connected 0624 00008070 108 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN 0628 000000c1 109 SLDAT=0 AF1 DS1X SLEEP_OE_N EDGE_CLEAR STUART (Debug Out) Transmit GPIO109_UART3_TXD MFP_CFG_LPM(GPIO109, AF1, FLOAT) 062c 000000c1 110 SLDAT=0 AF1 DS1X SLEEP_OE_N EDGE_CLEAR STUART (Debug Out) Receive GPIO110_UART3_RXD MFP_CFG_LPM(GPIO110, AF1, FLOAT) 0630 00008840 111 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR Looks like Quicklogic USB chip enable/reset (1=on) 0634 00000040 112 SLDAT=0 AF0 DS1X EDGE_CLEAR Involved in LCD power up/down 0638 00008840 113 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR IRQ on falling edge 063c 00008040 114 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR Used in bluetooth wake up 0640 00000871 115 SLDAT=0 AF1 DS3X EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN Keypad Matrix In 0 GPIO115_KP_MKIN_0 MFP_CFG_LPM(GPIO115, AF1, FLOAT) Y 0644 00000871 116 SLDAT=0 AF1 DS3X EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN Keypad Matrix In 1 GPIO116_KP_MKIN_1 MFP_CFG_LPM(GPIO116, AF1, FLOAT) Y 0648 00000871 117 SLDAT=0 AF1 DS3X EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN Keypad Matrix In 2 GPIO117_KP_MKIN_2 MFP_CFG_LPM(GPIO117, AF1, FLOAT) Y 064c 00000871 118 SLDAT=0 AF1 DS3X EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN Keypad Matrix In 3 GPIO118_KP_MKIN_3 MFP_CFG_LPM(GPIO118, AF1, FLOAT) Y 0650 00008070 O 119 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN 0654 00008070 O 120 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR EDGE_FALL_EN EDGE_RISE_EN Charge disable (Connected to !CEN of MXA8677 charging chip) 0658 00000841 121 SLDAT=0 AF1 DS3X EDGE_CLEAR Keypad Matrix Out 0 GPIO121_KP_MKOUT_0 MFP_CFG_LPM(GPIO121, AF1, DRIVE_HIGH) Y 065c 00000841 122 SLDAT=0 AF1 DS3X EDGE_CLEAR Keypad Matrix Out 1 GPIO122_KP_MKOUT_1 MFP_CFG_LPM(GPIO122, AF1, DRIVE_HIGH) Y 0660 00000841 123 SLDAT=0 AF1 DS3X EDGE_CLEAR Keypad Matrix Out 2 GPIO123_KP_MKOUT_2 MFP_CFG_LPM(GPIO123, AF1, DRIVE_HIGH) Y 0664 00008840 O 124 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR Used in bluetooth wake up 0668 00008840 O 125 SLDAT=0 AF0 DS3X PULL_SEL EDGE_CLEAR ?? Set to output+on by usbflash.S 066c 000008c2 126 SLDAT=0 AF2 DS3X SLEEP_OE_N EDGE_CLEAR One wire Data GPIO126_OW_DQ MFP_CFG(GPIO126, AF2) 0670 00008040 O 127 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR 0674 00009c40 1000 SLDAT=0 AF0 DS13X PULL_SEL EDGE_CLEAR 0678 00008040 O 1001 SLDAT=0 AF0 DS1X PULL_SEL EDGE_CLEAR from uboot and docs: /* MFPR Bit Definitions, see 4-10, Vol. 1 */ #define PULL_SEL 0x8000 // 0=Alt Func dependant PULL UP/DOWN, 1=Use PUP/PDOWN #define PULLUP_EN 0x4000 // Pull up if D3 or PULL_SEL in D0 #define PULLDOWN_EN 0x2000 // Pull down if D3 or PULL_SEL in D0 #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 // D3->D0 behvaiour: 0=return immeadiately to AF, 1=returns only on RDH clear (delayed release) #define SLEEP_DATA 0x100 // Output pin state in D1,D2,D3 (always) #define SLEEP_OE_N 0x80 // 0=Output in D1-D3, 1=input in D1-D3 #define EDGE_CLEAR 0x40 // WAKEUP edge detection is 0=enabled and ready, 1=disabled #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 */