-
Notifications
You must be signed in to change notification settings - Fork 996
Create "pico2-ice" target board #5062
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
4e3d290
Create "pico2-ice" target board
tinkerator 72e19f5
More silkscreen labels for pico2-ice board
tinkerator 1701bda
Added a smoketest for pico2-ice board and tidied up GPIO defs
tinkerator a582f77
Update GNUmakefile
tinkerator 8b0ea1c
Update GNUmakefile
aykevl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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,173 @@ | ||
| //go:build pico2_ice | ||
|
|
||
| // Most of the info is from | ||
| // https://pico2-ice.tinyvision.ai/md_pinout.html although | ||
| // (2025-09-07) RP4 appears twice in that pinout - the schematic is | ||
| // more clear. Consistent with other RPi boards, we use GPn instead of | ||
| // RPn to reference the RPi connected pins. | ||
|
|
||
| package machine | ||
|
|
||
| // GPIO pins | ||
| const ( | ||
| GP0 Pin = GPIO0 | ||
| GP1 Pin = GPIO1 | ||
| GP2 Pin = GPIO2 | ||
| GP3 Pin = GPIO3 | ||
| GP4 Pin = GPIO4 | ||
| GP5 Pin = GPIO5 | ||
| GP6 Pin = GPIO6 | ||
| GP7 Pin = GPIO7 | ||
| GP8 Pin = GPIO8 | ||
| GP9 Pin = GPIO9 | ||
| GP10 Pin = GPIO10 | ||
| GP11 Pin = GPIO11 | ||
| GP12 Pin = GPIO12 | ||
| GP13 Pin = GPIO13 | ||
| GP14 Pin = GPIO14 | ||
| GP15 Pin = GPIO15 | ||
| GP16 Pin = GPIO16 | ||
| GP17 Pin = GPIO17 | ||
| GP18 Pin = GPIO18 | ||
| GP19 Pin = GPIO19 | ||
| GP20 Pin = GPIO20 | ||
| GP21 Pin = GPIO21 | ||
| GP22 Pin = GPIO22 | ||
| GP23 Pin = GPIO23 | ||
| GP24 Pin = GPIO24 | ||
| GP25 Pin = GPIO25 | ||
| GP26 Pin = GPIO26 | ||
| GP27 Pin = GPIO27 | ||
| GP28 Pin = GPIO28 | ||
| GP29 Pin = GPIO29 | ||
| GP30 Pin = 30 | ||
| GP31 Pin = 31 | ||
| GP32 Pin = 32 | ||
| GP33 Pin = 33 | ||
| GP34 Pin = 34 | ||
| GP35 Pin = 35 | ||
| GP36 Pin = 36 | ||
| GP37 Pin = 37 | ||
| GP38 Pin = 38 | ||
| GP39 Pin = 39 | ||
| GP40 Pin = 40 | ||
| GP41 Pin = 41 | ||
| GP42 Pin = 42 | ||
| GP43 Pin = 43 | ||
| GP44 Pin = 44 | ||
| GP45 Pin = 45 | ||
| GP46 Pin = 46 | ||
| GP47 Pin = 47 | ||
|
|
||
| // RPi pins shared with ICE. The ICE number is what appears on | ||
| // the board silkscreen. | ||
| ICE9 = GP28 | ||
| ICE11 = GP29 | ||
| ICE14 = GP7 | ||
| ICE15 = GP6 | ||
| ICE16 = GP5 | ||
| ICE17 = GP4 | ||
| ICE18 = GP27 | ||
| ICE19 = GP23 | ||
| ICE20 = GP22 | ||
| ICE21 = GP26 | ||
| ICE23 = GP25 | ||
| ICE25 = GP30 | ||
| ICE26 = GP24 | ||
| ICE27 = GP20 | ||
|
|
||
| // FPGA Clock pin. | ||
| ICE35_G0 = GP21 | ||
|
|
||
| // Silkscreen & Pinout names | ||
| ICE_SSN = ICE16 | ||
| ICE_SO = ICE14 | ||
| ICE_SI = ICE17 | ||
| ICE_CK = ICE15 | ||
| SD = GP2 | ||
| SC = GP3 | ||
|
|
||
| FPGA_RSTN = GP31 | ||
| A3 = GP32 | ||
| A1 = GP33 | ||
| A4 = GP34 | ||
| A2 = GP35 | ||
| B3 = GP36 | ||
| B1 = GP37 | ||
| B4 = GP38 | ||
| B2 = GP39 | ||
| N0 = GP40 // On the board these are labeled "~0" | ||
| N1 = GP41 | ||
| N2 = GP42 | ||
| N3 = GP43 | ||
| N4 = GP44 | ||
| N5 = GP45 | ||
| N6 = GP46 | ||
|
|
||
| // Functions from Schematic. | ||
| ICE_DONE = GP40 | ||
| USB_BOOT = GP42 | ||
|
|
||
| // Button | ||
| SW1 = GP42 | ||
| BOOTSEL = GP42 | ||
|
|
||
| // Tricolor LEDs | ||
| RED Pin = GP1 | ||
| GREEN Pin = GP0 | ||
| BLUE Pin = GP9 | ||
tinkerator marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| // Onboard LED | ||
| LED Pin = GREEN | ||
|
|
||
| // Onboard crystal oscillator frequency, in MHz. | ||
| xoscFreq = 12 // MHz | ||
| ) | ||
|
|
||
| // This board does not define default i2c pins. | ||
| const ( | ||
| I2C0_SDA_PIN Pin = 0 | ||
tinkerator marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| I2C0_SCL_PIN Pin = 0 | ||
| I2C1_SDA_PIN Pin = 0 | ||
| I2C1_SCL_PIN Pin = 0 | ||
| ) | ||
|
|
||
| // SPI default pins | ||
| const ( | ||
| // Default Serial Clock Bus 0 for SPI communications | ||
| SPI0_SCK_PIN = GPIO18 | ||
| // Default Serial Out Bus 0 for SPI communications | ||
| SPI0_SDO_PIN = GPIO19 // Tx | ||
| // Default Serial In Bus 0 for SPI communications | ||
| SPI0_SDI_PIN = GPIO16 // Rx | ||
|
|
||
| // Default Serial Clock Bus 1 for SPI communications | ||
| SPI1_SCK_PIN = GPIO10 | ||
| // Default Serial Out Bus 1 for SPI communications | ||
| SPI1_SDO_PIN = GPIO11 // Tx | ||
| // Default Serial In Bus 1 for SPI communications | ||
| SPI1_SDI_PIN = GPIO12 // Rx | ||
| ) | ||
|
|
||
| // UART pins | ||
| const ( | ||
| UART0_TX_PIN = GPIO0 | ||
| UART0_RX_PIN = GPIO1 | ||
| UART1_TX_PIN = GPIO8 | ||
| UART1_RX_PIN = GPIO9 | ||
| UART_TX_PIN = UART0_TX_PIN | ||
| UART_RX_PIN = UART0_RX_PIN | ||
| ) | ||
|
|
||
| var DefaultUART = UART0 | ||
|
|
||
| // USB identifiers | ||
| const ( | ||
| usb_STRING_PRODUCT = "Pico2" | ||
| usb_STRING_MANUFACTURER = "Raspberry Pi" | ||
| ) | ||
|
|
||
| var ( | ||
| usb_VID uint16 = 0x2E8A | ||
| usb_PID uint16 = 0x000A | ||
| ) | ||
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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,11 @@ | ||
| { | ||
| "inherits": [ | ||
| "rp2350b" | ||
| ], | ||
| "build-tags": ["pico2_ice"], | ||
| "serial-port": ["2e8a:000A"], | ||
| "default-stack-size": 8192, | ||
| "ldflags": [ | ||
| "--defsym=__flash_size=4M" | ||
| ] | ||
| } |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.