-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Changes for pico2_w #1816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
kilograham
merged 10 commits into
raspberrypi:develop
from
peterharperuk:pico2_w_changes
Sep 18, 2024
Merged
Changes for pico2_w #1816
Changes from 8 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
76d10e8
Add board file for pico2_w
peterharperuk 1c107e1
Simplify CYW43 PIO config
peterharperuk d86c8a2
Make CYW43 gpio pins configurable at build time
peterharperuk 32cbccf
Fix pio initialisation
peterharperuk f5d842c
Add missing doxygen for cyw43_set_pio_clock_divisor
peterharperuk 76cb985
Support dynamic configuration of cyw43 gpio pins
peterharperuk d1a779c
Some fixes for cyw32 gpio > 32
peterharperuk fa774d1
Allow CYW43 to be configured with cmake
peterharperuk 66bcde5
Add default config of CYW43_WL_GPIO_COUNT to cyw43_configport.h
peterharperuk 9326733
Fix some review comments
peterharperuk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,116 @@ | ||
| /* | ||
| * Copyright (c) 2024 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/pico2_w.h" | ||
|
|
||
| // pico_cmake_set PICO_PLATFORM=rp2350 | ||
| // pico_cmake_set PICO_CYW43_SUPPORTED = 1 | ||
|
|
||
| #ifndef _BOARDS_PICO2_W_H | ||
| #define _BOARDS_PICO2_W_H | ||
|
|
||
| // For board detection | ||
| #define RASPBERRYPI_PICO2_W | ||
|
|
||
| // --- RP2350 VARIANT --- | ||
| #define PICO_RP2350A 1 | ||
|
|
||
| // --- 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 --- | ||
| // no PICO_DEFAULT_LED_PIN - LED is on Wireless chip | ||
| // 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 18 | ||
| #endif | ||
| #ifndef PICO_DEFAULT_SPI_TX_PIN | ||
| #define PICO_DEFAULT_SPI_TX_PIN 19 | ||
| #endif | ||
| #ifndef PICO_DEFAULT_SPI_RX_PIN | ||
| #define PICO_DEFAULT_SPI_RX_PIN 16 | ||
| #endif | ||
| #ifndef PICO_DEFAULT_SPI_CSN_PIN | ||
| #define PICO_DEFAULT_SPI_CSN_PIN 17 | ||
| #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 = (4 * 1024 * 1024) | ||
| #ifndef PICO_FLASH_SIZE_BYTES | ||
| #define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024) | ||
| #endif | ||
| // Drive high to force power supply into PWM mode (lower ripple on 3V3 at light loads) | ||
| // note the SMSP mode pin is on WL_GPIO1 | ||
|
|
||
| #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. | ||
| #ifndef CYW43_WL_GPIO_VBUS_PIN | ||
| #define CYW43_WL_GPIO_VBUS_PIN 2 | ||
| #endif | ||
|
|
||
| // 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. | ||
| #ifndef CYW43_USES_VSYS_PIN | ||
| #define CYW43_USES_VSYS_PIN 1 | ||
| #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 29 | ||
| #endif | ||
|
|
||
| #ifndef PICO_RP2350_A2_SUPPORTED | ||
| #define PICO_RP2350_A2_SUPPORTED 1 | ||
| #endif | ||
|
|
||
| #endif | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -56,6 +56,34 @@ if (EXISTS ${PICO_CYW43_DRIVER_PATH}/${CYW43_DRIVER_TEST_FILE}) | |
| hardware_exception | ||
| ) | ||
|
|
||
| if (CYW43_DEFAULT_PIN_WL_REG_ON) | ||
peterharperuk marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_DEFAULT_PIN_WL_REG_ON=${CYW43_DEFAULT_PIN_WL_REG_ON}) | ||
| endif() | ||
| if (CYW43_DEFAULT_PIN_WL_DATA_OUT) | ||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_DEFAULT_PIN_WL_DATA_OUT=${CYW43_DEFAULT_PIN_WL_DATA_OUT}) | ||
| endif() | ||
| if (CYW43_DEFAULT_PIN_WL_DATA_IN) | ||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_DEFAULT_PIN_WL_DATA_IN=${CYW43_DEFAULT_PIN_WL_DATA_IN}) | ||
| endif() | ||
| if (CYW43_DEFAULT_PIN_WL_HOST_WAKE) | ||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_DEFAULT_PIN_WL_HOST_WAKE=${CYW43_DEFAULT_PIN_WL_HOST_WAKE}) | ||
| endif() | ||
| if (CYW43_DEFAULT_PIN_WL_CLOCK) | ||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_DEFAULT_PIN_WL_CLOCK=${CYW43_DEFAULT_PIN_WL_CLOCK}) | ||
| endif() | ||
| if (CYW43_DEFAULT_PIN_WL_CS) | ||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_DEFAULT_PIN_WL_CS=${CYW43_DEFAULT_PIN_WL_CS}) | ||
| endif() | ||
| if (CYW43_PIO_CLOCK_DIV_INT) | ||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_PIO_CLOCK_DIV_INT=${CYW43_PIO_CLOCK_DIV_INT}) | ||
| endif() | ||
| if (CYW43_PIO_CLOCK_DIV_FRAC) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this should probably be _FRAC8 now, or probably we should add _FRAC8 too
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. actually let's leave this for now; i'll fix with #1926 |
||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_PIO_CLOCK_DIV_FRAC=${CYW43_PIO_CLOCK_DIV_FRAC}) | ||
| endif() | ||
| if (CYW43_PIO_CLOCK_DIV_DYNAMIC) | ||
| target_compile_definitions(cyw43_driver_picow INTERFACE CYW43_PIO_CLOCK_DIV_DYNAMIC=${CYW43_PIO_CLOCK_DIV_DYNAMIC}) | ||
| endif() | ||
|
|
||
| # Note: This is used by MP, so check for issues when making changes | ||
| # e.g. Don't add new depenedences | ||
| pico_add_library(pico_btstack_hci_transport_cyw43 NOFLAG) | ||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.