From 67a51205bb62b0125f86ea240271262b0ce6e371 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 19 Mar 2025 11:56:12 -0400 Subject: [PATCH 1/3] Adafruit Fruit Jam board --- .../include/boards/adafruit_fruit_jam.h | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/boards/include/boards/adafruit_fruit_jam.h diff --git a/src/boards/include/boards/adafruit_fruit_jam.h b/src/boards/include/boards/adafruit_fruit_jam.h new file mode 100644 index 000000000..64901cffb --- /dev/null +++ b/src/boards/include/boards/adafruit_fruit_jam.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2025 Dan Halbert for Adafruit Industries + * + * 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/adafruit_fruit_jam.h" + +// pico_cmake_set PICO_PLATFORM=rp2350 + +#ifndef _BOARDS_ADAFRUIT_FRUIT_JAM_H +#define _BOARDS_ADAFRUIT_FRUIT_JAM_H + +// On some samples, the xosc can take longer to stabilize than is usual +#ifndef PICO_XOSC_STARTUP_DELAY_MULTIPLIER +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 +#endif + +// For board detection +#define ADAFRUIT_FRUIT_JAM + +// --- RP2350 VARIANT --- +// This means RP2350B. +#define PICO_RP2350A 0 + +// no PICO_DEFAULT_UART + +// --- LED --- +#ifndef PICO_DEFAULT_LED_PIN +#define PICO_DEFAULT_LED_PIN 29 +#endif + +#ifndef PICO_DEFAULT_WS2812_PIN +#define PICO_DEFAULT_WS2812_PIN 32 +#endif + +// --- I2C --- +#ifndef PICO_DEFAULT_I2C +#define PICO_DEFAULT_I2C 0 +#endif +#ifndef PICO_DEFAULT_I2C_SDA_PIN +#define PICO_DEFAULT_I2C_SDA_PIN 20 +#endif +#ifndef PICO_DEFAULT_I2C_SCL_PIN +#define PICO_DEFAULT_I2C_SCL_PIN 21 +#endif + +// --- SPI --- +#ifndef PICO_DEFAULT_SPI +#define PICO_DEFAULT_SPI 1 +#endif +#ifndef PICO_DEFAULT_SPI_SCK_PIN +#define PICO_DEFAULT_SPI_SCK_PIN 30 +#endif +#ifndef PICO_DEFAULT_SPI_TX_PIN +#define PICO_DEFAULT_SPI_TX_PIN 31 +#endif +#ifndef PICO_DEFAULT_SPI_RX_PIN +#define PICO_DEFAULT_SPI_RX_PIN 28 +#endif + +// --- FLASH --- + +#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 + +// pico_cmake_set_default PICO_RP2350_A2_SUPPORTED = 1 +#ifndef PICO_RP2350_A2_SUPPORTED +#define PICO_RP2350_A2_SUPPORTED 1 +#endif + +#endif From fe460bda3e16d5609a1c1878b9d60a9a724a3c8d Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 19 Mar 2025 14:58:43 -0400 Subject: [PATCH 2/3] add Adafruit Fruit Jam specific pins --- .../include/boards/adafruit_fruit_jam.h | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/src/boards/include/boards/adafruit_fruit_jam.h b/src/boards/include/boards/adafruit_fruit_jam.h index 64901cffb..88046ba80 100644 --- a/src/boards/include/boards/adafruit_fruit_jam.h +++ b/src/boards/include/boards/adafruit_fruit_jam.h @@ -28,6 +28,67 @@ // This means RP2350B. #define PICO_RP2350A 0 +// --- BOARD SPECIFIC --- +// On JST PH connector. +#define ADAFRUIT_FRUIT_JAM_A0_PIN 40 + +#define ADAFRUIT_FRUIT_JAM_A1_PIN 41 +#define ADAFRUIT_FRUIT_JAM_A2_PIN 42 +#define ADAFRUIT_FRUIT_JAM_A3_PIN 43 +#define ADAFRUIT_FRUIT_JAM_A4_PIN 44 +#define ADAFRUIT_FRUIT_JAM_A5_PIN 45 + +#define ADAFRUIT_FRUIT_JAM_D6_PIN 6 +#define ADAFRUIT_FRUIT_JAM_D7_PIN 7 +#define ADAFRUIT_FRUIT_JAM_D8_PIN 8 +#define ADAFRUIT_FRUIT_JAM_D9_PIN 9 +#define ADAFRUIT_FRUIT_JAM_D10_PIN 10 + +#define ADAFRUIT_FRUIT_JAM_BOOT_BUTTON_PIN 0 + +#define ADAFRUIT_FRUIT_JAM_BUTTON1_PIN 4 +#define ADAFRUIT_FRUIT_JAM_BUTTON2_PIN 5 + +#define ADAFRUIT_FRUIT_JAM_ESP_CS_PIN 46 + +#define ADAFRUIT_FRUIT_JAM_CKN_PIN 12 +#define ADAFRUIT_FRUIT_JAM_CKP_PIN 13 +#define ADAFRUIT_FRUIT_JAM_D0N_PIN 14 +#define ADAFRUIT_FRUIT_JAM_D0P_PIN 15 +#define ADAFRUIT_FRUIT_JAM_D1N_PIN 16 +#define ADAFRUIT_FRUIT_JAM_D1P_PIN 17 +#define ADAFRUIT_FRUIT_JAM_D2N_PIN 18 +#define ADAFRUIT_FRUIT_JAM_D2P_PIN 19 + +#define ADAFRUIT_FRUIT_JAM_PERIPH_RESET_PIN 22 + +#define ADAFRUIT_FRUIT_JAM_I2S_MCLK_PIN 27 +#define ADAFRUIT_FRUIT_JAM_I2S_BCLK_PIN 26 +#define ADAFRUIT_FRUIT_JAM_I2S_WS_PIN 25 +#define ADAFRUIT_FRUIT_JAM_I2S_DIN_PIN 24 +#define ADAFRUIT_FRUIT_JAM_I2S_GPIO1_PIN 23 + +#define ADAFRUIT_FRUIT_JAM_QSTR_SD_SCK_PIN 34 +#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_CLOCK_PIN 34 + +#define ADAFRUIT_FRUIT_JAM_QSTR_SD_MOSI_PIN 35 +#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_COMMAND_PIN 35 + +#define ADAFRUIT_FRUIT_JAM_QSTR_SD_MISO_PIN 36 +#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_DATA0_PIN 36 + +#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_DATA1_PIN 37 +#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_DATA2_PIN 38 + +#define ADAFRUIT_FRUIT_JAM_QSTR_SD_CS_PIN 39 +#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_DATA3_PIN 39 + +#define ADAFRUIT_FRUIT_JAM_QSTR_SD_CARD_DETECT_PIN 33 + +#define ADAFRUIT_FRUIT_JAM_USB_HOST_DATA_PLUS_PIN 1 +#define ADAFRUIT_FRUIT_JAM_USB_HOST_DATA_MINUS_PIN 2 +#define ADAFRUIT_FRUIT_JAM_USB_HOST_5V_POWER_PIN 11 + // no PICO_DEFAULT_UART // --- LED --- From f67b678eb7440745845ef68b74d0a4ab9c7a96b4 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 20 Mar 2025 09:40:07 -0400 Subject: [PATCH 3/3] fix pin typos and errors --- .../include/boards/adafruit_fruit_jam.h | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/src/boards/include/boards/adafruit_fruit_jam.h b/src/boards/include/boards/adafruit_fruit_jam.h index 88046ba80..2de31bfa2 100644 --- a/src/boards/include/boards/adafruit_fruit_jam.h +++ b/src/boards/include/boards/adafruit_fruit_jam.h @@ -32,6 +32,7 @@ // On JST PH connector. #define ADAFRUIT_FRUIT_JAM_A0_PIN 40 +// On header. #define ADAFRUIT_FRUIT_JAM_A1_PIN 41 #define ADAFRUIT_FRUIT_JAM_A2_PIN 42 #define ADAFRUIT_FRUIT_JAM_A3_PIN 43 @@ -45,20 +46,20 @@ #define ADAFRUIT_FRUIT_JAM_D10_PIN 10 #define ADAFRUIT_FRUIT_JAM_BOOT_BUTTON_PIN 0 - -#define ADAFRUIT_FRUIT_JAM_BUTTON1_PIN 4 -#define ADAFRUIT_FRUIT_JAM_BUTTON2_PIN 5 +#define ADAFRUIT_FRUIT_JAM_BUTTON1_PIN 0 +#define ADAFRUIT_FRUIT_JAM_BUTTON2_PIN 4 +#define ADAFRUIT_FRUIT_JAM_BUTTON3_PIN 5 #define ADAFRUIT_FRUIT_JAM_ESP_CS_PIN 46 -#define ADAFRUIT_FRUIT_JAM_CKN_PIN 12 -#define ADAFRUIT_FRUIT_JAM_CKP_PIN 13 -#define ADAFRUIT_FRUIT_JAM_D0N_PIN 14 -#define ADAFRUIT_FRUIT_JAM_D0P_PIN 15 -#define ADAFRUIT_FRUIT_JAM_D1N_PIN 16 -#define ADAFRUIT_FRUIT_JAM_D1P_PIN 17 -#define ADAFRUIT_FRUIT_JAM_D2N_PIN 18 -#define ADAFRUIT_FRUIT_JAM_D2P_PIN 19 +#define ADAFRUIT_FRUIT_JAM_DVI_CKN_PIN 12 +#define ADAFRUIT_FRUIT_JAM_DVI_CKP_PIN 13 +#define ADAFRUIT_FRUIT_JAM_DVI_D0N_PIN 14 +#define ADAFRUIT_FRUIT_JAM_DVI_D0P_PIN 15 +#define ADAFRUIT_FRUIT_JAM_DVI_D1N_PIN 16 +#define ADAFRUIT_FRUIT_JAM_DVI_D1P_PIN 17 +#define ADAFRUIT_FRUIT_JAM_DVI_D2N_PIN 18 +#define ADAFRUIT_FRUIT_JAM_DVI_D2P_PIN 19 #define ADAFRUIT_FRUIT_JAM_PERIPH_RESET_PIN 22 @@ -68,22 +69,22 @@ #define ADAFRUIT_FRUIT_JAM_I2S_DIN_PIN 24 #define ADAFRUIT_FRUIT_JAM_I2S_GPIO1_PIN 23 -#define ADAFRUIT_FRUIT_JAM_QSTR_SD_SCK_PIN 34 -#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_CLOCK_PIN 34 +#define ADAFRUIT_FRUIT_JAM_SD_SCK_PIN 34 +#define ADAFRUIT_FRUIT_JAM_SDIO_CLOCK_PIN 34 -#define ADAFRUIT_FRUIT_JAM_QSTR_SD_MOSI_PIN 35 -#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_COMMAND_PIN 35 +#define ADAFRUIT_FRUIT_JAM_SD_MOSI_PIN 35 +#define ADAFRUIT_FRUIT_JAM_SDIO_COMMAND_PIN 35 -#define ADAFRUIT_FRUIT_JAM_QSTR_SD_MISO_PIN 36 -#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_DATA0_PIN 36 +#define ADAFRUIT_FRUIT_JAM_SD_MISO_PIN 36 +#define ADAFRUIT_FRUIT_JAM_SDIO_DATA0_PIN 36 -#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_DATA1_PIN 37 -#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_DATA2_PIN 38 +#define ADAFRUIT_FRUIT_JAM_SDIO_DATA1_PIN 37 +#define ADAFRUIT_FRUIT_JAM_SDIO_DATA2_PIN 38 -#define ADAFRUIT_FRUIT_JAM_QSTR_SD_CS_PIN 39 -#define ADAFRUIT_FRUIT_JAM_QSTR_SDIO_DATA3_PIN 39 +#define ADAFRUIT_FRUIT_JAM_SD_CS_PIN 39 +#define ADAFRUIT_FRUIT_JAM_SDIO_DATA3_PIN 39 -#define ADAFRUIT_FRUIT_JAM_QSTR_SD_CARD_DETECT_PIN 33 +#define ADAFRUIT_FRUIT_JAM_SD_CARD_DETECT_PIN 33 #define ADAFRUIT_FRUIT_JAM_USB_HOST_DATA_PLUS_PIN 1 #define ADAFRUIT_FRUIT_JAM_USB_HOST_DATA_MINUS_PIN 2