pico.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// This header may be included by other board headers as "boards/pico.h"
13
14#ifndef _BOARDS_PICO_H
15#define _BOARDS_PICO_H
16
17// For board detection
18#define RASPBERRYPI_PICO
19
20// --- UART ---
21#ifndef PICO_DEFAULT_UART
22#define PICO_DEFAULT_UART 0
23#endif
24#ifndef PICO_DEFAULT_UART_TX_PIN
25#define PICO_DEFAULT_UART_TX_PIN 0
26#endif
27#ifndef PICO_DEFAULT_UART_RX_PIN
28#define PICO_DEFAULT_UART_RX_PIN 1
29#endif
30
31// --- LED ---
32#ifndef PICO_DEFAULT_LED_PIN
33#define PICO_DEFAULT_LED_PIN 25
34#endif
35// no PICO_DEFAULT_WS2812_PIN
36
37// --- I2C ---
38#ifndef PICO_DEFAULT_I2C
39#define PICO_DEFAULT_I2C 0
40#endif
41#ifndef PICO_DEFAULT_I2C_SDA_PIN
42#define PICO_DEFAULT_I2C_SDA_PIN 4
43#endif
44#ifndef PICO_DEFAULT_I2C_SCL_PIN
45#define PICO_DEFAULT_I2C_SCL_PIN 5
46#endif
47
48// --- SPI ---
49#ifndef PICO_DEFAULT_SPI
50#define PICO_DEFAULT_SPI 0
51#endif
52#ifndef PICO_DEFAULT_SPI_SCK_PIN
53#define PICO_DEFAULT_SPI_SCK_PIN 18
54#endif
55#ifndef PICO_DEFAULT_SPI_TX_PIN
56#define PICO_DEFAULT_SPI_TX_PIN 19
57#endif
58#ifndef PICO_DEFAULT_SPI_RX_PIN
59#define PICO_DEFAULT_SPI_RX_PIN 16
60#endif
61#ifndef PICO_DEFAULT_SPI_CSN_PIN
62#define PICO_DEFAULT_SPI_CSN_PIN 17
63#endif
64
65// --- FLASH ---
66
67#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
68
69#ifndef PICO_FLASH_SPI_CLKDIV
70#define PICO_FLASH_SPI_CLKDIV 2
71#endif
72
73#ifndef PICO_FLASH_SIZE_BYTES
74#define PICO_FLASH_SIZE_BYTES (2 * 1024 * 1024)
75#endif
76
77// Drive high to force power supply into PWM mode (lower ripple on 3V3 at light loads)
78#define PICO_SMPS_MODE_PIN 23
79
80#ifndef PICO_RP2040_B0_SUPPORTED
81#define PICO_RP2040_B0_SUPPORTED 1
82#endif
83
84#endif