add fruitjam bsp
This commit is contained in:
@@ -476,6 +476,10 @@ function(family_flash_openocd TARGET)
|
|||||||
set(OPENOCD_OPTION2 "")
|
set(OPENOCD_OPTION2 "")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if (DEFINED OPENOCD_SERIAL)
|
||||||
|
set(OPENOCD_OPTION "-c \"adapter serial ${OPENOCD_SERIAL}\" ${OPENOCD_OPTION}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
separate_arguments(OPTION_LIST UNIX_COMMAND ${OPENOCD_OPTION})
|
separate_arguments(OPTION_LIST UNIX_COMMAND ${OPENOCD_OPTION})
|
||||||
separate_arguments(OPTION_LIST2 UNIX_COMMAND ${OPENOCD_OPTION2})
|
separate_arguments(OPTION_LIST2 UNIX_COMMAND ${OPENOCD_OPTION2})
|
||||||
|
|
||||||
|
@@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 Ha Thach (tinyusb.org)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* This file is part of the TinyUSB stack.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef TUSB_BOARD_H
|
||||||
|
#define TUSB_BOARD_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// UART and LED are already defined in pico-sdk board
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
// PIO_USB
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
|
||||||
|
#define PICO_DEFAULT_PIO_USB_DP_PIN 16
|
||||||
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_PIN 18
|
||||||
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_STATE 1
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
// USB Host MAX3421E
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
#ifdef PICO_DEFAULT_SPI
|
||||||
|
#define MAX3421_SPI PICO_DEFAULT_SPI // sdk v2
|
||||||
|
#else
|
||||||
|
#define MAX3421_SPI PICO_DEFAULT_SPI_INSTANCE // sdk v1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MAX3421_SCK_PIN PICO_DEFAULT_SPI_SCK_PIN
|
||||||
|
#define MAX3421_MOSI_PIN PICO_DEFAULT_SPI_TX_PIN
|
||||||
|
#define MAX3421_MISO_PIN PICO_DEFAULT_SPI_RX_PIN
|
||||||
|
#define MAX3421_CS_PIN 10
|
||||||
|
#define MAX3421_INTR_PIN 9
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
113
hw/bsp/rp2040/boards/adafruit_fruit_jam/adafruit_fruit_jam.h
Normal file
113
hw/bsp/rp2040/boards/adafruit_fruit_jam/adafruit_fruit_jam.h
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 Ha Thach (tinyusb.org)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* This file is part of the TinyUSB stack.
|
||||||
|
*/
|
||||||
|
#ifndef BOARDS_ADAFRUIT_FRUIT_JAM_H
|
||||||
|
#define BOARDS_ADAFRUIT_FRUIT_JAM_H
|
||||||
|
|
||||||
|
// required for board that is not part of pico-sdk
|
||||||
|
|
||||||
|
// -----------------------------------------------------
|
||||||
|
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||||
|
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||||
|
// -----------------------------------------------------
|
||||||
|
|
||||||
|
// pico_cmake_set PICO_PLATFORM=rp2350
|
||||||
|
|
||||||
|
// 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 ---
|
||||||
|
#define PICO_RP2350A 0
|
||||||
|
|
||||||
|
// --- UART ---
|
||||||
|
#ifndef PICO_DEFAULT_UART
|
||||||
|
#define PICO_DEFAULT_UART 1
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||||
|
#define PICO_DEFAULT_UART_TX_PIN 8
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||||
|
#define PICO_DEFAULT_UART_RX_PIN 9
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- 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 ---
|
||||||
|
|
||||||
|
// FruitJam use w25q128 but sdk does not have .s for it, use q080 instead
|
||||||
|
#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 = (8 * 1024 * 1024)
|
||||||
|
#ifndef PICO_FLASH_SIZE_BYTES
|
||||||
|
#define PICO_FLASH_SIZE_BYTES (8 * 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
|
4
hw/bsp/rp2040/boards/adafruit_fruit_jam/board.cmake
Normal file
4
hw/bsp/rp2040/boards/adafruit_fruit_jam/board.cmake
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
set(PICO_PLATFORM rp2350-arm-s)
|
||||||
|
set(PICO_BOARD adafruit_fruit_jam)
|
||||||
|
set(PICO_BOARD_HEADER_DIRS ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
#set(OPENOCD_SERIAL E6614103E78E8324)
|
52
hw/bsp/rp2040/boards/adafruit_fruit_jam/board.h
Normal file
52
hw/bsp/rp2040/boards/adafruit_fruit_jam/board.h
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 Ha Thach (tinyusb.org)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* This file is part of the TinyUSB stack.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef TUSB_BOARD_H
|
||||||
|
#define TUSB_BOARD_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// UART and LED are already defined in pico-sdk board
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
// PIO_USB
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
// default to pico brain tester
|
||||||
|
#define PICO_DEFAULT_PIO_USB_DP_PIN 1
|
||||||
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_PIN 11
|
||||||
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_STATE 1
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
// USB Host MAX3421E
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
64
hw/bsp/rp2040/boards/feather_rp2040_max3421/board.h
Normal file
64
hw/bsp/rp2040/boards/feather_rp2040_max3421/board.h
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 Ha Thach (tinyusb.org)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* This file is part of the TinyUSB stack.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef TUSB_BOARD_H
|
||||||
|
#define TUSB_BOARD_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// UART and LED are already defined in pico-sdk board
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
// PIO_USB
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
|
||||||
|
#define PICO_DEFAULT_PIO_USB_DP_PIN 16
|
||||||
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_PIN 18
|
||||||
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_STATE 1
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
// USB Host MAX3421E
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
#ifdef PICO_DEFAULT_SPI
|
||||||
|
#define MAX3421_SPI PICO_DEFAULT_SPI // sdk v2
|
||||||
|
#else
|
||||||
|
#define MAX3421_SPI PICO_DEFAULT_SPI_INSTANCE // sdk v1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MAX3421_SCK_PIN PICO_DEFAULT_SPI_SCK_PIN
|
||||||
|
#define MAX3421_MOSI_PIN PICO_DEFAULT_SPI_TX_PIN
|
||||||
|
#define MAX3421_MISO_PIN PICO_DEFAULT_SPI_RX_PIN
|
||||||
|
#define MAX3421_CS_PIN 10
|
||||||
|
#define MAX3421_INTR_PIN 9
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* The MIT License (MIT)
|
* The MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2021, Ha Thach (tinyusb.org)
|
* Copyright (c) 2025 Ha Thach (tinyusb.org)
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -29,55 +29,22 @@
|
|||||||
url: https://www.raspberrypi.org/products/raspberry-pi-pico/
|
url: https://www.raspberrypi.org/products/raspberry-pi-pico/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef BOARD_H_
|
#ifndef TUSB_BOARD_H
|
||||||
#define BOARD_H_
|
#define TUSB_BOARD_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// LED
|
// UART and LED are already defined in pico-sdk board
|
||||||
#ifdef PICO_DEFAULT_LED_PIN
|
|
||||||
#define LED_PIN PICO_DEFAULT_LED_PIN
|
|
||||||
#define LED_STATE_ON (!(PICO_DEFAULT_LED_PIN_INVERTED))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Button pin is BOOTSEL which is flash CS pin
|
|
||||||
#define BUTTON_BOOTSEL
|
|
||||||
#define BUTTON_STATE_ACTIVE 0
|
|
||||||
|
|
||||||
// UART
|
|
||||||
#if defined(PICO_DEFAULT_UART_TX_PIN) && defined(PICO_DEFAULT_UART_RX_PIN) && \
|
|
||||||
defined(PICO_DEFAULT_UART) && defined(LIB_PICO_STDIO_UART)
|
|
||||||
#define UART_DEV PICO_DEFAULT_UART
|
|
||||||
#define UART_TX_PIN PICO_DEFAULT_UART_TX_PIN
|
|
||||||
#define UART_RX_PIN PICO_DEFAULT_UART_RX_PIN
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// PIO_USB
|
// PIO_USB
|
||||||
// default to pin on Adafruit Feather rp2040 USB Host or Tester if defined
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
// default to pico brain tester
|
||||||
// #define USE_ADAFRUIT_FEATHER_RP2040_USBHOST
|
|
||||||
#ifdef USE_ADAFRUIT_FEATHER_RP2040_USBHOST
|
|
||||||
#define PICO_DEFAULT_PIO_USB_DP_PIN 16
|
|
||||||
#define PICO_DEFAULT_PIO_USB_VBUSEN_PIN 18
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef PICO_DEFAULT_PIO_USB_DP_PIN
|
|
||||||
#define PICO_DEFAULT_PIO_USB_DP_PIN 20
|
#define PICO_DEFAULT_PIO_USB_DP_PIN 20
|
||||||
#endif
|
|
||||||
|
|
||||||
// VBUS enable pin and its active state
|
|
||||||
#ifndef PICO_DEFAULT_PIO_USB_VBUSEN_PIN
|
|
||||||
#define PICO_DEFAULT_PIO_USB_VBUSEN_PIN 22
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_PIN 22
|
||||||
#endif
|
|
||||||
|
|
||||||
// VBUS enable state
|
|
||||||
#ifndef PICO_DEFAULT_PIO_USB_VBUSEN_STATE
|
|
||||||
#define PICO_DEFAULT_PIO_USB_VBUSEN_STATE 1
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_STATE 1
|
||||||
#endif
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
// USB Host MAX3421E
|
// USB Host MAX3421E
|
||||||
@@ -99,4 +66,4 @@
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* BOARD_H_ */
|
#endif
|
@@ -1,2 +1,3 @@
|
|||||||
set(PICO_PLATFORM rp2350-arm-s)
|
set(PICO_PLATFORM rp2350-arm-s)
|
||||||
set(PICO_BOARD pico2)
|
set(PICO_BOARD pico2)
|
||||||
|
#set(OPENOCD_SERIAL E6614103E77C5A24)
|
||||||
|
69
hw/bsp/rp2040/boards/raspberry_pi_pico2/board.h
Normal file
69
hw/bsp/rp2040/boards/raspberry_pi_pico2/board.h
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 Ha Thach (tinyusb.org)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* This file is part of the TinyUSB stack.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* metadata:
|
||||||
|
name: Pico2
|
||||||
|
url: https://www.raspberrypi.org/products/raspberry-pi-pico/
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef TUSB_BOARD_H
|
||||||
|
#define TUSB_BOARD_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// UART and LED are already defined in pico-sdk board
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
// PIO_USB
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
// default to pico brain tester
|
||||||
|
#define PICO_DEFAULT_PIO_USB_DP_PIN 20
|
||||||
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_PIN 22
|
||||||
|
#define PICO_DEFAULT_PIO_USB_VBUSEN_STATE 1
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
// USB Host MAX3421E
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
#ifdef PICO_DEFAULT_SPI
|
||||||
|
#define MAX3421_SPI PICO_DEFAULT_SPI // sdk v2
|
||||||
|
#else
|
||||||
|
#define MAX3421_SPI PICO_DEFAULT_SPI_INSTANCE // sdk v1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MAX3421_SCK_PIN PICO_DEFAULT_SPI_SCK_PIN
|
||||||
|
#define MAX3421_MOSI_PIN PICO_DEFAULT_SPI_TX_PIN
|
||||||
|
#define MAX3421_MISO_PIN PICO_DEFAULT_SPI_RX_PIN
|
||||||
|
#define MAX3421_CS_PIN 10
|
||||||
|
#define MAX3421_INTR_PIN 9
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@@ -42,10 +42,6 @@
|
|||||||
#include "bsp/board_api.h"
|
#include "bsp/board_api.h"
|
||||||
#include "board.h"
|
#include "board.h"
|
||||||
|
|
||||||
#ifdef UART_DEV
|
|
||||||
static uart_inst_t *uart_inst;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (CFG_TUH_ENABLED && CFG_TUH_RPI_PIO_USB) || (CFG_TUD_ENABLED && CFG_TUD_RPI_PIO_USB)
|
#if (CFG_TUH_ENABLED && CFG_TUH_RPI_PIO_USB) || (CFG_TUD_ENABLED && CFG_TUD_RPI_PIO_USB)
|
||||||
#include "pio_usb.h"
|
#include "pio_usb.h"
|
||||||
#endif
|
#endif
|
||||||
@@ -55,6 +51,36 @@ static uart_inst_t *uart_inst;
|
|||||||
static void max3421_init(void);
|
static void max3421_init(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
//
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
// LED
|
||||||
|
#if !defined(LED_PIN) && defined(PICO_DEFAULT_LED_PIN)
|
||||||
|
#define LED_PIN PICO_DEFAULT_LED_PIN
|
||||||
|
#define LED_STATE_ON (!(PICO_DEFAULT_LED_PIN_INVERTED))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Button, if not defined use BOOTSEL button
|
||||||
|
#ifndef BUTTON_PIN
|
||||||
|
#define BUTTON_BOOTSEL
|
||||||
|
#define BUTTON_STATE_ACTIVE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// UART
|
||||||
|
#if !defined(UART_DEV) && defined(PICO_DEFAULT_UART) && defined(LIB_PICO_STDIO_UART) && \
|
||||||
|
defined(PICO_DEFAULT_UART_TX_PIN) && defined(PICO_DEFAULT_UART_RX_PIN)
|
||||||
|
#define UART_DEV PICO_DEFAULT_UART
|
||||||
|
#define UART_TX_PIN PICO_DEFAULT_UART_TX_PIN
|
||||||
|
#define UART_RX_PIN PICO_DEFAULT_UART_RX_PIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef UART_DEV
|
||||||
|
static uart_inst_t *uart_inst;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
|
//
|
||||||
|
//--------------------------------------------------------------------+
|
||||||
#ifdef BUTTON_BOOTSEL
|
#ifdef BUTTON_BOOTSEL
|
||||||
// This example blinks the Picoboard LED when the BOOTSEL button is pressed.
|
// This example blinks the Picoboard LED when the BOOTSEL button is pressed.
|
||||||
//
|
//
|
||||||
@@ -79,7 +105,7 @@ bool __no_inline_not_in_flash_func(get_bootsel_button)(void) {
|
|||||||
IO_QSPI_GPIO_QSPI_SS_CTRL_OEOVER_BITS);
|
IO_QSPI_GPIO_QSPI_SS_CTRL_OEOVER_BITS);
|
||||||
|
|
||||||
// Note we can't call into any sleep functions in flash right now
|
// Note we can't call into any sleep functions in flash right now
|
||||||
for (volatile int i = 0; i < 1000; ++i);
|
for (volatile int i = 0; i < 1000; ++i) {}
|
||||||
|
|
||||||
// The HI GPIO registers in SIO can observe and control the 6 QSPI pins.
|
// The HI GPIO registers in SIO can observe and control the 6 QSPI pins.
|
||||||
// Note the button pulls the pin *low* when pressed.
|
// Note the button pulls the pin *low* when pressed.
|
||||||
@@ -133,7 +159,6 @@ void stdio_rtt_init(void) {
|
|||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
//
|
//
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
|
||||||
void board_init(void)
|
void board_init(void)
|
||||||
{
|
{
|
||||||
#if (CFG_TUH_ENABLED && CFG_TUH_RPI_PIO_USB) || (CFG_TUD_ENABLED && CFG_TUD_RPI_PIO_USB)
|
#if (CFG_TUH_ENABLED && CFG_TUH_RPI_PIO_USB) || (CFG_TUD_ENABLED && CFG_TUD_RPI_PIO_USB)
|
||||||
@@ -193,7 +218,6 @@ void board_init(void)
|
|||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// Board porting API
|
// Board porting API
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
|
||||||
void board_led_write(bool state) {
|
void board_led_write(bool state) {
|
||||||
(void) state;
|
(void) state;
|
||||||
|
|
||||||
|
@@ -31,7 +31,9 @@ elseif (PICO_PLATFORM STREQUAL "rp2350-riscv")
|
|||||||
set(OPENOCD_TARGET rp2350-riscv)
|
set(OPENOCD_TARGET rp2350-riscv)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (NOT OPENOCD_OPTION)
|
||||||
set(OPENOCD_OPTION "-f interface/cmsis-dap.cfg -f target/${OPENOCD_TARGET}.cfg -c \"adapter speed 5000\"")
|
set(OPENOCD_OPTION "-f interface/cmsis-dap.cfg -f target/${OPENOCD_TARGET}.cfg -c \"adapter speed 5000\"")
|
||||||
|
endif()
|
||||||
|
|
||||||
if (NOT PICO_TINYUSB_PATH)
|
if (NOT PICO_TINYUSB_PATH)
|
||||||
set(PICO_TINYUSB_PATH ${TOP})
|
set(PICO_TINYUSB_PATH ${TOP})
|
||||||
@@ -143,6 +145,7 @@ target_sources(tinyusb_bsp INTERFACE
|
|||||||
)
|
)
|
||||||
target_include_directories(tinyusb_bsp INTERFACE
|
target_include_directories(tinyusb_bsp INTERFACE
|
||||||
${TOP}/hw
|
${TOP}/hw
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}
|
||||||
)
|
)
|
||||||
target_link_libraries(tinyusb_bsp INTERFACE
|
target_link_libraries(tinyusb_bsp INTERFACE
|
||||||
pico_unique_id
|
pico_unique_id
|
||||||
|
3
hw/bsp/rp2040/rp2350-openocd.cfg
Normal file
3
hw/bsp/rp2040/rp2350-openocd.cfg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source [find interface/cmsis-dap.cfg]
|
||||||
|
adapter speed 5000
|
||||||
|
source [find target/rp2350.cfg]
|
Reference in New Issue
Block a user