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 set_pll_cpux_axi (void)
 
static void set_pll_periph0 (void)
 
static void set_ahb (void)
 
static void set_apb (void)
 
static void set_dma (void)
 
static void set_mbus (void)
 
static void set_module (virtual_addr_t addr)
 
void sunxi_clk_init (void)
 Initialize the global clocks.
 
void sunxi_clk_reset (void)
 Reset the global clocks.
 
uint32_t sunxi_clk_get_peri1x_rate ()
 Get the clock rate of the PERI1X bus.
 
void sunxi_clk_dump ()
 Dump all clock-related register values.
 
void sunxi_usb_clk_init (void)
 
void sunxi_usb_clk_deinit (void)
 Deinitialize USB clock.
 

Function Documentation

◆ set_ahb()

static void set_ahb ( void  )
static

◆ set_apb()

static void set_apb ( void  )
static

◆ set_dma()

static void set_dma ( void  )
static

◆ set_mbus()

static void set_mbus ( void  )
static

◆ set_module()

static void set_module ( virtual_addr_t  addr)
static

◆ set_pll_cpux_axi()

void set_pll_cpux_axi ( void  )

◆ set_pll_periph0()

static void set_pll_periph0 ( void  )
static

◆ sunxi_clk_dump()

void sunxi_clk_dump ( void  )

Dump all clock-related register values.

This function prints out all clock-related register values for debugging and observation.

◆ 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.

◆ sunxi_usb_clk_deinit()

void sunxi_usb_clk_deinit ( void  )

Deinitialize USB clock.

◆ sunxi_usb_clk_init()

void sunxi_usb_clk_init ( void  )