pimoroni_tiny2040.h
1/*
2 * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7// -----------------------------------------------------
8// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
9// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
10// -----------------------------------------------------
11
12#ifndef _BOARDS_PIMORONI_TINY2040_H
13#define _BOARDS_PIMORONI_TINY2040_H
14
15// For board detection
16#define PIMORONI_TINY2040
17
18// --- BOARD SPECIFIC ---
19#ifndef TINY2040_LED_R_PIN
20#define TINY2040_LED_R_PIN 18
21#endif
22
23#ifndef TINY2040_LED_G_PIN
24#define TINY2040_LED_G_PIN 19
25#endif
26
27#ifndef TINY2040_LED_B_PIN
28#define TINY2040_LED_B_PIN 20
29#endif
30
31#ifndef TINY2040_USER_SW_PIN
32#define TINY2040_USER_SW_PIN 23
33#endif
34
35#ifndef TINY2040_A0_PIN
36#define TINY2040_A0_PIN 26
37#endif
38
39#ifndef TINY2040_A1_PIN
40#define TINY2040_A1_PIN 27
41#endif
42
43#ifndef TINY2040_A2_PIN
44#define TINY2040_A2_PIN 28
45#endif
46
47#ifndef TINY2040_A3_PIN
48#define TINY2040_A3_PIN 29
49#endif
50
51#ifndef TINY2040_NUM_IO_PINS
52#define TINY2040_NUM_IO_PINS 8
53#endif
54
55#ifndef TINY2040_NUM_ADC_PINS
56#define TINY2040_NUM_ADC_PINS 4
57#endif
58
59// --- UART ---
60#ifndef PICO_DEFAULT_UART
61#define PICO_DEFAULT_UART 0
62#endif
63
64#ifndef PICO_DEFAULT_UART_TX_PIN
65#define PICO_DEFAULT_UART_TX_PIN 0
66#endif
67
68#ifndef PICO_DEFAULT_UART_RX_PIN
69#define PICO_DEFAULT_UART_RX_PIN 1
70#endif
71
72// --- LED ---
73// Included so basic examples will work, and set it to the green LED
74#ifndef PICO_DEFAULT_LED_PIN
75#define PICO_DEFAULT_LED_PIN TINY2040_LED_G_PIN
76#endif
77// no PICO_DEFAULT_WS2812_PIN
78
79#ifndef PICO_DEFAULT_LED_PIN_INVERTED
80#define PICO_DEFAULT_LED_PIN_INVERTED 1
81#endif
82
83// --- I2C ---
84#ifndef PICO_DEFAULT_I2C
85#define PICO_DEFAULT_I2C 1
86#endif
87#ifndef PICO_DEFAULT_I2C_SDA_PIN
88#define PICO_DEFAULT_I2C_SDA_PIN 2
89#endif
90#ifndef PICO_DEFAULT_I2C_SCL_PIN
91#define PICO_DEFAULT_I2C_SCL_PIN 3
92#endif
93
94// --- SPI ---
95#ifndef PICO_DEFAULT_SPI
96#define PICO_DEFAULT_SPI 0
97#endif
98#ifndef PICO_DEFAULT_SPI_SCK_PIN
99#define PICO_DEFAULT_SPI_SCK_PIN 6
100#endif
101#ifndef PICO_DEFAULT_SPI_TX_PIN
102#define PICO_DEFAULT_SPI_TX_PIN 7
103#endif
104#ifndef PICO_DEFAULT_SPI_RX_PIN
105#define PICO_DEFAULT_SPI_RX_PIN 4
106#endif
107#ifndef PICO_DEFAULT_SPI_CSN_PIN
108#define PICO_DEFAULT_SPI_CSN_PIN 5
109#endif
110
111// --- FLASH ---
112#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
113
114#ifndef PICO_FLASH_SPI_CLKDIV
115#define PICO_FLASH_SPI_CLKDIV 2
116#endif
117
118#ifndef PICO_FLASH_SIZE_BYTES
119#define PICO_FLASH_SIZE_BYTES (8 * 1024 * 1024)
120#endif
121
122// All boards have B1 RP2040
123#ifndef PICO_RP2040_B0_SUPPORTED
124#define PICO_RP2040_B0_SUPPORTED 0
125#endif
126
127#endif