YAHAL
Yet Another Hardware Abstraction Library
Loading...
Searching...
No Matches
board.h
1// ---------------------------------------------
2// This file is part of
3// _ _ __ _ _ __ __
4// ( \/ ) /__\ ( )_( ) /__\ ( )
5// \ / /(__)\ ) _ ( /(__)\ )(__
6// (__)(__)(__)(_) (_)(__)(__)(____)
7//
8// Yet Another HW Abstraction Library
9// Copyright (C) Andreas Terstegge
10// BSD Licensed (see file LICENSE)
11//
12// ---------------------------------------------
13//
14// This file defines the hardware components
15// on the RP2350 Launchpad. Additionally it
16// defines some macros for PSRAM usage.
17
18#ifndef RP2350_LAUNCHPAD_BOARD_H
19#define RP2350_LAUNCHPAD_BOARD_H
20
21#define YAHAL_BOARD_RP2350_LAUNCHPAD
22
23#define PSRAM_CS_GPIO 0
24
25#define BC_UART_TX 26
26#define BC_UART_RX 27
27
28#define S1_GPIO 28
29#define S2_GPIO 29
30
31#define LED_RED_GPIO 38
32#define LED_RGB_GPIO 39
33#define LED_RGB_COUNT 8
34
35#define BATT_ADC 7
36
37// Use PSRAM without copying code/data or zeroing
38#define PSRAM __attribute__((section(".ps_noload")))
39
40// Use PSRAM and initialize with zeros
41#define PSRAM_BSS __attribute__((section(".ps_bss")))
42
43// Use PSRAM and copy code/data
44#define PSRAM_LOAD __attribute__((section(".ps_data")))
45
46// Generic defines
47#define COPY_TO_RAM __attribute__((section(".move_to_ram")))
48#define NO_INLINE __attribute__((__noinline__))
49#define FORCE_INLINE __attribute__((always_inline))
50#define CONSTRUCTOR __attribute__((constructor))
51
52#endif // RP2350_LAUNCHPAD_BOARD_H