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..2de31bfa2 --- /dev/null +++ b/src/boards/include/boards/adafruit_fruit_jam.h @@ -0,0 +1,145 @@ +/* + * 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 + +// --- BOARD SPECIFIC --- +// 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 +#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 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_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 + +#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_SD_SCK_PIN 34 +#define ADAFRUIT_FRUIT_JAM_SDIO_CLOCK_PIN 34 + +#define ADAFRUIT_FRUIT_JAM_SD_MOSI_PIN 35 +#define ADAFRUIT_FRUIT_JAM_SDIO_COMMAND_PIN 35 + +#define ADAFRUIT_FRUIT_JAM_SD_MISO_PIN 36 +#define ADAFRUIT_FRUIT_JAM_SDIO_DATA0_PIN 36 + +#define ADAFRUIT_FRUIT_JAM_SDIO_DATA1_PIN 37 +#define ADAFRUIT_FRUIT_JAM_SDIO_DATA2_PIN 38 + +#define ADAFRUIT_FRUIT_JAM_SD_CS_PIN 39 +#define ADAFRUIT_FRUIT_JAM_SDIO_DATA3_PIN 39 + +#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 +#define ADAFRUIT_FRUIT_JAM_USB_HOST_5V_POWER_PIN 11 + +// 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