c21c7ac8dc
Added ability to configure indivdual UART, SPI and I2C pin location.
504 lines
14 KiB
Plaintext
504 lines
14 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
#####################################################################
|
|
# UART Configuration
|
|
#####################################################################
|
|
|
|
if RP2040_UART0
|
|
|
|
config RP2040_UART0_TX_GPIO
|
|
int "GPIO pin for UART0 TX (0, 12, 16, or 28)"
|
|
default 0
|
|
range 0 28
|
|
---help---
|
|
RP2040 UART0 TX pin number used for data transmitted
|
|
from the RP2040. Refer to board documentation to see
|
|
which pins are available.
|
|
|
|
config RP2040_UART0_RX_GPIO
|
|
int "GPIO pin for UART0 RX (1, 13, 17, or 29)"
|
|
default 1
|
|
range 1 29
|
|
---help---
|
|
RP2040 UART0 RX pin number used for data received by the
|
|
RP2040. Refer to board documentation to see which pins
|
|
are available.
|
|
|
|
if SERIAL_IFLOWCONTROL
|
|
|
|
config RP2040_UART0_CTS_GPIO
|
|
int "GPIO pin for UART0 CTS (2, 14, or 18)"
|
|
default 2
|
|
range 2 18
|
|
---help---
|
|
RP2040 UART0 CTS pin number an output pin that reflects the
|
|
UARTs ability to receive data. This pin will be asserted when
|
|
the UART is able to receive another character. Refer to board
|
|
documentation to see which pins are available.
|
|
|
|
endif # SERIAL_IFLOWCONTROL
|
|
|
|
if SERIAL_OFLOWCONTROL
|
|
|
|
config RP2040_UART0_RTS_GPIO
|
|
int "GPIO pin for UART0 RTS (3, 15, or 19)"
|
|
default 3
|
|
range 2 19
|
|
---help---
|
|
RP2040 UART0 RTS pin number an input pin used to control
|
|
transmission by the UART. If output flow control is
|
|
enabled this pin must be asserted before data will be
|
|
transmitted. Refer to board documentation to see which
|
|
pins are available.
|
|
|
|
endif # SERIAL_OFLOWCONTROL
|
|
|
|
endif # RP2040_UART0
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_UART1
|
|
|
|
config RP2040_UART1_TX_GPIO
|
|
int "GPIO pin for UART1 TX (4, 8, 20, or 24)"
|
|
default 20
|
|
range 4 24
|
|
---help---
|
|
RP2040 UART1 TX pin number. Refer to board documentation
|
|
to see which pins are available.
|
|
|
|
config RP2040_UART1_RX_GPIO
|
|
int "GPIO pin for UART1 RX (5, 9, 21, or 25)"
|
|
default 21
|
|
range 5 25
|
|
---help---
|
|
RP2040 UART1 RX pin number. Refer to board documentation
|
|
to see which pins are available.
|
|
|
|
if SERIAL_IFLOWCONTROL
|
|
|
|
config RP2040_UART1_CTS_GPIO
|
|
int "GPIO pin for UART1 CTS (6, 10, 22, or 26)"
|
|
default 22
|
|
range 6 26
|
|
---help---
|
|
RP2040 UART1 CTS pin number an output pin that reflects the
|
|
UARTs ability to receive data. This pin will be asserted when
|
|
the UART is able to receive another character. Refer to board
|
|
documentation to see which pins are available.
|
|
|
|
endif # SERIAL_IFLOWCONTROL
|
|
|
|
if SERIAL_OFLOWCONTROL
|
|
|
|
config RP2040_UART1_RTS_GPIO
|
|
int "GPIO pin for UART1 RTS (7, 11, 23, or 27)"
|
|
default 23
|
|
range 7 27
|
|
---help---
|
|
RP2040 UART01 RTS pin number an input pin used to control
|
|
transmission by the UART. If output flow control is
|
|
enabled this pin must be asserted before data will be
|
|
transmitted. Refer to board documentation to see which
|
|
pins are available.
|
|
|
|
endif # SERIAL_OFLOWCONTROL
|
|
|
|
endif # RP2040_UART1
|
|
|
|
#####################################################################
|
|
# SPI Configuration
|
|
#####################################################################
|
|
|
|
if RP2040_SPI0
|
|
|
|
config RP2040_SPI0_RX_GPIO
|
|
int "GPIO pin for SPI0 RX (0, 4, 16, or 20)"
|
|
default 16
|
|
range 0 20
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
This line is also known as MISO when we are configured in
|
|
SPI master mode.
|
|
|
|
config RP2040_SPI0_CS_GPIO
|
|
int "GPIO pin for SPI0 CSn (1, 5, 17, or 21)"
|
|
default 17
|
|
range 1 21
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
|
|
config RP2040_SPI0_SCK_GPIO
|
|
int "GPIO pin for SPI0 SCK (2, 6, 18, or 22)"
|
|
default 18
|
|
range 2 22
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
config RP2040_SPI0_TX_GPIO
|
|
int "GPIO pin for SPI0 TX (3, 7, 19, or 23)"
|
|
default 19
|
|
range 3 23
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
This line is also known as MOSI when we are configured in
|
|
SPI master mode.
|
|
|
|
endif # RP2040_SPI0
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_SPI1
|
|
|
|
config RP2040_SPI1_RX_GPIO
|
|
int "GPIO pin for SPI1 RX (8, 12, 24, or 28)"
|
|
default 8
|
|
range 8 28
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
This line is also known as MISO when we are configured in
|
|
SPI master mode, or MOSI when slave mode is configured.
|
|
|
|
config RP2040_SPI1_CS_GPIO
|
|
int "GPIO pin for SPI1 CSn (9, 13, 25, or 29)"
|
|
default 9
|
|
range 9 29
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
config RP2040_SPI1_SCK_GPIO
|
|
int "GPIO pin for SPI1 SCK (10, 14, or 26)"
|
|
default 10
|
|
range 10 26
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
config RP2040_SPI1_TX_GPIO
|
|
int "GPIO pin for SPI1 TX (11, 15, or 27)"
|
|
default 11
|
|
range 11 27
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
This line is also known as MOSI when we are configured in
|
|
SPI master mode, or MISO when slave mode is configured.
|
|
|
|
endif # RP2040_SPI1
|
|
|
|
#####################################################################
|
|
# I2C Configuration
|
|
#####################################################################
|
|
|
|
if RP2040_I2C0 || RP2040_I2C0_SLAVE
|
|
|
|
config RP2040_I2C0_SDA_GPIO
|
|
int "GPIO pin for I2C0 SDA (0, 4, 8, 12, 16, 20, 24, or 28)"
|
|
default 4
|
|
range 0 28
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
config RP2040_I2C0_SCL_GPIO
|
|
int "GPIO pin for I2C0 SCL (1, 5, 9, 13, 17, 21, 25, or 29)"
|
|
default 5
|
|
range 1 29
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # RP2040_I2C0 || RP2040_I2C0_SLAVE
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_I2C1 || RP2040_I2C0_SLAVE
|
|
|
|
config RP2040_I2C1_SDA_GPIO
|
|
int "GPIO pin for I2C1 SDA (2, 6, 10, 14, 18, 22, or 26)"
|
|
default 6
|
|
range 2 26
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
config RP2040_I2C1_SCL_GPIO
|
|
int "GPIO pin for I2C1 SCL (3, 7, 11, 15, 19, 23, or 27)"
|
|
default 7
|
|
range 3 27
|
|
---help---
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # RP2040_I2C1 || RP2040_I2C0_SLAVE
|
|
|
|
#####################################################################
|
|
# PWM Configuration
|
|
#####################################################################
|
|
|
|
if RP2040_PWM0
|
|
|
|
config RP2040_PWM0A_GPIO
|
|
int "GPIO pin for PWM0 channel 1 (0, 16 or -1:no assign)"
|
|
default 0
|
|
range -1 16
|
|
---help---
|
|
This sets the GPIO pin to use for the A channel it must be
|
|
either 0 or 16, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
if PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
config RP2040_PWM0B_GPIO
|
|
int "GPIO pin for PWM0 channel 2 (1, 17 or -1:no assign)"
|
|
default 1
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the B channel it must be
|
|
either 1 or 17, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
endif # RP2040_PWM0
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_PWM1
|
|
|
|
config RP2040_PWM1A_GPIO
|
|
int "GPIO pin for PWM1 channel 1 (2, 18 or -1:no assign)"
|
|
default 2
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the A channel it must be
|
|
either 2 or 18, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
if PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
config RP2040_PWM1B_GPIO
|
|
int "GPIO pin for PWM1 channel 2 (3, 19 or -1:no assign)"
|
|
default 3
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the B channel it must be
|
|
either 3 or 19, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
endif # RP2040_PWM1
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_PWM2
|
|
|
|
config RP2040_PWM2A_GPIO
|
|
int "GPIO pin for PWM2 channel 1 (4, 20 or -1:no assign)"
|
|
default 4
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the A channel it must be
|
|
either 4 or 20, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
if PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
config RP2040_PWM2B_GPIO
|
|
int "GPIO pin for PWM2 channel 2 (5, 21 or -1:no assign)"
|
|
default 5
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the B channel it must be
|
|
either 5 or 21, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
endif # RP2040_PWM2
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_PWM3
|
|
|
|
config RP2040_PWM3A_GPIO
|
|
|
|
int "GPIO pin for PWM3 channel 1 (6, 22 or -1:no assign)"
|
|
default 6
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the A channel it must be
|
|
either 6 or 22, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
if PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
config RP2040_PWM3B_GPIO
|
|
int "GPIO pin for PWM3 channel 2 (7, 23 or -1:no assign)"
|
|
default 7
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the B channel it must be
|
|
either 7 or 23, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
endif # RP2040_PWM3
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_PWM4
|
|
|
|
config RP2040_PWM4A_GPIO
|
|
int "GPIO pin for PWM4 channel 1 (8, 24 or -1:no assign)"
|
|
default 8
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the A channel it must be
|
|
either 8 or 24, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
if PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
config RP2040_PWM4B_GPIO
|
|
int "GPIO pin for PWM4 channel 2 (9, 25 or -1:no assign)"
|
|
default 9
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the B channel it must be
|
|
either 9 or 25, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
endif # RP2040_PWM4
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_PWM5
|
|
|
|
config RP2040_PWM5A_GPIO
|
|
int "GPIO pin for PWM5 channel 1 (10, 26 or -1:no assign)"
|
|
default 10
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the A channel it must be
|
|
either 10 or 26, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
if PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
config RP2040_PWM5B_GPIO
|
|
int "GPIO pin for PWM5 channel 2 (11, 27 or -1:no assign)"
|
|
default 11
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the B channel it must be
|
|
either 11 or 27, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
endif # RP2040_PWM5
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_PWM6
|
|
|
|
config RP2040_PWM6A_GPIO
|
|
int "GPIO pin for PWM6 channel 1 (12, 28 or -1:no assign)"
|
|
default 12
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the A channel it must be
|
|
either 12 or 28, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
if PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
config RP2040_PWM6B_GPIO
|
|
int "GPIO pin for PWM6 channel 2 (13, 29 or -1:no assign)"
|
|
default 13
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the B channel it must be
|
|
either 13 or 29, any other value disables the output.
|
|
Refer to board documentation to see which pins are available.
|
|
|
|
endif # PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
endif # RP2040_PWM6
|
|
|
|
#####################################################################
|
|
|
|
if RP2040_PWM7
|
|
|
|
config RP2040_PWM7A_GPIO
|
|
int "GPIO pin for PWM7 channel 1 (14 or -1:no assign)"
|
|
default 14
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the A channel it must be
|
|
either 14, any other value disables the output.
|
|
Refer to board documentation to see if pin 14 is available.
|
|
|
|
if PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
config RP2040_PWM7B_GPIO
|
|
int "GPIO pin for PWM7 channel 2 (15 or -1:no assign)"
|
|
default 15
|
|
range -1 29
|
|
---help---
|
|
This sets the GPIO pin to use for the B channel it must be
|
|
either 15, any other value disables the output.
|
|
Refer to board documentation to see if pin 15 is available.
|
|
|
|
endif # PWM_MULTICHAN && PWM_NCHANNELS > 1
|
|
|
|
endif # RP2040_PWM7
|
|
|
|
#####################################################################
|
|
# I2S Configuration
|
|
#####################################################################
|
|
|
|
if RP2040_I2S
|
|
|
|
config RP2040_I2S_DATA
|
|
int "GPIO pin for I2S DATA (0-29)"
|
|
default 9
|
|
range 0 29
|
|
|
|
config RP2040_I2S_CLOCK
|
|
int "GPIO pin for I2S CLOCK (0-29)"
|
|
default 10
|
|
range 0 29
|
|
|
|
endif # RP2040_I2S
|
|
|
|
|
|
#####################################################################
|
|
# WS2812 Configuration
|
|
#####################################################################
|
|
|
|
if RP2040_BOARD_HAS_WS2812
|
|
|
|
config RP2040_WS2812_GPIO_PIN
|
|
int "GPIO pin for ws2812 data line (0-29)"
|
|
default 0
|
|
range 0 29
|
|
---help---
|
|
This is the GPIO pin used to send data to the
|
|
configured ws2812 pixels.
|
|
|
|
config RP2040_WS2812_PWR_GPIO
|
|
int "GPIO pin for ws2812 power (0-29, or -1 if not used)"
|
|
default -1
|
|
range -1 29
|
|
---help---
|
|
Some RP2040 boards have an on-board ws2812
|
|
that is powered by a GPIO pin. Set this
|
|
value to -1 if your board does not have
|
|
such a pin.
|
|
|
|
endif # RP2040_BOARD_HAS_WS2812
|