Firmware GPIO setup

Mitch Bradley wmb at firmworks.com
Thu Mar 15 01:19:12 EDT 2007


Jordan raised the possibility of removing the GPIO setup from the 
kernel, letting the firmware's settings stand.

Here is a list of the GPIO setup differences between Q2B73 and the 
latest fastboot firmware (suspend1).  I audited the GPIO settings for 
the fastboot firmware last week, so they are correct to the best of my 
knowledge.

The numbers shown are the low 16 bits of the GPIO setup registers - the 
high 16 bits are not shown, as they are just the inverse of the low 16 
bits.  If no number is shown in the B73 column, the value is the same as 
for suspend1.

suspend1  B73   Explanation of B73 differences
GPIOs 0-15
 4 c902
 8 0000
 c 0000
10 c100
14 0000
18 ed97  ef9e   B73 pulls up THERM_ALRM# and UART1_TX, does not pull up 
PCI_INTA#
1c 0060  1060   B73 pulls down DCONBLNK
20 d6e5  d2e5   B73 does not input-enable THERM_ALRM#
24 0081
28 0000
2c 0000
34 c600  c204   B73 has GPIO10 set as a GPIO, instead of as the 
THERM_ALRM# function
                B73 has GPIO2 set as IDE_IRQ, instead of as a GPIO (for 
memory size)
38 0081  0001   B73 does not enable event detection on GPIO7 - DCONIRQ
3c    0
40 0000
44 0000

GPIOs 0-15
84 0100  0000   B73 does not output enable GPIO24 (WORK_AUX)
88 0000
8c 0000
90 0100  0000   B73 does not set GPIO24 to its special WORK_AUX function
94 0000
98 ffff
9c 0000
a0 1c00  1000   B73 does no input enable GPIO28 (PWR_BUT#)
a4 0000
a8 0000
ac 0000
b4 1000
b8 0c00  0000   B73 does not enable events detection on GPIO 27 (SCI#) 
and 26 (PWR_BUT_in)
bc    0
c0 0000
c4 0000

Analysis of differences:
  WORK_AUX is not a problem, it is only used when suspending, and 
suspend isn't supported on B73
  PWR_BUT# might be a problem.  If it's not configured for input, you 
can't use it to shutdown
  THERM_ALRM# is unknown.  Does the EC assert it?
  The pullups and pulldowns are probably not problems, because those 
lines have external pullups
  Event enable on DCONIRQ - don't know
  Event enable on SCI# - don't know - suspect not a problem?
  Event enable on PWR_BUT_in - don't know - suspect not a problem?
  GPIO2 (memsize detect) - not a problem.  Only used by the firmware.




More information about the Devel mailing list