From 7d13e47ebb7f8fe39fd2f2770d4b4619e53fdb83 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Tue, 17 Sep 2024 13:58:23 +0100 Subject: [PATCH] PPP: Add CYW43 wireless pins. --- .../mpconfigvariant_WIRELESS.cmake | 3 + .../pimoroni_pico_plus2w_rp2350.h | 136 ++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 micropython/board/PIMORONI_PICO_PLUS2/pimoroni_pico_plus2w_rp2350.h diff --git a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_WIRELESS.cmake b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_WIRELESS.cmake index d75423f..f2f4dac 100644 --- a/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_WIRELESS.cmake +++ b/micropython/board/PIMORONI_PICO_PLUS2/mpconfigvariant_WIRELESS.cmake @@ -34,3 +34,6 @@ set(MICROPY_BLUETOOTH_BTSTACK ON) set(MICROPY_PY_BLUETOOTH_CYW43 ON) set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest-wireless.py) + +set(PICO_BOARD "pimoroni_pico_plus2w_rp2350") +set(PICO_BOARD_HEADER_DIRS ${CMAKE_CURRENT_LIST_DIR}) diff --git a/micropython/board/PIMORONI_PICO_PLUS2/pimoroni_pico_plus2w_rp2350.h b/micropython/board/PIMORONI_PICO_PLUS2/pimoroni_pico_plus2w_rp2350.h new file mode 100644 index 0000000..c0ff5d7 --- /dev/null +++ b/micropython/board/PIMORONI_PICO_PLUS2/pimoroni_pico_plus2w_rp2350.h @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2020 Raspberry Pi (Trading) Ltd. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +// ----------------------------------------------------- +// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO +// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES +// ----------------------------------------------------- + +// This header may be included by other board headers as "boards/pimoroni_pico_plus2w_rp2350.h" + +// pico_cmake_set PICO_PLATFORM=rp2350 + +#ifndef _BOARDS_PIMORONI_PICO_PLUS2W_RP2350_H +#define _BOARDS_PIMORONI_PICO_PLUS2W_RP2350_H + +// For board detection +#define PIMORONI_PICO_PLUS2_RP2350 +#define PIMORONI_PICO_PLUS2W_RP2350 + +// --- BOARD SPECIFIC --- +#define SPICE_SPI 0 +#define SPICE_TX_MISO_PIN 32 +#define SPICE_RX_CS_PIN 33 +#define SPICE_NETLIGHT_SCK_PIN 34 +#define SPICE_RESET_MOSI_PIN 35 +#define SPICE_PWRKEY_BL_PIN 36 + +#define PIMORONI_PICO_PLUS2_USER_SW_PIN 45 +#define PIMORONI_PICO_PLUS2_PSRAM_CS_PIN 47 + +// -- CYW43 Wireless -- +#ifndef CYW43_PIN_WL_HOST_WAKE +#define CYW43_PIN_WL_HOST_WAKE 24 +#endif + +#ifndef CYW43_PIN_WL_REG_ON +#define CYW43_PIN_WL_REG_ON 23 +#endif + +#ifndef CYW43_WL_GPIO_COUNT +#define CYW43_WL_GPIO_COUNT 3 +#endif + +#ifndef CYW43_WL_GPIO_LED_PIN +#define CYW43_WL_GPIO_LED_PIN 0 +#endif + +// If CYW43_WL_GPIO_VBUS_PIN is defined then a CYW43 GPIO has to be used to read VBUS. +// This can be passed to cyw43_arch_gpio_get to determine if the device is battery powered. +// PICO_VBUS_PIN and CYW43_WL_GPIO_VBUS_PIN should not both be defined. + +// no CYW43_WL_GPIO_VBUS_PIN + +// If CYW43_USES_VSYS_PIN is defined then CYW43 uses the VSYS GPIO (defined by PICO_VSYS_PIN) for other purposes. +// If this is the case, to use the VSYS GPIO it's necessary to ensure CYW43 is not using it. +// This can be achieved by wrapping the use of the VSYS GPIO in cyw43_thread_enter / cyw43_thread_exit. + +// no CYW43_USES_VSYS_PIN + +// --- UART --- +#ifndef PICO_DEFAULT_UART +#define PICO_DEFAULT_UART 0 +#endif +#ifndef PICO_DEFAULT_UART_TX_PIN +#define PICO_DEFAULT_UART_TX_PIN 0 +#endif +#ifndef PICO_DEFAULT_UART_RX_PIN +#define PICO_DEFAULT_UART_RX_PIN 1 +#endif + +// --- LED --- +#ifndef PICO_DEFAULT_LED_PIN +#define PICO_DEFAULT_LED_PIN 25 +#endif +// no PICO_DEFAULT_WS2812_PIN + +// --- I2C --- +#ifndef PICO_DEFAULT_I2C +#define PICO_DEFAULT_I2C 0 +#endif +#ifndef PICO_DEFAULT_I2C_SDA_PIN +#define PICO_DEFAULT_I2C_SDA_PIN 4 +#endif +#ifndef PICO_DEFAULT_I2C_SCL_PIN +#define PICO_DEFAULT_I2C_SCL_PIN 5 +#endif + +// --- SPI --- +#ifndef PICO_DEFAULT_SPI +#define PICO_DEFAULT_SPI 0 +#endif +#ifndef PICO_DEFAULT_SPI_SCK_PIN +#define PICO_DEFAULT_SPI_SCK_PIN SPICE_NETLIGHT_SCK_PIN +#endif +#ifndef PICO_DEFAULT_SPI_TX_PIN +#define PICO_DEFAULT_SPI_TX_PIN SPICE_RESET_MOSI_PIN +#endif +#ifndef PICO_DEFAULT_SPI_RX_PIN +#define PICO_DEFAULT_SPI_RX_PIN SPICE_TX_MISO_PIN +#endif +#ifndef PICO_DEFAULT_SPI_CSN_PIN +#define PICO_DEFAULT_SPI_CSN_PIN SPICE_RX_CS_PIN +#endif + +// --- FLASH --- + +#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1 + +#ifndef PICO_FLASH_SPI_CLKDIV +#define PICO_FLASH_SPI_CLKDIV 2 +#endif + +// pico_cmake_set_default PICO_FLASH_SIZE_BYTES = (16 * 1024 * 1024) +#ifndef PICO_FLASH_SIZE_BYTES +#define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024) +#endif + +// The GPIO Pin used to read VBUS to determine if the device is battery powered. +#ifndef PICO_VBUS_PIN +#define PICO_VBUS_PIN 24 +#endif + +// The GPIO Pin used to monitor VSYS. Typically you would use this with ADC. +// There is an example in adc/read_vsys in pico-examples. +#ifndef PICO_VSYS_PIN +#define PICO_VSYS_PIN 43 +#endif + +#ifndef PICO_RP2350_A2_SUPPORTED +#define PICO_RP2350_A2_SUPPORTED 1 +#endif + +#endif \ No newline at end of file