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 // FIXME delete this file before release (board file for Amethyst FPGA platform)
13 
14 // pico_cmake_set PICO_PLATFORM=rp2350
15 
16 #ifndef _BOARDS_AMETHYST_FPGA_H
17 #define _BOARDS_AMETHYST_FPGA_H
18 
19 #if !PICO_RP2350
20 #error "Invalid PICO_PLATFORM for amethyst_fpga.h: must be rp2350 or rp2350-riscv"
21 #endif
22 
23 // For board detection
24 #define RASPBERRYPI_AMETHYST_FPGA
25 
26 #define PICO_NO_FPGA_CHECK 0
27 
28 // --- UART ---
29 #ifndef PICO_DEFAULT_UART
30 #define PICO_DEFAULT_UART 0
31 #endif
32 #ifndef PICO_DEFAULT_UART_TX_PIN
33 #define PICO_DEFAULT_UART_TX_PIN 46
34 #endif
35 #ifndef PICO_DEFAULT_UART_RX_PIN
36 #define PICO_DEFAULT_UART_RX_PIN 47
37 #endif
38 // Match bootrom UART baud rate of 1 Mbaud:
39 #ifndef PICO_DEFAULT_UART_BAUD_RATE
40 #define PICO_DEFAULT_UART_BAUD_RATE 1000000
41 #endif
42 
43 // --- LED ---
44 #ifndef PICO_DEFAULT_LED_PIN
45 #define PICO_DEFAULT_LED_PIN 25
46 #endif
47 // no PICO_DEFAULT_WS2812_PIN
48 
49 // --- I2C ---
50 #ifndef PICO_DEFAULT_I2C
51 #define PICO_DEFAULT_I2C 0
52 #endif
53 #ifndef PICO_DEFAULT_I2C_SDA_PIN
54 #define PICO_DEFAULT_I2C_SDA_PIN 4
55 #endif
56 #ifndef PICO_DEFAULT_I2C_SCL_PIN
57 #define PICO_DEFAULT_I2C_SCL_PIN 5
58 #endif
59 
60 // --- SPI ---
61 #ifndef PICO_DEFAULT_SPI
62 #define PICO_DEFAULT_SPI 0
63 #endif
64 #ifndef PICO_DEFAULT_SPI_SCK_PIN
65 #define PICO_DEFAULT_SPI_SCK_PIN 18
66 #endif
67 #ifndef PICO_DEFAULT_SPI_TX_PIN
68 #define PICO_DEFAULT_SPI_TX_PIN 19
69 #endif
70 #ifndef PICO_DEFAULT_SPI_RX_PIN
71 #define PICO_DEFAULT_SPI_RX_PIN 16
72 #endif
73 #ifndef PICO_DEFAULT_SPI_CSN_PIN
74 #define PICO_DEFAULT_SPI_CSN_PIN 17
75 #endif
76 
77 #define PICO_SD_CLK_PIN 18
78 #define PICO_SD_CMD_PIN 19
79 #define PICO_SD_DAT0_PIN 20
80 
81 #define PICO_ON_FPGA 1
82 
83 #define PICO_SCANVIDEO_COLOR_PIN_COUNT 16
84 #define PICO_SCANVIDEO_DPI_PIXEL_RSHIFT 0u
85 #define PICO_SCANVIDEO_DPI_PIXEL_GSHIFT 6u
86 #define PICO_SCANVIDEO_DPI_PIXEL_BSHIFT 11u
87 
88 #define PICO_SCANVIDEO_48MHZ 1
89 #define PICO_AUDIO_I2S_DATA_PIN 29
90 #define PICO_AUDIO_I2S_CLOCK_PIN_BASE 30
91 
92 #define PICO_AUDIO_PWM_L_PIN 28
93 #define PICO_AUDIO_PWM_R_PIN 27
94 
95 // --- FLASH ---
96 
97 #define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
98 
99 #ifndef PICO_FLASH_SPI_CLKDIV
100 #define PICO_FLASH_SPI_CLKDIV 2
101 #endif
102 
103 // pico_cmake_set_default PICO_FLASH_SIZE_BYTES = (16 * 1024 * 1024)
104 #ifndef PICO_FLASH_SIZE_BYTES
105 #define PICO_FLASH_SIZE_BYTES (16 * 1024 * 1024)
106 #endif
107 #endif
108