ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_nsc_cgc.h
Go to the documentation of this file.
1
26
27#pragma once
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#include <stdint.h>
34
35#include "ra8_cgc.h"
36#include "ra8_cgc_regs.h"
37#include "ra8_err.h"
38#include "ra8_nsc_veneer.h"
39
66[[nodiscard]] RA8_NSC_VENEER ra8_err_t ra8_nsc_cgc_pll2_enable(uint8_t mul_int,
67 uint8_t mul_quarters,
68 ra8_plodiv_t p_div_code);
69
93
121 uint32_t* hz_out);
122
123#ifdef __cplusplus
124}
125#endif
#define RA8_NSC_VENEER
Mark a TrustZone Secure-to-Non-Secure entry-point veneer.
High-level Clock Generation Circuit driver.
ra8_clock_id_t
Identifiers for the clock-tree frequencies queryable at runtime.
Definition ra8_cgc.h:69
Clock Generation Circuit (CGC) field layouts for the Renesas RA8D2.
ra8_plodiv_t
PLL output divider codes for PLODIVP/Q/R fields in PLLCCR2.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
ra8_err_t ra8_nsc_cgc_get_clock_hz(ra8_clock_id_t id, uint32_t *hz_out)
NSC veneer: query a clock-tree frequency.
ra8_err_t ra8_nsc_cgc_pll2_enable(uint8_t mul_int, uint8_t mul_quarters, ra8_plodiv_t p_div_code)
NSC veneer: bring up PLL2 with the given multiplier and divider.
Definition ra8_nsc_cgc.c:63
ra8_err_t ra8_nsc_cgc_usbfs_clock_enable(void)
NSC veneer: bring up the USB-FS module clock (USBCKCR / USBCKDIVCR).
Definition ra8_nsc_cgc.c:90
Macros for declaring Non-Secure Callable veneer functions.