![]() |
SyterKit 0.4.0.x
SyterKit is a bare-metal framework
|
#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>
Classes | |
| struct | pll_reg_config |
Macros | |
| #define | PLL_REG_CONF(x) { x, (1 << x##_PLL_FREF_SEL_OFFSET) } |
| #define | CPU_PLL_FACTOR_N_24M(x) (((x) + (24) - 1) / (24)) |
| #define | CPU_PLL_FACTOR_N_26M(x) (((x) + (26) - 1) / (26)) |
Functions | |
| static void | set_pll_parent (void) |
| static void | enable_pll (uint32_t addr, uint32_t m0, uint32_t n, uint32_t m1, uint32_t p) |
| static void | set_pll (uint32_t addr, uint32_t m0, uint32_t n, uint32_t m1, uint32_t p) |
| static void | set_pll_cpux_axi (void) |
| static void | set_apb1 (void) |
| static void | set_pll_nsi (void) |
| 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. | |
| static void | sunxi_cpu_clk_dump (uint32_t pll_addr, uint32_t ctl_addr, char *name, uint32_t clk_hosc) |
| static void | sunxi_peri_clk_dump (uint32_t addr, char *name, uint8_t pll_div) |
| void | sunxi_clk_dump (void) |
| Dump all clock-related register values. | |
Variables | |
| const struct pll_reg_config | pll_ctrl_regs [] |
| #define CPU_PLL_FACTOR_N_24M | ( | x | ) | (((x) + (24) - 1) / (24)) |
| #define CPU_PLL_FACTOR_N_26M | ( | x | ) | (((x) + (26) - 1) / (26)) |
| #define PLL_REG_CONF | ( | x | ) | { x, (1 << x##_PLL_FREF_SEL_OFFSET) } |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| void sunxi_clk_dump | ( | void | ) |
Dump all clock-related register values.
This function prints out all clock-related register values for debugging and observation.
| 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.
| uint32_t sunxi_clk_get_peri1x_rate | ( | ) |
Get the clock rate of the PERI1X bus.
| 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:
set_pll_cpux_axi() function.set_apb() function.set_pll_nsi() function.set_pll_mbus() function.| void sunxi_clk_reset | ( | void | ) |
Reset the global clocks.
This function resets all global clocks to their default values.
|
inlinestatic |
| const struct pll_reg_config pll_ctrl_regs[] |