mirror of
https://github.com/apache/nuttx.git
synced 2026-05-21 21:34:07 +08:00
Added Adafruit QT Py RP2040 board.
Added ability to configure indivdual UART, SPI and I2C pin location.
This commit is contained in:
@@ -55,9 +55,10 @@ the power.
|
||||
|
||||
Pin Mapping
|
||||
===========
|
||||
Pads numbered anticlockwise from USB connector.
|
||||
|
||||
===== ========== ==========
|
||||
Pin Signal Notes
|
||||
Pad Signal Notes
|
||||
===== ========== ==========
|
||||
1 Reset Pull to ground to reset the RP2040 processor.
|
||||
2 3.3V Power out to peripherals.
|
||||
|
||||
@@ -50,9 +50,10 @@ A ws2812 (NeoPixel) smart RGB LED controlled by GPIO17.
|
||||
|
||||
Pin Mapping
|
||||
===========
|
||||
Pads numbered anticlockwise from USB connector.
|
||||
|
||||
===== ========== ==========
|
||||
Pin Signal Notes
|
||||
Pad Signal Notes
|
||||
===== ========== ==========
|
||||
1 D+ Alternate USB data connection.
|
||||
2 GPIO0 Default TX for UART0 serial console
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 125 KiB |
@@ -0,0 +1,119 @@
|
||||
=======================
|
||||
Adafruit QT Py RP2040
|
||||
=======================
|
||||
|
||||
The QT Py RP2040 is a tiny general purpose RP2040 board supplied by
|
||||
Adafruit.
|
||||
|
||||
.. figure:: QT-Py.png
|
||||
:align: center
|
||||
|
||||
Features
|
||||
========
|
||||
|
||||
* RP2040 microcontroller chip
|
||||
* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
|
||||
* 264kB of SRAM, and 8MB of on-board Flash memory
|
||||
* Castellated module allows soldering direct to carrier boards
|
||||
* USB Host and Device support via type C connector.
|
||||
* Low-power sleep and dormant modes
|
||||
* Drag & drop programming using mass storage over USB
|
||||
* 13 multi-function GPIO pins (11 breakout pads and two QT pads)
|
||||
* 2× SPI, 2× I2C, 2× UART, 4× 12-bit ADC, 16× controllable PWM channels
|
||||
* Accurate clock and timer on-chip
|
||||
* Temperature sensor
|
||||
* Accelerated floating point libraries on-chip
|
||||
* 8 × Programmable IO (PIO) state machines for custom peripheral support
|
||||
|
||||
Serial Console
|
||||
==============
|
||||
|
||||
By default a serial console appears on GPIO pins 20 (RX GPIO1) and pin 5
|
||||
(TX GPIO1). This console runs a 115200-8N1.
|
||||
|
||||
The board can be configured to use the USB connection as the serial console.
|
||||
|
||||
Buttons and LEDs
|
||||
================
|
||||
|
||||
A ws2812 (NeoPixel) smart RGB LED controlled by GPIO12 (data) and
|
||||
GPIO11 (power).
|
||||
|
||||
There is a BOOT button which if held down when power is first
|
||||
applied or the RESET button is pressed will cause the RP2040 to
|
||||
boot into program mode and appear as a storage device to
|
||||
a USB connecter. Saving a .UF2 file to this device will
|
||||
replace the Flash ROM contents on the RP2040.
|
||||
|
||||
A RESET button that allows rebooting the board without disconnecting
|
||||
the power.
|
||||
|
||||
Pin Mapping
|
||||
===========
|
||||
Pads numbered anticlockwise from USB connector.
|
||||
|
||||
===== ========== ==========
|
||||
Pad Signal Notes
|
||||
===== ========== ==========
|
||||
1 GPIO26 ADC0
|
||||
2 GPIO27 ADC1
|
||||
3 GPIO28 ADC2
|
||||
4 GPIO29 ADC3
|
||||
5 GPIO24
|
||||
6 GPIO25
|
||||
7 GPIO20 Default TX for UART1 serial console
|
||||
8 GPIO5 Default RX for UART1 serial console
|
||||
9 GPIO6
|
||||
10 GPIO4
|
||||
11 GPIO3
|
||||
12 3.3V Power out to peripherals.
|
||||
13 Ground
|
||||
14 5V
|
||||
===== ========== ==========
|
||||
|
||||
The board has a STEMMA QT connector that is also connected to
|
||||
pins GPIO22 (I2C1 SDA) and GPIO23 (I2C1 SCL).
|
||||
|
||||
Power Supply
|
||||
============
|
||||
|
||||
The Raspberry Pi Pico can be powered via the USB connector,
|
||||
or by supplying +5V to pin 14. The board had a diode that prevents
|
||||
power from pin 14 from flowing back to the USB socket, although
|
||||
this can be disabled by connecting on-board solder pads if there
|
||||
is need to run as a usb host.
|
||||
|
||||
The Raspberry Pi Pico chip run on 3.3 volts which is supplied by
|
||||
an on board regulator.
|
||||
|
||||
|
||||
Configurations
|
||||
==============
|
||||
|
||||
gpio
|
||||
--------
|
||||
|
||||
NuttShell configuration (console enabled in UART1, at 115200 bps) with GPIO examples.
|
||||
|
||||
nsh
|
||||
---
|
||||
|
||||
Basic NuttShell configuration (console enabled in UART1, at 115200 bps).
|
||||
|
||||
nshsram
|
||||
-------
|
||||
|
||||
NuttShell configuration (console enabled in UART1, at 115200 bps) with interrupt
|
||||
vectors in RAM.
|
||||
|
||||
smp
|
||||
---
|
||||
|
||||
Basic NuttShell configuration (console enabled in UART1, at 115200 bps) with
|
||||
both ARM cores enabled.
|
||||
|
||||
usbnsh
|
||||
------
|
||||
|
||||
Basic NuttShell configuration (console enabled in USB Port, at 115200 bps).
|
||||
|
||||
@@ -46,9 +46,10 @@ on the RP2040.
|
||||
|
||||
Pin Mapping
|
||||
===========
|
||||
Pads numbered anticlockwise from USB connector.
|
||||
|
||||
===== ========== ==========
|
||||
Pin Signal Notes
|
||||
Pad Signal Notes
|
||||
===== ========== ==========
|
||||
1 VBUS Connected to USB +5V
|
||||
2 Ground
|
||||
|
||||
@@ -46,9 +46,10 @@ on the RP2040.
|
||||
|
||||
Pin Mapping
|
||||
===========
|
||||
Pads numbered anticlockwise from USB connector.
|
||||
|
||||
===== ========== ==========
|
||||
Pin Signal Notes
|
||||
Pad Signal Notes
|
||||
===== ========== ==========
|
||||
1 GPIO0 Default TX for UART0 serial console
|
||||
2 GPIO1 Default RX for UART1 serial console
|
||||
|
||||
@@ -236,6 +236,7 @@ config ARCH_CHIP_RP2040
|
||||
select ARM_HAVE_WFE_SEV
|
||||
select LIBC_ARCH_ATOMIC
|
||||
select ARCH_HAVE_PWM_MULTICHAN
|
||||
select ARCH_BOARD_COMMON
|
||||
---help---
|
||||
Raspberry Pi RP2040 architectures (ARM dual Cortex-M0+).
|
||||
|
||||
|
||||
+563
-251
File diff suppressed because it is too large
Load Diff
@@ -487,15 +487,15 @@ struct i2c_slave_s * rp2040_i2c0_slave_initialize
|
||||
{
|
||||
rp2040_i2c_slave_t *priv = &i2c0_slave_dev;
|
||||
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C0_SLAVE_SDA,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C0_SDA_GPIO,
|
||||
RP2040_GPIO_FUNC_I2C);
|
||||
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C0_SLAVE_SDA, true, false);
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C0_SDA_GPIO, true, false);
|
||||
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C0_SLAVE_SCL,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C0_SCL_GPIO,
|
||||
RP2040_GPIO_FUNC_I2C);
|
||||
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C0_SLAVE_SCL, true, false);
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C0_SCL_GPIO, true, false);
|
||||
|
||||
priv->rx_buffer = rx_buffer;
|
||||
priv->rx_buf_ptr = rx_buffer;
|
||||
@@ -552,15 +552,15 @@ struct i2c_slave_s * rp2040_i2c1_slave_initialize
|
||||
{
|
||||
rp2040_i2c_slave_t *priv = &i2c1_slave_dev;
|
||||
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C1_SLAVE_SDA,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C1_SDA_GPIO,
|
||||
RP2040_GPIO_FUNC_I2C);
|
||||
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C1_SLAVE_SDA, true, false);
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C1_SDA_GPIO, true, false);
|
||||
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C1_SLAVE_SCL,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C1_SCL_GPIO,
|
||||
RP2040_GPIO_FUNC_I2C);
|
||||
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C1_SLAVE_SCL, true, false);
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C1_SCL_GPIO, true, false);
|
||||
|
||||
priv->rx_buffer = rx_buffer;
|
||||
priv->rx_buf_ptr = rx_buffer;
|
||||
|
||||
@@ -48,6 +48,7 @@ struct instance
|
||||
FAR uint8_t *pixels; /* Buffer to hold pixels */
|
||||
size_t open_count; /* Number of opens on this instance. */
|
||||
clock_t last_dma; /* when last DMA completed. */
|
||||
int power_pin; /* pin for ws2812 power */
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
@@ -168,57 +169,40 @@ static int my_open(FAR struct file *filep)
|
||||
{
|
||||
FAR struct inode *inode = filep->f_inode;
|
||||
FAR struct ws2812_dev_s *dev_data = inode->i_private;
|
||||
FAR struct instance *priv;
|
||||
FAR struct instance *priv = (FAR struct instance *)
|
||||
dev_data->private;
|
||||
rp2040_pio_sm_config config;
|
||||
int divisor;
|
||||
int ret;
|
||||
|
||||
nxsem_wait(&dev_data->exclsem);
|
||||
|
||||
if (dev_data->private != NULL)
|
||||
priv->open_count += 1;
|
||||
|
||||
if (priv->pixels != NULL)
|
||||
{
|
||||
/* We've already been initialized. Keep on truckin' */
|
||||
|
||||
ledinfo("rp2040_ws2812 re-open dev: 0x%08lX\n", (uint32_t) dev_data);
|
||||
|
||||
priv = (FAR struct instance *) dev_data->private;
|
||||
priv->open_count += 1;
|
||||
|
||||
ret = OK;
|
||||
goto post_and_return;
|
||||
}
|
||||
|
||||
ledinfo("rp2040_ws2812 open dev: 0x%08lX\n", (uint32_t) dev_data);
|
||||
|
||||
/* Allocate struct holding out persistent data */
|
||||
|
||||
priv = kmm_zalloc(sizeof(struct instance));
|
||||
|
||||
if (priv == NULL)
|
||||
{
|
||||
lederr("rp2040_ws2812 open: out of memory\n");
|
||||
|
||||
ret = -ENOMEM;
|
||||
goto post_and_return;
|
||||
}
|
||||
|
||||
priv->open_count = 1;
|
||||
|
||||
/* Allocate the pixel buffer */
|
||||
|
||||
priv->pixels = kmm_zalloc(4 * dev_data->nleds);
|
||||
priv->pixels = kmm_zalloc(4 * dev_data->nleds);
|
||||
|
||||
if (priv->pixels == NULL)
|
||||
{
|
||||
kmm_free(priv);
|
||||
lederr("rp2040_ws2812 open: out of memory\n");
|
||||
|
||||
ret = -ENOMEM;
|
||||
goto post_and_return;
|
||||
}
|
||||
|
||||
dev_data->private = priv;
|
||||
|
||||
/* ==== Load the pio program ==== */
|
||||
|
||||
/* get pio instance and load program */
|
||||
@@ -254,9 +238,6 @@ static int my_open(FAR struct file *filep)
|
||||
{
|
||||
kmm_free(priv->pixels);
|
||||
|
||||
dev_data->private = NULL;
|
||||
kmm_free(priv);
|
||||
|
||||
ret = -ENOMEM;
|
||||
goto post_and_return;
|
||||
}
|
||||
@@ -329,6 +310,15 @@ static int my_open(FAR struct file *filep)
|
||||
|
||||
rp2040_pio_sm_set_enabled(priv->pio, priv->pio_sm, true);
|
||||
|
||||
/* Turn on the power pin if any */
|
||||
|
||||
if (priv->power_pin >= 0)
|
||||
{
|
||||
rp2040_gpio_init(priv->power_pin);
|
||||
rp2040_gpio_setdir(priv->power_pin, true);
|
||||
rp2040_gpio_put(priv->power_pin, true);
|
||||
}
|
||||
|
||||
ret = OK;
|
||||
|
||||
post_and_return:
|
||||
@@ -363,6 +353,11 @@ static int my_close(FAR struct file *filep)
|
||||
|
||||
priv->open_count -= 1;
|
||||
|
||||
if (priv->open_count == 0 && priv->power_pin >= 0)
|
||||
{
|
||||
rp2040_gpio_put(priv->power_pin, false);
|
||||
}
|
||||
|
||||
nxsem_post(&dev_data->exclsem);
|
||||
|
||||
return OK;
|
||||
@@ -538,6 +533,7 @@ static ssize_t my_read(FAR struct file *filep,
|
||||
* Input Parameters:
|
||||
* Path to the ws2812 device (e.g. "/dev/leds0")
|
||||
* Port number for the ws2812 chain
|
||||
* Pin for ws2812 power
|
||||
* The number of pixels in the chain
|
||||
* Whether ws2812s have white LEDs
|
||||
*
|
||||
@@ -548,10 +544,12 @@ static ssize_t my_read(FAR struct file *filep,
|
||||
|
||||
FAR void * rp2040_ws2812_setup(FAR const char *path,
|
||||
int port,
|
||||
int power_pin,
|
||||
uint16_t pixel_count,
|
||||
bool has_white)
|
||||
{
|
||||
FAR struct ws2812_dev_s * dev_data;
|
||||
FAR struct instance * priv;
|
||||
int err;
|
||||
|
||||
dev_data = kmm_zalloc(sizeof(struct ws2812_dev_s));
|
||||
@@ -562,6 +560,19 @@ FAR void * rp2040_ws2812_setup(FAR const char *path,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Allocate struct holding out persistent data */
|
||||
|
||||
priv = kmm_zalloc(sizeof(struct instance));
|
||||
|
||||
if (priv == NULL)
|
||||
{
|
||||
lederr("rp2040_ws2812 open: out of memory\n");
|
||||
|
||||
kmm_free(dev_data);
|
||||
set_errno(ENOMEM);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dev_data->open = my_open;
|
||||
dev_data->close = my_close;
|
||||
dev_data->write = my_write;
|
||||
@@ -569,9 +580,12 @@ FAR void * rp2040_ws2812_setup(FAR const char *path,
|
||||
dev_data->port = port;
|
||||
dev_data->nleds = pixel_count;
|
||||
dev_data->clock = CONFIG_WS2812_FREQUENCY;
|
||||
dev_data->private = priv;
|
||||
|
||||
nxsem_init(&dev_data->exclsem, 0, 1);
|
||||
|
||||
priv->power_pin = power_pin;
|
||||
|
||||
ledinfo("register dev_data: 0x%08lX\n", (uint32_t) dev_data);
|
||||
|
||||
err = ws2812_register(path, dev_data);
|
||||
|
||||
@@ -53,6 +53,7 @@ extern "C"
|
||||
* Input Parameters:
|
||||
* Path to the ws2812 device (e.g. "/dev/leds0")
|
||||
* Port number for the ws2812 chain
|
||||
* Pin for ws2812 power
|
||||
* The number of pixels in the chain
|
||||
* Whether ws2812s have white LEDs
|
||||
*
|
||||
@@ -63,6 +64,7 @@ extern "C"
|
||||
|
||||
FAR void * rp2040_ws2812_setup(FAR const char *path,
|
||||
int port,
|
||||
int power_pin,
|
||||
uint16_t pixel_count,
|
||||
bool has_white);
|
||||
|
||||
|
||||
@@ -1494,6 +1494,13 @@ config ARCH_BOARD_ADAFRUIT_KB2040
|
||||
This is a port to the Adafruit KB2040 board.
|
||||
Support is derived from Raspberry Pi Pico support.
|
||||
|
||||
config ARCH_BOARD_ADAFRUIT_QT_PY_RP2040
|
||||
bool "Adafruit QT Py RP2040 board"
|
||||
depends on ARCH_CHIP_RP2040
|
||||
---help---
|
||||
This is a port to the Adafruit QT Py RP2040 board.
|
||||
Support is derived from Raspberry Pi Pico support.
|
||||
|
||||
config ARCH_BOARD_RX65N
|
||||
bool "RX65N renesas board"
|
||||
depends on ARCH_CHIP_R5F565NEDDFC
|
||||
@@ -2645,6 +2652,7 @@ config ARCH_BOARD
|
||||
default "pimoroni-tiny2040" if ARCH_BOARD_PIMORONI_TINY2040
|
||||
default "adafruit-feather-rp2040" if ARCH_BOARD_ADAFRUIT_FEATHER_RP2040
|
||||
default "adafruit-kb2040" if ARCH_BOARD_ADAFRUIT_KB2040
|
||||
default "adafruit-qt-py-rp2040" if ARCH_BOARD_ADAFRUIT_QT_PY_RP2040
|
||||
default "rx65n" if ARCH_BOARD_RX65N
|
||||
default "rx65n-rsk1mb" if ARCH_BOARD_RX65N_RSK1MB
|
||||
default "rx65n-rsk2mb" if ARCH_BOARD_RX65N_RSK2MB
|
||||
@@ -2989,6 +2997,9 @@ endif
|
||||
if ARCH_BOARD_ADAFRUIT_KB2040
|
||||
source "boards/arm/rp2040/adafruit-kb2040/Kconfig"
|
||||
endif
|
||||
if ARCH_BOARD_ADAFRUIT_QT_PY_RP2040
|
||||
source "boards/arm/rp2040/adafruit-qt-py-rp2040/Kconfig"
|
||||
endif
|
||||
if ARCH_BOARD_ARDUINO_DUE
|
||||
source "boards/arm/sam34/arduino-due/Kconfig"
|
||||
endif
|
||||
|
||||
@@ -13,11 +13,12 @@ config RP2040_FLASH_BOOT
|
||||
If not, the binary is for SRAM boot.
|
||||
|
||||
config RP2040_FLASH_CHIP
|
||||
string "flash chip name"
|
||||
string "Second stage boot loader"
|
||||
default "w25q080"
|
||||
---help---
|
||||
Name of NOR flash device connected to RP2040 SoC.
|
||||
(Used to choose the secondary boot loader.)
|
||||
This is the name of the Pico-SDK second stage boot loader
|
||||
to use for this board. This board using a Q64 flash chip
|
||||
which is compatible with the w25q080 boot loader.
|
||||
Basically this option should not be changed.
|
||||
|
||||
config RP2040_UF2_BINARY
|
||||
@@ -26,291 +27,6 @@ config RP2040_UF2_BINARY
|
||||
---help---
|
||||
Create nuttx.uf2 binary format used on RP2040 based arch.
|
||||
|
||||
config RP2040_UART0_GPIO
|
||||
int "UART0 GPIO pin assign (0,12,28 or -1:no assign)"
|
||||
default 0
|
||||
range -1 29
|
||||
depends on RP2040_UART0
|
||||
|
||||
config RP2040_UART1_GPIO
|
||||
int "UART1 GPIO pin assign (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,8,12,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,18,26 or -1:no assign)"
|
||||
default -1
|
||||
range -1 29
|
||||
depends on RP2040_I2C1
|
||||
|
||||
if RP2040_PWM0
|
||||
config RP2040_PWM0A_GPIO
|
||||
int "PWM0 channel 1 GPIO pin assign (0 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 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 (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.
|
||||
|
||||
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 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 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
|
||||
|
||||
config RP2040_SPI0_GPIO
|
||||
int "SPI0 GPIO pin assign (0,16 or -1:no assign)"
|
||||
default -1
|
||||
range -1 29
|
||||
depends on RP2040_SPI0
|
||||
|
||||
config RP2040_SPI1_GPIO
|
||||
int "SPI1 GPIO pin assign (8,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
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -55,7 +54,10 @@ CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_I2S=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_SPISD=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -54,7 +53,10 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_SPISD=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -82,7 +81,10 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -57,12 +56,14 @@ CONFIG_RAM_SIZE=270336
|
||||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_ENC28J60_INTR_GPIO=11
|
||||
CONFIG_RP2040_ENC28J60_RESET_GPIO=10
|
||||
CONFIG_RP2040_ENC28J60_INTR_GPIO=19
|
||||
CONFIG_RP2040_ENC28J60_RESET_GPIO=18
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI1=y
|
||||
CONFIG_RP2040_SPI1_GPIO=12
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -42,7 +41,8 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_I2C0=y
|
||||
CONFIG_RP2040_I2C0_GPIO=4
|
||||
CONFIG_RP2040_I2C0_SCL_GPIO=9
|
||||
CONFIG_RP2040_I2C0_SDA_GPIO=8
|
||||
CONFIG_RP2040_I2C=y
|
||||
CONFIG_RP2040_I2C_DRIVER=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -46,7 +45,6 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_SPISD=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -61,7 +60,8 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_I2C0=y
|
||||
CONFIG_RP2040_I2C0_GPIO=4
|
||||
CONFIG_RP2040_I2C0_SCL_GPIO=9
|
||||
CONFIG_RP2040_I2C0_SDA_GPIO=8
|
||||
CONFIG_RP2040_I2C=y
|
||||
CONFIG_RP2040_I2C_DRIVER=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -45,7 +44,6 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI1=y
|
||||
CONFIG_RP2040_SPI1_GPIO=12
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -48,7 +47,10 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_SPISD=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -79,7 +78,6 @@ CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_LCD_SPI_CH=1
|
||||
CONFIG_RP2040_SPI1=y
|
||||
CONFIG_RP2040_SPI1_GPIO=8
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-feather-rp2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_FEATHER_RP2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -76,7 +75,6 @@ CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_LCD_SPI_CH=1
|
||||
CONFIG_RP2040_SPI1=y
|
||||
CONFIG_RP2040_SPI1_GPIO=8
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=16
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
MEMORY
|
||||
{
|
||||
flash (rx) : ORIGIN = 0x10000000, LENGTH = 2048K
|
||||
flash (rx) : ORIGIN = 0x10000000, LENGTH = 8192K
|
||||
sram (rwx) : ORIGIN = 0x20000000, LENGTH = 264K
|
||||
}
|
||||
|
||||
|
||||
@@ -70,32 +70,32 @@ void rp2040_boardearlyinitialize(void)
|
||||
|
||||
/* Set default UART pin */
|
||||
|
||||
#if defined(CONFIG_RP2040_UART0) && CONFIG_RP2040_UART0_GPIO >= 0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART0_GPIO,
|
||||
#ifdef CONFIG_RP2040_UART0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART0_TX_GPIO,
|
||||
RP2040_GPIO_FUNC_UART); /* TX */
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART0_GPIO + 1,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART0_RX_GPIO,
|
||||
RP2040_GPIO_FUNC_UART); /* RX */
|
||||
#ifdef CONFIG_SERIAL_OFLOWCONTROL
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART0_GPIO + 2,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART0_CTS_GPIO,
|
||||
RP2040_GPIO_FUNC_UART); /* CTS */
|
||||
#endif
|
||||
#ifdef CONFIG_SERIAL_IFLOWCONTROL
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART0_GPIO + 3,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART0_RTS_GPIO,
|
||||
RP2040_GPIO_FUNC_UART); /* RTS */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_RP2040_UART1) && CONFIG_RP2040_UART1_GPIO >= 0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART1_GPIO,
|
||||
#ifdef CONFIG_RP2040_UART1
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART1_TX_GPIO,
|
||||
RP2040_GPIO_FUNC_UART); /* TX */
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART1_GPIO + 1,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART1_RX_GPIO,
|
||||
RP2040_GPIO_FUNC_UART); /* RX */
|
||||
#ifdef CONFIG_SERIAL_OFLOWCONTROL
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART1_GPIO + 2,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART1_CTS_GPIO,
|
||||
RP2040_GPIO_FUNC_UART); /* CTS */
|
||||
#endif
|
||||
#ifdef CONFIG_SERIAL_IFLOWCONTROL
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART1_GPIO + 3,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_UART1_RTS_GPIO,
|
||||
RP2040_GPIO_FUNC_UART); /* RTS */
|
||||
#endif
|
||||
#endif
|
||||
@@ -112,55 +112,55 @@ void rp2040_boardinitialize(void)
|
||||
{
|
||||
/* Set default I2C pin */
|
||||
|
||||
#if defined(CONFIG_RP2040_I2C0) && CONFIG_RP2040_I2C0_GPIO >= 0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C0_GPIO,
|
||||
#ifdef CONFIG_RP2040_I2C0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C0_SDA_GPIO,
|
||||
RP2040_GPIO_FUNC_I2C); /* SDA */
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C0_GPIO + 1,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C0_SCL_GPIO,
|
||||
RP2040_GPIO_FUNC_I2C); /* SCL */
|
||||
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C0_GPIO, true, false); /* Pull up */
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C0_GPIO + 1, true, false);
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C0_SDA_GPIO, true, false); /* Pull up */
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C0_SCL_GPIO, true, false);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_RP2040_I2C1) && CONFIG_RP2040_I2C1_GPIO >= 0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C1_GPIO,
|
||||
#ifdef CONFIG_RP2040_I2C1
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C1_SDA_GPIO,
|
||||
RP2040_GPIO_FUNC_I2C); /* SDA */
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C1_GPIO + 1,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_I2C1_SCL_GPIO,
|
||||
RP2040_GPIO_FUNC_I2C); /* SCL */
|
||||
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C1_GPIO, true, false); /* Pull up */
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C1_GPIO + 1, true, false);
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C1_SDA_GPIO, true, false); /* Pull up */
|
||||
rp2040_gpio_set_pulls(CONFIG_RP2040_I2C1_SCL_GPIO, true, false);
|
||||
#endif
|
||||
|
||||
/* Set default SPI pin */
|
||||
|
||||
#if defined(CONFIG_RP2040_SPI0) && CONFIG_RP2040_SPI0_GPIO >= 0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI0_GPIO,
|
||||
#ifdef CONFIG_RP2040_SPI0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI0_RX_GPIO,
|
||||
RP2040_GPIO_FUNC_SPI); /* RX */
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI0_GPIO + 2,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI0_SCK_GPIO,
|
||||
RP2040_GPIO_FUNC_SPI); /* SCK */
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI0_GPIO + 3,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI0_TX_GPIO,
|
||||
RP2040_GPIO_FUNC_SPI); /* TX */
|
||||
|
||||
/* CSn is controlled by board-specific logic */
|
||||
|
||||
rp2040_gpio_init(CONFIG_RP2040_SPI0_GPIO + 1); /* CSn */
|
||||
rp2040_gpio_setdir(CONFIG_RP2040_SPI0_GPIO + 1, true);
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI0_GPIO + 1, true);
|
||||
rp2040_gpio_init(CONFIG_RP2040_SPI0_CS_GPIO); /* CSn */
|
||||
rp2040_gpio_setdir(CONFIG_RP2040_SPI0_CS_GPIO, true);
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI0_CS_GPIO, true);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_RP2040_SPI1) && CONFIG_RP2040_SPI1_GPIO >= 0
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI1_GPIO,
|
||||
#ifdef CONFIG_RP2040_SPI1
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI1_RX_GPIO,
|
||||
RP2040_GPIO_FUNC_SPI); /* RX */
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI1_GPIO + 2,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI1_SCK_GPIO,
|
||||
RP2040_GPIO_FUNC_SPI); /* SCK */
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI1_GPIO + 3,
|
||||
rp2040_gpio_set_function(CONFIG_RP2040_SPI1_TX_GPIO,
|
||||
RP2040_GPIO_FUNC_SPI); /* TX */
|
||||
|
||||
/* CSn is controlled by board-specific logic */
|
||||
|
||||
rp2040_gpio_init(CONFIG_RP2040_SPI1_GPIO + 1); /* CSn */
|
||||
rp2040_gpio_setdir(CONFIG_RP2040_SPI1_GPIO + 1, true);
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI1_GPIO + 1, true);
|
||||
rp2040_gpio_init(CONFIG_RP2040_SPI1_CS_GPIO); /* CSn */
|
||||
rp2040_gpio_setdir(CONFIG_RP2040_SPI1_CS_GPIO, true);
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI1_CS_GPIO, true);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -462,6 +462,7 @@ int rp2040_bringup(void)
|
||||
#if defined(CONFIG_RP2040_BOARD_HAS_WS2812) && defined(CONFIG_WS2812)
|
||||
rp2040_ws2812_setup("/dev/leds0",
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN,
|
||||
CONFIG_RP2040_WS2812_PWR_GPIO,
|
||||
CONFIG_WS2812_LED_COUNT,
|
||||
HAS_WHITE);
|
||||
#endif
|
||||
|
||||
@@ -74,7 +74,7 @@ void rp2040_spi0select(struct spi_dev_s *dev, uint32_t devid,
|
||||
spiinfo("devid: %d CS: %s\n", (int)devid,
|
||||
selected ? "assert" : "de-assert");
|
||||
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI0_GPIO + 1, !selected);
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI0_CS_GPIO, !selected);
|
||||
}
|
||||
|
||||
uint8_t rp2040_spi0status(struct spi_dev_s *dev, uint32_t devid)
|
||||
@@ -97,7 +97,7 @@ int rp2040_spi0cmddata(struct spi_dev_s *dev, uint32_t devid, bool cmd)
|
||||
* data bits are data or a command.
|
||||
*/
|
||||
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI0_GPIO, !cmd);
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI0_RX_GPIO, !cmd);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -115,7 +115,7 @@ void rp2040_spi1select(struct spi_dev_s *dev, uint32_t devid,
|
||||
spiinfo("devid: %d CS: %s\n", (int)devid,
|
||||
selected ? "assert" : "de-assert");
|
||||
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI1_GPIO + 1, !selected);
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI1_CS_GPIO, !selected);
|
||||
}
|
||||
|
||||
uint8_t rp2040_spi1status(struct spi_dev_s *dev, uint32_t devid)
|
||||
@@ -138,7 +138,7 @@ int rp2040_spi1cmddata(struct spi_dev_s *dev, uint32_t devid, bool cmd)
|
||||
* data bits are data or a command.
|
||||
*/
|
||||
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI1_GPIO, !cmd);
|
||||
rp2040_gpio_put(CONFIG_RP2040_SPI1_RX_GPIO, !cmd);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -13,11 +13,12 @@ config RP2040_FLASH_BOOT
|
||||
If not, the binary is for SRAM boot.
|
||||
|
||||
config RP2040_FLASH_CHIP
|
||||
string "flash chip name"
|
||||
string "Second stage boot loader"
|
||||
default "w25q080"
|
||||
---help---
|
||||
Name of NOR flash device connected to RP2040 SoC.
|
||||
(Used to choose the secondary boot loader.)
|
||||
This is the name of the Pico-SDK second stage boot loader
|
||||
to use for this board. This board using a Q64 flash chip
|
||||
which is compatible with the w25q080 boot loader.
|
||||
Basically this option should not be changed.
|
||||
|
||||
config RP2040_UF2_BINARY
|
||||
@@ -26,308 +27,6 @@ config RP2040_UF2_BINARY
|
||||
---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,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,18,26 or -1:no assign)"
|
||||
default -1
|
||||
range -1 29
|
||||
depends on RP2040_I2C1
|
||||
|
||||
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 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 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 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 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 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 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 (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
|
||||
|
||||
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
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -55,7 +54,10 @@ CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_I2S=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_SPISD=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -54,7 +53,10 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_SPISD=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -82,7 +81,10 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -57,12 +56,15 @@ CONFIG_RAM_SIZE=270336
|
||||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_ENC28J60_INTR_GPIO=11
|
||||
CONFIG_RP2040_ENC28J60_RESET_GPIO=10
|
||||
CONFIG_RP2040_ENC28J60_INTR_GPIO=3
|
||||
CONFIG_RP2040_ENC28J60_RESET_GPIO=2
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI1=y
|
||||
CONFIG_RP2040_SPI1_GPIO=12
|
||||
CONFIG_RP2040_SPI1_TX_GPIO=27
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -42,7 +41,6 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_I2C0=y
|
||||
CONFIG_RP2040_I2C0_GPIO=4
|
||||
CONFIG_RP2040_I2C=y
|
||||
CONFIG_RP2040_I2C_DRIVER=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_STACKDUMP=y
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=2048
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -46,7 +45,10 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_SPISD=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -61,7 +60,6 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_I2C0=y
|
||||
CONFIG_RP2040_I2C0_GPIO=4
|
||||
CONFIG_RP2040_I2C=y
|
||||
CONFIG_RP2040_I2C_DRIVER=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -45,7 +44,7 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI1=y
|
||||
CONFIG_RP2040_SPI1_GPIO=12
|
||||
CONFIG_RP2040_SPI1_TX_GPIO=27
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -48,7 +47,10 @@ CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_SPI0=y
|
||||
CONFIG_RP2040_SPI0_GPIO=16
|
||||
CONFIG_RP2040_SPI0_CS_GPIO=5
|
||||
CONFIG_RP2040_SPI0_RX_GPIO=4
|
||||
CONFIG_RP2040_SPI0_SCK_GPIO=6
|
||||
CONFIG_RP2040_SPI0_TX_GPIO=7
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_SPISD=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -79,7 +78,6 @@ CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_LCD_SPI_CH=1
|
||||
CONFIG_RP2040_SPI1=y
|
||||
CONFIG_RP2040_SPI1_GPIO=8
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARCH_BOARD="adafruit-kb2040"
|
||||
CONFIG_ARCH_BOARD_ADAFRUIT_KB2040=y
|
||||
CONFIG_ARCH_BOARD_COMMON=y
|
||||
CONFIG_ARCH_CHIP="rp2040"
|
||||
CONFIG_ARCH_CHIP_RP2040=y
|
||||
CONFIG_ARCH_RAMVECTORS=y
|
||||
@@ -76,7 +75,6 @@ CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RP2040_BOARD_HAS_WS2812=y
|
||||
CONFIG_RP2040_LCD_SPI_CH=1
|
||||
CONFIG_RP2040_SPI1=y
|
||||
CONFIG_RP2040_SPI1_GPIO=8
|
||||
CONFIG_RP2040_SPI=y
|
||||
CONFIG_RP2040_WS2812_GPIO_PIN=17
|
||||
CONFIG_RR_INTERVAL=200
|
||||
|
||||
@@ -62,10 +62,11 @@
|
||||
|
||||
/* GPIO definitions *********************************************************/
|
||||
|
||||
#undef BOARD_GPIO_LED_PIN
|
||||
#define BOARD_NGPIOOUT 1
|
||||
#define BOARD_NGPIOIN 1
|
||||
#define BOARD_NGPIOINT 1
|
||||
#undef BOARD_GPIO_LED_PIN
|
||||
#define BOARD_GPIO_WS2812_PWR_PIN 11
|
||||
#define BOARD_NGPIOOUT 1
|
||||
#define BOARD_NGPIOIN 1
|
||||
#define BOARD_NGPIOINT 1
|
||||
|
||||
/****************************************************************************
|
||||
* Public Types
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
MEMORY
|
||||
{
|
||||
flash (rx) : ORIGIN = 0x10000000, LENGTH = 2048K
|
||||
flash (rx) : ORIGIN = 0x10000000, LENGTH = 8192K
|
||||
sram (rwx) : ORIGIN = 0x20000000, LENGTH = 264K
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user