nuttx/boards/arm/rp2040/raspberrypi-pico/Kconfig

398 lines
9.9 KiB
Plaintext
Raw Normal View History

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
if ARCH_BOARD_RASPBERRYPI_PICO
config RP2040_FLASH_BOOT
bool "flash boot"
default y
---help---
If y, the built binary can be used for flash boot.
If not, the binary is for SRAM boot.
config RP2040_FLASH_CHIP
string "flash chip name"
default "w25q080"
---help---
Name of NOR flash device connected to RP2040 SoC.
(Used to choose the secondary boot loader.)
Basically this option should not be changed.
config RP2040_UF2_BINARY
bool "uf2 binary format"
default y
---help---
Create nuttx.uf2 binary format used on RP2040 based arch.
config RP2040_UART0_GPIO
int "UART0 GPIO pin assign (0,12,16,28 or -1:no assign)"
default 0
range -1 29
depends on RP2040_UART0
config RP2040_UART1_GPIO
int "UART1 GPIO pin assign (4,8,20,24 or -1:no assign)"
default -1
range -1 29
depends on RP2040_UART1
config RP2040_I2C0_GPIO
int "I2C0 GPIO pin assign (0,4,8,12,16,20,24,28 or -1:no assign)"
default -1
range -1 29
depends on RP2040_I2C0
config RP2040_I2C1_GPIO
int "I2C1 GPIO pin assign (2,6,10,14,18,22,26 or -1:no assign)"
default -1
range -1 29
depends on RP2040_I2C1
2022-06-23 02:23:07 +02:00
if RP2040_PWM0
config RP2040_PWM0A_GPIO
int "PWM0 channel 1 GPIO pin assign (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.
config RP2040_PWM0A_INVERT
bool "PWM0 channel 1 invert"
default n
---help---
If invert is enabled, the PWM on the A pin will idle high
with the pulse going low.
if PWM_MULTICHAN && PWM_NCHANNELS > 1
config RP2040_PWM0B_GPIO
int "PWM0 channel 2 GPIO pin assign (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.
config RP2040_PWM0B_INVERT
bool "PWM0 channel 2 invert"
default n
---help---
If invert is enabled, the PWM on the B pin will idle high
with the pulse going low.
endif
config RP2040_PWM0_PHASE_CORRECT
bool "PWM0 phase correct"
default n
endif
if RP2040_PWM1
config RP2040_PWM1A_GPIO
int "PWM1 channel 1 GPIO pin assign (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.
config RP2040_PWM1A_INVERT
bool "PWM1 channel 1 invert"
default n
---help---
If invert is enabled, the PWM on the A pin will idle high
with the pulse going low.
if PWM_MULTICHAN && PWM_NCHANNELS > 1
config RP2040_PWM1B_GPIO
int "PWM1 channel 2 GPIO pin assign (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.
config RP2040_PWM1B_INVERT
bool "PWM1 channel 2 invert"
default n
---help---
If invert is enabled, the PWM on the B pin will idle high
with the pulse going low.
endif
config RP2040_PWM1_PHASE_CORRECT
bool "PWM1 phase correct"
default n
endif
if RP2040_PWM2
config RP2040_PWM2A_GPIO
int "PWM2 channel 1 GPIO pin assign (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.
config RP2040_PWM2A_INVERT
bool "PWM2 channel 1 invert"
default n
---help---
If invert is enabled, the PWM on the A pin will idle high
with the pulse going low.
if PWM_MULTICHAN && PWM_NCHANNELS > 1
config RP2040_PWM2B_GPIO
int "PWM2 channel 2 GPIO pin assign (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.
config RP2040_PWM2B_INVERT
bool "PWM2 channel 2 invert"
default n
---help---
If invert is enabled, the PWM on the B pin will idle high
with the pulse going low.
endif
config RP2040_PWM2_PHASE_CORRECT
bool "PWM2 phase correct"
default n
endif
if RP2040_PWM3
config RP2040_PWM3A_GPIO
int "PWM3 channel 1 GPIO pin assign (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.
config RP2040_PWM3A_INVERT
bool "PWM3 channel 1 invert"
default n
---help---
If invert is enabled, the PWM on the A pin will idle high
with the pulse going low.
if PWM_MULTICHAN && PWM_NCHANNELS > 1
config RP2040_PWM3B_GPIO
int "PWM3 channel 2 GPIO pin assign (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.
config RP2040_PWM3B_INVERT
bool "PWM3 channel 2 invert"
default n
---help---
If invert is enabled, the PWM on the B pin will idle high
with the pulse going low.
endif
config RP2040_PWM3_PHASE_CORRECT
bool "PWM3 phase correct"
default n
endif
if RP2040_PWM4
config RP2040_PWM4A_GPIO
int "PWM4 channel 1 GPIO pin assign (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.
config RP2040_PWM4A_INVERT
bool "PWM4 channel 1 invert"
default n
---help---
If invert is enabled, the PWM on the A pin will idle high
with the pulse going low.
if PWM_MULTICHAN && PWM_NCHANNELS > 1
config RP2040_PWM4B_GPIO
int "PWM4 channel 2 GPIO pin assign (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.
config RP2040_PWM4B_INVERT
bool "PWM4 channel 2 invert"
default n
---help---
If invert is enabled, the PWM on the B pin will idle high
with the pulse going low.
endif
config RP2040_PWM4_PHASE_CORRECT
bool "PWM4 phase correct"
default n
endif
if RP2040_PWM5
config RP2040_PWM5A_GPIO
int "PWM5 channel 1 GPIO pin assign (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.
config RP2040_PWM5A_INVERT
bool "PWM5 channel 1 invert"
default n
---help---
If invert is enabled, the PWM on the A pin will idle high
with the pulse going low.
if PWM_MULTICHAN && PWM_NCHANNELS > 1
config RP2040_PWM5B_GPIO
int "PWM5 channel 2 GPIO pin assign (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.
config RP2040_PWM5B_INVERT
bool "PWM5 channel 2 invert"
default n
---help---
If invert is enabled, the PWM on the B pin will idle high
with the pulse going low.
endif
config RP2040_PWM5_PHASE_CORRECT
bool "PWM5 phase correct"
default n
endif
if RP2040_PWM6
config RP2040_PWM6A_GPIO
int "PWM6 channel 1 GPIO pin assign (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.
config RP2040_PWM6A_INVERT
bool "PWM6 channel 1 invert"
default n
---help---
If invert is enabled, the PWM on the A pin will idle high
with the pulse going low.
if PWM_MULTICHAN && PWM_NCHANNELS > 1
config RP2040_PWM6B_GPIO
int "PWM6 channel 2 GPIO pin assign (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.
config RP2040_PWM6B_INVERT
bool "PWM6 channel 2 invert"
default n
---help---
If invert is enabled, the PWM on the B pin will idle high
with the pulse going low.
endif
config RP2040_PWM6_PHASE_CORRECT
bool "PWM6 phase correct"
default n
endif
if RP2040_PWM7
config RP2040_PWM7A_GPIO
int "PWM7 channel 1 GPIO pin assign (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.
config RP2040_PWM7A_INVERT
bool "PWM7 channel 1 invert"
default n
---help---
If invert is enabled, the PWM on the A pin will idle high
with the pulse going low.
if PWM_MULTICHAN && PWM_NCHANNELS > 1
config RP2040_PWM7B_GPIO
int "PWM7 channel 2 GPIO pin assign (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.
config RP2040_PWM7B_INVERT
bool "PWM7 channel 2 invert"
default n
---help---
If invert is enabled, the PWM on the B pin will idle high
with the pulse going low.
endif
config RP2040_PWM7_PHASE_CORRECT
bool "PWM7 phase correct"
default n
endif
config RP2040_SPI0_GPIO
int "SPI0 GPIO pin assign (0,4,16,20 or -1:no assign)"
default -1
range -1 29
depends on RP2040_SPI0
config RP2040_SPI1_GPIO
int "SPI1 GPIO pin assign (8,12,24,28 or -1:no assign)"
default -1
range -1 29
depends on RP2040_SPI1
config RP2040_LCD_SPI_CH
int "RP2040 LCD SPI channel number"
default 0
range 0 1
depends on LCD
---help---
Select SPI channel number to use LCD display.
config RP2040_ENC28J60_SPI_CH
int "ENC28J60 SPI channel number"
default 1
range 0 1
depends on ENC28J60
---help---
Select SPI channel number to use ENC28J60 ethernet.
config RP2040_ENC28J60_INTR_GPIO
int "ENC28J60 interrupt GPIO pin assign"
default -1
range -1 29
depends on ENC28J60
config RP2040_ENC28J60_RESET_GPIO
int "ENC28J60 reset GPIO pin assign (optional)"
default -1
range -1 29
depends on ENC28J60
endif