General-Purpose Input/Outputs (GPIOs)
109
March 22, 2006
Preliminary
Register 10: GPIO Alternate Function Select (GPIOAFSEL), offset 0x420
The
GPIOAFSEL
register is the mode control select register. Writing a 1 to any bit in this register
selects the hardware control for the corresponding GPIO line. All bits are cleared by a reset,
therefore no GPIO line is set to hardware control by default.
Caution – All GPIO pins are inputs by default (GPIODIR=0 and GPIOAFSEL=0), with the
exception of the five JTAG pins (
PB7
and
PC[3:0]
). The JTAG pins default to their JTAG
functionality (GPIOAFSEL=1). Asserting a Power-On-Reset (POR) or an external reset (
RST
) puts
both groups of pins back to their default state.
If the JTAG pins will be used as GPIOs in a design,
PB7
and
PC2
cannot have external pull-down
resistors connected to both of them at the same time. If both pins are pulled Low during reset, the
controller will have unpredictable behavior. If this happens, remove one or both of the pull-down
resistors, and apply
RST
or power-cycle the part
In addition, it is possible to create a software sequence that prevents the debugger from connecting
to the Stellaris microcontroller. If the program code loaded into flash immediately changes the
JTAG pins to their GPIO functionality, the debugger will not have enough time to connect and
halt the controller before the JTAG pin functionality switches. This locks the debugger out of the
part. This can be avoided with a software routine that restores JTAG functionality using an
external trigger..
Bit
Name
Type
Reset
Description
31:8
reserved
RO
0
Reserved bits return an indeterminate value, and should never
be changed.
7:0
AFSEL
R/W
see note
GPIO Alternate Function Select
0: Software control of corresponding GPIO line (GPIO mode).
1: Hardware control of corresponding GPIO line (alternate
hardware function).
Note:
The default reset value for the
GPIOAFSEL
register is
0x00 for all GPIO pins, with the exception of the five
JTAG pins (
PB7
and
PC[3:0]
). These five pins
default to JTAG functionality. Because of this, the
default reset value of
GPIOAFSEL
for GPIO Port B is
0x80 while the default reset value of
GPIOAFSEL
for
Port C is 0x0F.
reserved
RO
0
GPIO Alternate Function Select (GPIOAFSEL)
Offset 0x420
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Reset
Type
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
0
Reset
Type
0
0
0
0
0
0
0
-
-
-
-
-
-
-
-
RO
RO
RO
RO
RO
RO
RO
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
reserved
AFSEL