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