SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
Functions
sys-clk.c File Reference
#include <io.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <types.h>
#include <timer.h>
#include <log.h>
#include <sys-clk.h>
Include dependency graph for sys-clk.c:

Functions

void sunxi_clk_init (void)
 Initialize the global clocks.
 
uint32_t sunxi_clk_get_hosc_type ()
 Get the type of High-Speed Oscillator (HOSC).
 
void sunxi_clk_reset (void)
 Reset the global clocks.
 
uint32_t sunxi_clk_get_peri1x_rate ()
 Get the clock rate of the PERI1X bus.
 

Function Documentation

◆ sunxi_clk_get_hosc_type()

uint32_t sunxi_clk_get_hosc_type ( void  )

Get the type of High-Speed Oscillator (HOSC).

This function retrieves the type of the High-Speed Oscillator currently being used. The returned value can indicate different HOSC configurations or features supported by the system.

Returns
uint32_t Type of the HOSC.

◆ sunxi_clk_get_peri1x_rate()

uint32_t sunxi_clk_get_peri1x_rate ( )

Get the clock rate of the PERI1X bus.

Returns
The clock rate of the PERI1X bus in Hz.

◆ sunxi_clk_init()

void sunxi_clk_init ( void  )

Initialize the global clocks.

This function initializes the global clocks, including PLLs and clock dividers.

Initialize the global clocks.

This function configures various clock sources for the CPU, AXI, APB, NSI, and MBUS based on the Sunxi platform's requirements. The function also prints debug messages to track the initialization process.

It performs the following tasks:

Note
This function should be called during the system initialization process to ensure the correct operation of the platform's clock system.
Warning
Ensure that all the clock configuration functions are correctly implemented and tested to avoid system instability.

◆ sunxi_clk_reset()

void sunxi_clk_reset ( void  )

Reset the global clocks.

This function resets all global clocks to their default values.