BR17 I/O function map
| Pin |
func |
func |
func |
func |
func |
func |
func |
func |
func |
func |
| PA0 |
|
|
|
|
|
|
|
SEG0 |
|
|
| PA1 |
|
|
|
|
|
PWM0 |
UART1_TX.C |
SEG1 |
Touch8 |
AMUX0L |
| PA2 |
|
|
|
|
|
CAP3 |
UART1_RX.C |
SEG2 |
Touch9 |
AMUX0R |
| PA3 |
ISP_CLK |
|
|
|
ADC0 |
|
UART2_TX.A |
SEG3 |
Touch10 |
AMUX1L |
| PA4 |
|
|
|
|
ADC1 |
|
UART2_RX.A |
SEG4 |
Touch11 |
AMUX1R |
| PA5 |
|
|
|
IIC_SCL.D |
ADC2 |
|
UART0_TX.A |
SEG5 |
Touch12 |
|
| PA6 |
|
|
|
IIC_SDA.D |
ADC3 |
|
UART0_RX.A |
SEG6 |
Touch13 |
|
| PA7 |
|
|
PAP_D0 |
|
|
TMR0 |
|
SEG7 |
Touch14 |
|
| PA8 |
SD0_DAT3.A |
|
PAP_D1 |
|
|
|
|
SEG8 |
Touch15 |
|
| PA9 |
SD0_DAT2.A |
|
PAP_D2 |
|
ADC4 |
|
UART2_TX.B |
SEG9 |
|
ALNK_SCLK.A |
| PA10 |
SD0_DAT1.A |
|
PAP_D3 |
|
ADC5 |
|
UART2_RX.B |
SEG10 |
|
ALNK_LRCK.A |
| PA11 |
SD0_DAT0.A |
|
|
|
|
|
|
SEG11 |
|
ALNK_DAT0.A |
| PA12 |
SD0_CMD.A |
|
|
|
|
|
|
SEG12 |
|
ALNK_DAT1.A |
| PA13 |
SD0_CLK.A |
|
|
|
|
|
|
SEG13 |
|
ALNK_DAT2.A |
| PA14 |
|
|
PA_EN |
IIC_SCL.C |
|
TMR1 |
UART0_TX.D |
SEG14 |
|
ALNK_DAT3.A |
| PA15 |
|
|
LNA_EN |
IIC_SDA.C |
|
CAP2 |
UART0_RX.D |
SEG15 |
|
ALNK_MCLK.A |
| PB0 |
SD1_DAT0.B |
SPI2_CLK.A |
|
|
|
CLKOUT0 |
UART1_TX.A |
|
Touch0 |
ALNK_SCLK.A |
| PB1 |
SD1_CMD.B |
SPI2_DO.A |
|
|
|
TMR2 |
UART1_RX.A |
|
Touch1 |
ALNK_LRCK.B |
| PB2 |
SD1_CLK.B |
SPI2_DI.A |
|
|
|
|
|
|
Touch2 |
ALNK_DAT0.B |
| PB3 |
SD1_DAT1.B |
SPI0_DAT3.B |
SFC_DAT3.B |
|
|
PWM2 |
|
|
Touch3 |
ALNK_DAT1.B |
| PB4 |
SD1_DAT2.B |
SPI0_DAT2.B |
SFC_DAT2.B |
|
|
PWM3 |
|
|
Touch4 |
ALNK_DAT2.B |
| PB5 |
SD1_DAT3.B |
SPI0_DI.B |
SFC_DI.B |
|
|
|
|
|
|
ALNK_DAT3.B |
| PB6 |
|
SPI0_CS.B |
SFC_CS.B |
|
|
|
UART0_TX.B |
|
|
ALNK_MCLK.B |
| PB7 |
SD0_DAT3.B |
SPI0_DO.B |
SFC_DO.B |
|
ADC6 |
TMR3 |
UART0_RX.B |
|
|
|
| PB8 |
SD0_DAT2.B |
SPI0_CLK.B |
SFC_CLK.B |
|
ADC7 |
|
|
|
|
|
| PB9 |
SD0_DAT1.B |
|
NFC_CRR_TEST |
|
ADC8 |
CLKOUT1 |
UART2_TX.C |
|
|
|
| PB10 |
SD0_DAT0.B |
SPI1_DI.A |
NFC_AMP_TEST |
|
ADC9 |
|
UART2_RX.C |
|
Touch5 |
|
| PB11 |
SD0_CMD.B |
SPI1_CLK.A |
NFC_TX |
|
ADC10 |
|
|
|
Touch6 |
AMUX2L |
| PB12 |
SD0_CLK.B |
SPI1_DO.A |
NFC_RX |
|
ADC11 |
|
|
|
Touch7 |
AMUX2R |
| PB13 |
|
|
|
|
|
|
|
|
|
MIC |
| PC0 |
SD1_DAT3.A |
SPI2_CLK.B |
PAP_D4 |
|
|
|
UART1_TX.B |
SEG16/COM5 |
|
|
| PC1 |
SD1_DAT2.A |
SPI2_DO.B |
PAP_D5 |
|
|
|
UART1_RX.B |
SEG17/COM4 |
|
|
| PC2 |
SD1_DAT1.A |
SPI2_DI.B |
PAP_D6 |
|
|
CAP1 |
UART0_TX.C |
SEG18/COM3 |
|
|
| PC3 |
SD1_DAT0.A |
SPI1_DI.B |
PAP_D7 |
|
|
|
UART0_RX.C |
SEG19/COM2 |
|
|
| PC4 |
SD1_CMD.A |
SPI1_CLK.B |
PAP_RD |
IIC_SCL.B |
|
|
UART2_TX.D |
SEG20/COM1 |
|
|
| PC5 |
SD1_CLK.A |
SPI1_DO.B |
PAP_WR |
IIC_SDA.B |
|
|
UART2_RX.D |
SEG21/COM0 |
|
|
| PD0 |
|
SPI0_CLK.A |
SFC_CLK.A |
|
|
|
|
|
|
|
| PD1 |
|
SPI0_DO.A |
SFC_DO.A |
|
|
|
|
|
|
|
| PD2 |
|
SPI0_DI.A |
SFC_DI.A |
|
|
|
|
|
|
|
| PD3 |
|
SPI0_CS.A |
SFC_CS.A |
|
|
|
|
|
|
|
| PR0 |
LP Reset |
OSCO_32K |
|
|
|
|
|
|
|
|
| PR1 |
LP Reset |
|
|
|
ADC12 |
|
|
|
|
|
| PR2 |
LP Reset |
|
|
|
ADC13 |
|
|
|
|
|
| PR3 |
LP Reset |
OSCO_12 |
|
|
|
|
|
|
|
|
| OSCI |
|
OSCI_32K |
|
|
|
|
|
|
|
|
| HOSCI |
|
OSCI_12 |
|
|
|
|
|
|
|
|
| USBDP |
ISP_DI |
|
|
IIC_SCL.A |
|
|
UART1_TX.D |
|
|
|
| USBDM |
ISP_DO |
|
|
IIC_SDA.A |
|
|
UART1_RX.D |
|
|
|
Notes:
- Functions that are italic is these which were not clearly mentioned in the docs, etc…
- Most chips have an internal SPI flash that is connected to the chip as follows:
- PD0 = SCK
- PD1 = MOSI (D0)
- PD2 = MISO (D1)
- PD3 = CS
- Leftover info:
- Default pulldown: PA3, USBDP, USBDM
- Default pullup: PB4, PB6, PD3
By function
Timer
| Timer |
0 |
1 |
2 |
3 |
| TMR |
PA7 |
PA14 |
PB1 |
PB7 |
| CAP |
|
PC2 |
PA15 |
PA2 |
| PWM |
PA1 |
|
PB3 |
PB4 |
TMR is the timer’s external clock input, CAP is the capture input and PWM is - guess what!
UART
| UART0 |
A |
B |
C |
D |
| TX |
PA5 |
PB6 |
PC2 |
PA14 |
| RX |
PA6 |
PB7 |
PC3 |
PA15 |
| UART1 |
A |
B |
C |
D |
| TX |
PB0 |
PC0 |
PA1 |
USBDP |
| RX |
PB1 |
PC1 |
PA2 |
USBDM |
| UART2 |
A |
B |
C |
D |
| TX |
PA3 |
PA9 |
PB9 |
PC4 |
| RX |
PA4 |
PA10 |
PB10 |
PC5 |
IIC
| IIC |
A |
B |
C |
D |
| SCL |
USBDP |
PC4 |
PA14 |
PA5 |
| SDA |
USBDM |
PC5 |
PA15 |
PA6 |
SPI
| SPI0 |
A |
B |
| CS |
PD3 |
PB6 |
| CLK |
PD0 |
PB8 |
| DO(0) |
PD1 |
PB7 |
| DI(1) |
PD2 |
PB5 |
| DAT2(2) |
|
PB4 |
| DAT3(3) |
|
PB3 |
| SPI1 |
A |
B |
| CLK |
PB11 |
PC4 |
| DO |
PB12 |
PC5 |
| DI |
PB10 |
PC3 |
| SPI2 |
A |
B |
| CLK |
PB0 |
PC0 |
| DO |
PB1 |
PC1 |
| DI |
PB2 |
PC2 |
SFC
The SFC basically maps into the same pins as the SPI0.
Unfortuneatly, later series does not expose all (or the least required) SFC function pins outside the Port D,
thus making impossible to hook an external SPI flash like the internal one is hooked to the chip. Is this on purpose?
| SFC |
A |
B |
| CS |
PD3 |
PB6 |
| CLK |
PD0 |
PB8 |
| DI(0) |
PD2 |
PB5 |
| DO(1) |
PD1 |
PB7 |
| DAT2(2) |
|
PB4 |
| DAT3(3) |
|
PB3 |
SD
| SD0 |
A |
B |
| CLK |
PA13 |
PB12 |
| CMD |
PA12 |
PB11 |
| DAT0 |
PA11 |
PB10 |
| DAT1 |
PA10 |
PB9 |
| DAT2 |
PA9 |
PB8 |
| DAT3 |
PA8 |
PB7 |
| SD1 |
A |
B |
| CLK |
PC5 |
PB2 |
| CMD |
PC4 |
PB1 |
| DAT0 |
PC3 |
PB0 |
| DAT1 |
PC2 |
PB3 |
| DAT2 |
PC1 |
PB4 |
| DAT3 |
PC0 |
PB5 |
ALNK
| ALNK |
A |
B |
| MCLK |
PA15 |
PB6 |
| SCLK |
PA9 |
PB0 |
| LRCK |
PA10 |
PB1 |
| DAT0 |
PA11 |
PB2 |
| DAT1 |
PA12 |
PB3 |
| DAT2 |
PA13 |
PB4 |
| DAT3 |
PA14 |
PB5 |
IOMAP registers
IOMAP_CON0 / IOMC0
| Bits |
Type |
Name |
Default |
Description |
| 15 |
R/W |
SD0IOS |
b0 |
SD0 I/O map select |
| 14 |
R/W |
PAPDEN |
b0 |
PAP data I/O enable |
| 13 |
R/W |
PAPREN |
b0 |
PAP read signal enable |
| 12 |
R/W |
PAPWEN |
b0 |
PAP write signal enable |
| 11 |
R/W |
ALNKIOS |
b0 |
ALNK I/O map select |
| 10:8 |
R/W |
IRFLTOS |
b000 |
IRFLT output select (4: Timer0 capture, 5: Timer1 capture, 6: Timer2 capture, 7: Timer3 capture) |
| 7:6 |
R/W |
UT0IOS |
b00 |
UART0 I/O map select |
| 5 |
R/W |
SPI0IOS |
b0 |
SPI0 I/O map select |
| 4 |
R/W |
SD1IOS |
b0 |
SD1 I/O map select |
| 3 |
R/W |
SD1DTEN |
b0 |
SD1 CMD/DAT enable |
| 2 |
R/W |
SD1CKEN |
b0 |
SD1 CLK enable |
| 1 |
R/W |
SD0DTEN |
b0 |
SD0 CMD/DAT enable |
| 0 |
R/W |
SD0CKEN |
b0 |
SD0 CLK enable |
IOMAP_CON1 / IOMC1
| Bits |
Type |
Name |
Default |
Description |
| 31:22 |
|
|
|
|
| 21:20 |
R/W |
WLUIOS |
b00 |
WL UART I/O map select |
| 19:18 |
R/W |
IICIOS |
b00 |
IIC I/O map select |
| 17 |
|
|
|
|
| 16 |
R/W |
SPI2IOS |
b0 |
SPI2 I/O map select |
| 15:14 |
R/W |
UT2IOS |
b00 |
UART2 I/O map select |
| 13:11 |
R/W |
OUT_CH1S |
b000 |
Output Channel 1 select (0: UT0_TX, 1: UT1_RX, 2: TMR2_PWM_OUT, 3: TMR3_PWM_OUT, 4: IRTCX32K, 5: OSC_CLK, 6: WLU_TX, 7: PWM4_OUT) |
| 10:8 |
R/W |
OUT_CH0S |
b000 |
Output Channel 0 select (0: UT0_TX, 1: UT1_RX, 2: TMR0_PWM_OUT, 3: TMR1_PWM_OUT, 4: RTC_OSCH, 5: BTOSC_CLK, 6: PLL_12M, 7: UT2_TX) |
| 7 |
|
|
|
|
| 6 |
R/W |
CAPEDS |
b0 |
Invert the CAP_MUX input level |
| 5 |
R/W |
SFCIOS |
b0 |
SFC I/O map select |
| 4 |
R/W |
SPI1IOS |
b0 |
SPI1 I/O map select |
| 3:2 |
R/W |
UT1IOS |
b00 |
UART1 I/O map select |
| 1 |
R/W |
SPI0_DIDO_MIX |
b0 |
SPI0 DI/DO mix control (0: receive on DI, 1: receive on both DI and DO) |
| 0 |
|
|
|
|
IOMAP_CON2 / IOMC2
| Bits |
Type |
Name |
Default |
Description |
| 31:30 |
|
|
|
|
| 29:24 |
R/W |
UTS |
h00 |
UART RX input mux (UART_RX_MUX) selection (0-15: PA0-15, 16-31: PB0-15, 32-47: PC0-15, 48-55: PD0-7, 62: USBDP, 63: USBDM) |
| 23:22 |
|
|
|
|
| 21:16 |
R/W |
CAPS |
h00 |
Timer capture input mux (CAP_MUX) selection (see above) |
| 15:14 |
|
|
|
|
| 13:8 |
R/W |
IRFLTS |
h00 |
IRFLT input mux (IRFLT_MUX) selection (see above) |
| 7:6 |
|
|
|
|
| 5:0 |
R/W |
WKUPS |
h00 |
Wakeup input mux (WKUP_MUX) selection (see above) |
IOMAP_CON3 / IOMC3
| Bits |
Type |
Name |
Default |
Description |
| 15:12 |
|
|
|
|
| 11 |
R/W |
UT2IOEN |
b1 |
UART2 I/O enable |
| 10:8 |
R/W |
UT2MXS |
b000 |
UART2 input mux select (0-3: IO mux, 4: WKUP_MUX, 5: IRFLT_MUX, 6: CAP_MUX, 7: UART_RX_MUX) |
| 7 |
R/W |
UT1IOEN |
b1 |
UART1 I/O enable |
| 6:4 |
R/W |
UT1MXS |
b000 |
UART1 input mux select (0-3: IO mux, 4: WKUP_MUX, 5: IRFLT_MUX, 6: CAP_MUX, 7: UART_RX_MUX) |
| 3 |
R/W |
UT0IOEN |
b1 |
UART0 I/O enable |
| 2:0 |
R/W |
UT0MXS |
b000 |
UART0 input mux select (0-3: IO mux, 4: WKUP_MUX, 5: IRFLT_MUX, 6: CAP_MUX, 7: UART_RX_MUX) |