-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2994 from hathach/enhance-hub
Enhance hub driver
- Loading branch information
Showing
21 changed files
with
808 additions
and
426 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
hw/bsp/rp2040/boards/adafruit_feather_rp2040_usb_host/board.cmake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
set(PICO_PLATFORM rp2040) | ||
set(PICO_BOARD adafruit_feather_rp2040_usb_host) |
64 changes: 64 additions & 0 deletions
64
hw/bsp/rp2040/boards/adafruit_feather_rp2040_usb_host/board.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 changes: 113 additions & 0 deletions
113
hw/bsp/rp2040/boards/adafruit_fruit_jam/adafruit_fruit_jam.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
set(PICO_PLATFORM rp2040) | ||
set(PICO_BOARD pico) | ||
#set(OPENOCD_SERIAL E6614103E719612F) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
set(PICO_PLATFORM rp2350-arm-s) | ||
set(PICO_BOARD pico2) | ||
#set(OPENOCD_SERIAL E6614103E77C5A24) |
Oops, something went wrong.