Tweak check_board_header.py to also validate the PSRAM settings #2924
No reviewers
Labels
No labels
bazel
bluetooth
board settings
boot_stage2
bug
build
c++
can't reproduce
clang
clib-interface
cmsis
code cleanliness
code size
compiler version issues
cyw43_driver
debug
discussion
documentation
duplicate
dynamic_clock
elf2uf2
enhancement
errata
filesystem
flash layout
floating point
FreeRTOS
hardware_adc
hardware_claim
hardware_clocks
hardware_dma
hardware_exception
hardware_flash
hardware_gpio
hardware_i2c
hardware_irq
hardware_pio
hardware_pwm
hardware_rcp
hardware_rtc
hardware_spi
hardware_sync
hardware_uart
hardware_vreg
hardware_watchdog
hardware_xosc
help wanted
host
IAR
installation
invalid
linker scripts
lto
lwip
mbedtls
missing API
needs reporter detail
networking
newlib
newlib-multicore
non-c
non-cmake
non-gcc
openocd
orphan PR
OS integration
pico_async_context
pico_base
pico_binary_info
pico_flash
picolibc
pico_lwip
pico_malloc
pico_multicore
pico_printf
pico_runtime
pico_stdio
pico_stdio_usb
pico_sync
pico_time
pico_util
pioasm
port
question
review
review2
rtos interop
runtime init
static library
svd
test
tinyusb
vscode
wifi integration
wontfix
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-raspberrypi/pico-sdk!2924
Loading…
Reference in a new issue
No description provided.
Delete branch "check_psram_settings"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This relates to the changes in #2919 and is effectively a "sub-PR" of that one.
@ -37,10 +37,24 @@ chip_interfaces = {'RP2350B': "src/rp2350/rp2350b_interface_pins.json",There is a scenario where you could have
PICO_PSRAM_CS_PINdefined but notPICO_PSRAM_SIZE_BYTES, for boards with a place to solder on PSRAM but none fitted from the factory. Can this check be made uni-directional instead?I think the interface should be QSPI (it's like SPI, but Quad). QMI stands for "QSPI Memory Interface".
@ -37,10 +37,24 @@ chip_interfaces = {'RP2350B': "src/rp2350/rp2350b_interface_pins.json",Ahh, I hadn't considered that. I'll update...
I was going along with what Table 3 (on pages 18-20) of the RP2350 datasheet says. But I now realise that this is actually the
CS1Npin of the (only) QMI interface, and not theCSNpin of the second QMI interface 🤦 so I'll fix that.@ -37,10 +37,24 @@ chip_interfaces = {'RP2350B': "src/rp2350/rp2350b_interface_pins.json",Fixed; you can now define
PICO_PSRAM_CS_PINwithout definingPICO_PSRAM_SIZE_BYTES, but if you definePICO_PSRAM_SIZE_BYTESthen you have to also definePICO_PSRAM_CS_PIN.PR updated, rebased and force-pushed.
Looking at https://github.com/raspberrypi/pico-sdk/pull/2919/commits/2afd108fc8b44090e1edd38f25f5f43ef1dbcc8f , should I also update this to error if
PICO_AUTO_DETECT_PSRAM_SIZEis set andPICO_PSRAM_CS_PINis missing?...although saying that, perhaps it makes sense to check for
exists(PICO_PSRAM_CS_PIN) or exists(PICO_AUTO_DETECT_PSRAM_CS)rather than justexists(PICO_PSRAM_CS_PIN)? 🤔I don't think there's a use case for
PICO_AUTO_DETECT_PSRAM_CSin a board header, as if you know what board you're building for, you should know what pin CS is wired to - so I think just adding an error whenPICO_AUTO_DETECT_PSRAM_SIZEis set andPICO_PSRAM_CS_PINis missing is fineDone 👍