|
| 1 | +//go:build metro_rp2350 |
| 2 | + |
| 3 | +package machine |
| 4 | + |
| 5 | +// GPIO pins |
| 6 | +const ( |
| 7 | + GP0 Pin = GPIO0 |
| 8 | + GP1 Pin = GPIO1 |
| 9 | + GP2 Pin = GPIO2 |
| 10 | + GP3 Pin = GPIO3 |
| 11 | + GP4 Pin = GPIO4 |
| 12 | + GP5 Pin = GPIO5 |
| 13 | + GP6 Pin = GPIO6 |
| 14 | + GP7 Pin = GPIO7 |
| 15 | + GP8 Pin = GPIO8 |
| 16 | + GP9 Pin = GPIO9 |
| 17 | + GP10 Pin = GPIO10 |
| 18 | + GP11 Pin = GPIO11 |
| 19 | + GP12 Pin = GPIO12 |
| 20 | + GP13 Pin = GPIO13 |
| 21 | + GP14 Pin = GPIO14 |
| 22 | + GP15 Pin = GPIO15 |
| 23 | + GP16 Pin = GPIO16 |
| 24 | + GP17 Pin = GPIO17 |
| 25 | + GP18 Pin = GPIO18 |
| 26 | + GP19 Pin = GPIO19 |
| 27 | + GP20 Pin = GPIO20 |
| 28 | + GP21 Pin = GPIO21 |
| 29 | + GP22 Pin = GPIO22 |
| 30 | + GP23 Pin = GPIO23 |
| 31 | + GP24 Pin = GPIO24 |
| 32 | + GP25 Pin = GPIO25 |
| 33 | + GP26 Pin = GPIO26 |
| 34 | + GP27 Pin = GPIO27 |
| 35 | + GP28 Pin = GPIO28 |
| 36 | + GP29 Pin = GPIO29 |
| 37 | + GP30 Pin = GPIO30 |
| 38 | + GP31 Pin = GPIO31 |
| 39 | + GP32 Pin = GPIO32 |
| 40 | + GP33 Pin = GPIO33 |
| 41 | + GP34 Pin = GPIO34 |
| 42 | + GP35 Pin = GPIO35 |
| 43 | + GP36 Pin = GPIO36 |
| 44 | + GP37 Pin = GPIO37 |
| 45 | + GP38 Pin = GPIO38 |
| 46 | + GP39 Pin = GPIO39 |
| 47 | + GP40 Pin = GPIO40 |
| 48 | + GP41 Pin = GPIO41 |
| 49 | + GP42 Pin = GPIO42 |
| 50 | + GP43 Pin = GPIO43 |
| 51 | + GP44 Pin = GPIO44 |
| 52 | + GP45 Pin = GPIO45 |
| 53 | + GP46 Pin = GPIO46 |
| 54 | + |
| 55 | + // Boot button |
| 56 | + BUTTON Pin = GPIO24 |
| 57 | + |
| 58 | + // Onboard LED |
| 59 | + LED Pin = GPIO23 |
| 60 | + |
| 61 | + // Onboard NeoPixel |
| 62 | + NEOPIXEL Pin = GPIO25 |
| 63 | + WS2812 Pin = GPIO25 |
| 64 | + |
| 65 | + // Onboard crystal oscillator frequency, in MHz. |
| 66 | + xoscFreq = 12 // MHz |
| 67 | +) |
| 68 | + |
| 69 | +// Arduino-header digital pins |
| 70 | +const ( |
| 71 | + RX Pin = GPIO1 |
| 72 | + TX Pin = GPIO0 |
| 73 | + D2 Pin = GPIO2 |
| 74 | + D3 Pin = GPIO3 |
| 75 | + D4 Pin = GPIO4 |
| 76 | + D5 Pin = GPIO5 |
| 77 | + D6 Pin = GPIO6 |
| 78 | + D7 Pin = GPIO7 |
| 79 | + D8 Pin = GPIO8 |
| 80 | + D9 Pin = GPIO9 |
| 81 | + D10 Pin = GPIO10 |
| 82 | + D11 Pin = GPIO11 |
| 83 | + D22 Pin = GPIO22 |
| 84 | + D23 Pin = GPIO23 |
| 85 | +) |
| 86 | + |
| 87 | +// Arduino-header analog pins |
| 88 | +const ( |
| 89 | + A0 Pin = GPIO41 |
| 90 | + A1 Pin = GPIO42 |
| 91 | + A2 Pin = GPIO43 |
| 92 | + A3 Pin = GPIO44 |
| 93 | + A4 Pin = GPIO45 |
| 94 | + A5 Pin = GPIO46 |
| 95 | +) |
| 96 | + |
| 97 | +// I2C Default pins on Raspberry Pico. |
| 98 | +const ( |
| 99 | + I2C0_SDA_PIN = GP20 |
| 100 | + I2C0_SCL_PIN = GP21 |
| 101 | + |
| 102 | + I2C1_SDA_PIN = GP2 |
| 103 | + I2C1_SCL_PIN = GP3 |
| 104 | +) |
| 105 | + |
| 106 | +// SPI default pins |
| 107 | +const ( |
| 108 | + // Default Serial Clock Bus 0 for SPI communications |
| 109 | + SPI0_SCK_PIN = GPIO18 |
| 110 | + // Default Serial Out Bus 0 for SPI communications |
| 111 | + SPI0_SDO_PIN = GPIO19 // Tx |
| 112 | + // Default Serial In Bus 0 for SPI communications |
| 113 | + SPI0_SDI_PIN = GPIO16 // Rx |
| 114 | + |
| 115 | + // Default Serial Clock Bus 1 for SPI communications |
| 116 | + SPI1_SCK_PIN = GPIO30 |
| 117 | + // Default Serial Out Bus 1 for SPI communications |
| 118 | + SPI1_SDO_PIN = GPIO31 // Tx |
| 119 | + // Default Serial In Bus 1 for SPI communications |
| 120 | + SPI1_SDI_PIN = GPIO28 // Rx |
| 121 | + |
| 122 | + // SPI header pins |
| 123 | + MOSI Pin = SPI1_SDO_PIN |
| 124 | + MISO Pin = SPI1_SDI_PIN |
| 125 | + SCK Pin = SPI1_SCK_PIN |
| 126 | +) |
| 127 | + |
| 128 | +// SD card reader pins |
| 129 | +const ( |
| 130 | + SD_SCK = GPIO34 |
| 131 | + SD_MOSI = GPIO35 |
| 132 | + SD_MISO = GPIO36 |
| 133 | + SDIO_DATA1 = GPIO37 |
| 134 | + SDIO_DATA2 = GPIO38 |
| 135 | + SD_CS = GPIO39 |
| 136 | + SD_CARD_DETECT = GPIO40 |
| 137 | +) |
| 138 | + |
| 139 | +// HSTX pins |
| 140 | +const ( |
| 141 | + CKN Pin = GPIO15 |
| 142 | + CKP Pin = GPIO14 |
| 143 | + D0N Pin = GPIO19 |
| 144 | + D0P Pin = GPIO18 |
| 145 | + D1N Pin = GPIO17 |
| 146 | + D1P Pin = GPIO16 |
| 147 | + D2N Pin = GPIO13 |
| 148 | + D2P Pin = GPIO12 |
| 149 | + D26 Pin = GPIO26 |
| 150 | + D27 Pin = GPIO27 |
| 151 | + SCL Pin = GPIO21 |
| 152 | + SDA Pin = GPIO20 |
| 153 | +) |
| 154 | + |
| 155 | +// USB host header pins |
| 156 | +const ( |
| 157 | + USB_HOST_DATA_PLUS Pin = GPIO32 |
| 158 | + USB_HOST_DATA_MINUS Pin = GPIO33 |
| 159 | + USB_HOST_5V_POWER Pin = GPIO29 |
| 160 | +) |
| 161 | + |
| 162 | +// UART pins |
| 163 | +const ( |
| 164 | + UART0_TX_PIN = GPIO0 |
| 165 | + UART0_RX_PIN = GPIO1 |
| 166 | + UART1_TX_PIN = GPIO8 |
| 167 | + UART1_RX_PIN = GPIO9 |
| 168 | + UART_TX_PIN = UART0_TX_PIN |
| 169 | + UART_RX_PIN = UART0_RX_PIN |
| 170 | +) |
| 171 | + |
| 172 | +var DefaultUART = UART0 |
| 173 | + |
| 174 | +// USB identifiers |
| 175 | +const ( |
| 176 | + usb_STRING_PRODUCT = "Metro RP2350" |
| 177 | + usb_STRING_MANUFACTURER = "Adafruit" |
| 178 | +) |
| 179 | + |
| 180 | +var ( |
| 181 | + usb_VID uint16 = 0x239A |
| 182 | + usb_PID uint16 = 0x814E |
| 183 | +) |
0 commit comments