aboutsummaryrefslogtreecommitdiffstats
path: root/src/rp2040/internal.h
blob: 010318a6e0e064f02b137265b652d8b201e8a584 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef __RP2040_INTERNAL_H
#define __RP2040_INTERNAL_H
// Local definitions for RPxxxx chips

#include "autoconf.h" // CONFIG_MACH_RP2040

#if CONFIG_MACH_RP2040
  #include "RP2040.h"
#elif CONFIG_MACH_RP2350
  #include "RP2350.h"
#endif

void enable_pclock(uint32_t reset_bit);
int is_enabled_pclock(uint32_t reset_bit);
uint32_t get_pclock_frequency(uint32_t reset_bit);
void gpio_peripheral(uint32_t gpio, int func, int pull_up);
void reset_to_usb_boot(uint32_t gpio_activity_pin_mask
                       , uint32_t disable_interface_mask);
void connect_internal_flash(void);
void flash_exit_xip(void);
void flash_flush_cache(void);

// Force a function to run from ram
#define UNIQSEC __FILE__ "." __stringify(__LINE__)
#define _ramfunc noinline __section(".ramfunc." UNIQSEC)

#endif // internal.h