YAHAL
Yet Another Hardware Abstraction Library
Loading...
Searching...
No Matches
system_rp2350.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// System startup code RP2350.
15//
16#ifndef _SYSTEM_RP2350_H_
17#define _SYSTEM_RP2350_H_
18
19#include <cstdint>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25// The global RP2350 system clocks in Hz
26extern uint32_t CLK_REF;
27extern uint32_t CLK_SYS;
28extern uint32_t CLK_PERI;
29extern uint32_t CLK_HSTX;
30extern uint32_t CLK_USB;
31extern uint32_t CLK_ADC;
32extern uint32_t systick_ref_freq;
33extern uint32_t timer_ticks_per_us;
34
35
36// Set up the microcontroller system.
37// Initialize the System and finally
38// update the global clock variables.
39void SystemInit (void);
40
41// Calculate and set the global clock
42// variables using the current configuration
43// retrieved from cpu registers.
44extern void ClockUpdate (void);
45
46#ifdef __cplusplus
47}
48#endif
49
50#endif // _SYSTEM_RP2350_H_