Skip to content

Commit 5055feb

Browse files
lurchLesords
authored andcommitted
Ensure that all RP2350 board-headers explicitly define PICO_RP2350A (raspberrypi#2370)
1 parent 9a4113f commit 5055feb

File tree

5 files changed

+22
-4
lines changed

5 files changed

+22
-4
lines changed

src/boards/include/boards/pimoroni_pga2350.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
#define PIMORONI_PGA2350
2121
#define PIMORONI_PGA2350_16MB
2222

23+
// --- RP2350 VARIANT ---
24+
#define PICO_RP2350A 0
25+
2326
// --- BOARD SPECIFIC ---
2427
#define PIMORONI_PGA2350_PSRAM_CS_PIN 47
2528

src/boards/include/boards/pimoroni_pico_plus2_rp2350.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
// For board detection
2020
#define PIMORONI_PICO_PLUS2_RP2350
2121

22+
// --- RP2350 VARIANT ---
23+
#define PICO_RP2350A 0
24+
2225
// --- BOARD SPECIFIC ---
2326
#define SPCE_SPI 0
2427
#define SPCE_TX_MISO_PIN 32

src/boards/include/boards/pimoroni_pico_plus2_w_rp2350.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
// For board detection
2121
#define PIMORONI_PICO_PLUS2_W_RP2350
2222

23+
// --- RP2350 VARIANT ---
24+
#define PICO_RP2350A 0
25+
2326
// --- BOARD SPECIFIC ---
2427
#define PIMORONI_PICO_PLUS2_W_USER_SW_PIN 45
2528
#define PIMORONI_PICO_PLUS2_W_PSRAM_CS_PIN 47

src/boards/include/boards/seeed_xiao_rp2350.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
// For board detection
1818
#define SEEED_XIAO_RP2350
1919

20+
// --- RP2350 VARIANT ---
21+
#define PICO_RP2350A 1
22+
2023
//------------- UART -------------//
2124
#ifndef PICO_DEFAULT_UART
2225
#define PICO_DEFAULT_UART 0

tools/check_board_header.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ def read_defines_from(header_file, defines_dict):
196196

197197
if board_header_basename == "amethyst_fpga.h":
198198
defines['PICO_RP2350'] = DefineType('PICO_RP2350', 1, 1, -1)
199+
defines['PICO_RP2350A'] = DefineType('PICO_RP2350A', 0, 0, -1)
199200

200201
with open(board_header) as header_fh:
201202
last_ifndef = None
@@ -347,7 +348,7 @@ def read_defines_from(header_file, defines_dict):
347348
raise Exception("{}:{} Include-guard #define {} is missing an #ifndef".format(board_header, lineno, name))
348349
if value:
349350
raise Exception("{}:{} Include-guard #define {} shouldn't have a value".format(board_header, lineno, name))
350-
if len(defines) and not (len(defines) == 1 and defines[list(defines.keys())[0]].lineno < 0):
351+
if any(defines[d].lineno >= 0 for d in defines):
351352
raise Exception("{}:{} Include-guard #define {} should be the first define".format(board_header, lineno, name))
352353
if name == expected_include_guard:
353354
has_include_guard = True
@@ -387,10 +388,15 @@ def read_defines_from(header_file, defines_dict):
387388
other_chip = 'RP2350'
388389
elif cmake_settings['PICO_PLATFORM'].value == "rp2350":
389390
other_chip = 'RP2040'
390-
if 'PICO_RP2350A' in defines and defines['PICO_RP2350A'].resolved_value == 1:
391-
chip = 'RP2350A'
391+
if 'PICO_RP2350B' in defines:
392+
raise Exception("{} sets #define {} {} (should probably be #define {} {})".format(board_header, 'PICO_RP2350B', defines['PICO_RP2350B'].resolved_value, 'PICO_RP2350A', 1 - defines['PICO_RP2350B'].resolved_value))
393+
if 'PICO_RP2350A' not in defines:
394+
raise Exception("{} has no #define for {} (set to 1 for RP2350A, or 0 for RP2350B)".format(board_header, 'PICO_RP2350A'))
392395
else:
393-
chip = 'RP2350B'
396+
if defines['PICO_RP2350A'].resolved_value == 1:
397+
chip = 'RP2350A'
398+
else:
399+
chip = 'RP2350B'
394400
if not board_header.endswith("amethyst_fpga.h"):
395401
if 'PICO_RP2350_A2_SUPPORTED' not in cmake_default_settings:
396402
raise Exception("{} uses chip {} but is missing a pico_cmake_set_default {} comment".format(board_header, chip, 'PICO_RP2350_A2_SUPPORTED'))

0 commit comments

Comments
 (0)