51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef _HARDWARE_XOSC_H_
|
|
#define _HARDWARE_XOSC_H_
|
|
|
|
#include "pico.h"
|
|
#include "hardware/structs/xosc.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/** \file hardware/xosc.h
|
|
* \defgroup hardware_xosc hardware_xosc
|
|
*
|
|
* Crystal Oscillator (XOSC) API
|
|
*/
|
|
|
|
/*! \brief Initialise the crystal oscillator system
|
|
* \ingroup hardware_xosc
|
|
*
|
|
* This function will block until the crystal oscillator has stabilised.
|
|
**/
|
|
void xosc_init(void);
|
|
|
|
/*! \brief Disable the Crystal oscillator
|
|
* \ingroup hardware_xosc
|
|
*
|
|
* Turns off the crystal oscillator source, and waits for it to become unstable
|
|
**/
|
|
void xosc_disable(void);
|
|
|
|
/*! \brief Set the crystal oscillator system to dormant
|
|
* \ingroup hardware_xosc
|
|
*
|
|
* Turns off the crystal oscillator until it is woken by an interrupt. This will block and hence
|
|
* the entire system will stop, until an interrupt wakes it up. This function will
|
|
* continue to block until the oscillator becomes stable after its wakeup.
|
|
**/
|
|
void xosc_dormant(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|