35static const char*
s_tag =
"NSCCGC";
static const char * s_tag
Logging / check tag.
#define RA8_NSC_VENEER
Mark a TrustZone Secure-to-Non-Secure entry-point veneer.
High-level Clock Generation Circuit driver.
ra8_err_t ra8_cgc_get_clock_hz(ra8_clock_id_t id, uint32_t *out_hz)
Query the current frequency of a clock-tree domain.
ra8_err_t ra8_cgc_pll2_enable(uint8_t mul_int, uint8_t mul_quarters, ra8_plodiv_t p_div_code)
Bring up PLL2 with caller-supplied multiplier and P divider.
ra8_clock_id_t
Identifiers for the clock-tree frequencies queryable at runtime.
ra8_err_t ra8_cgc_usbfs_clock_enable(void)
Bring up the USB-FS module clock (USBCKCR / USBCKDIVCR).
ra8_plodiv_t
PLL output divider codes for PLODIVP/Q/R fields in PLLCCR2.
Validation and Error-Checking Macros for ra8-firmware.
#define RA8_CHECK_NULL_PTR(ptr, tag, message)
Reject nullptr pointer, returning k_ra8_err_null_ptr.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
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.
ra8_err_t ra8_nsc_cgc_usbfs_clock_enable(void)
NSC veneer: bring up the USB-FS module clock.
NSC veneers for the Clock Generation Circuit (CGC) driver.
Macros for declaring Non-Secure Callable veneer functions.
#define RA8_NSC_CHECK_NS_RANGE_RW(ptr, len)
RA8 NSC CHECK NS RANGE RW.