Add fmc clock divider to sysctrl
This commit is contained in:
		@@ -1,11 +1,11 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2023 - 2025 MINRES Technologies GmbH
 | 
			
		||||
 *
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Generated at 2025-02-19 17:15:41 UTC
 | 
			
		||||
 * by peakrdl_mnrs version 1.2.9
 | 
			
		||||
 */
 | 
			
		||||
* Copyright (c) 2023 - 2025 MINRES Technologies GmbH
 | 
			
		||||
*
 | 
			
		||||
* SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
*
 | 
			
		||||
* Generated at 2025-06-23 15:39:49 UTC 
 | 
			
		||||
* by peakrdl_mnrs version 1.2.9
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef _BSP_SYSCTRL_H
 | 
			
		||||
#define _BSP_SYSCTRL_H
 | 
			
		||||
@@ -13,10 +13,11 @@
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
  volatile uint32_t SYSCTRL;
 | 
			
		||||
  volatile uint32_t PLLCTRL;
 | 
			
		||||
  volatile uint32_t AXI_BACKUP;
 | 
			
		||||
} sysctrl_t;
 | 
			
		||||
    volatile uint32_t SYSCTRL;
 | 
			
		||||
    volatile uint32_t PLLCTRL;
 | 
			
		||||
    volatile uint32_t AXI_BACKUP;
 | 
			
		||||
    volatile uint32_t FMCDIV;
 | 
			
		||||
}sysctrl_t;
 | 
			
		||||
 | 
			
		||||
#define SYSCTRL_SYSCTRL_CC0_RESET_OFFS 0
 | 
			
		||||
#define SYSCTRL_SYSCTRL_CC0_RESET_MASK 0x3
 | 
			
		||||
@@ -50,45 +51,92 @@ typedef struct {
 | 
			
		||||
#define SYSCTRL_AXI_BACKUP_MASK 0x1f
 | 
			
		||||
#define SYSCTRL_AXI_BACKUP(V) ((V & SYSCTRL_AXI_BACKUP_MASK) << SYSCTRL_AXI_BACKUP_OFFS)
 | 
			
		||||
 | 
			
		||||
// SYSCTRL_SYSCTRL
 | 
			
		||||
static inline uint32_t get_sysctrl_sysctrl(volatile sysctrl_t* reg) { return reg->SYSCTRL; }
 | 
			
		||||
static inline void set_sysctrl_sysctrl(volatile sysctrl_t* reg, uint32_t value) { reg->SYSCTRL = value; }
 | 
			
		||||
static inline uint32_t get_sysctrl_sysctrl_cc0_reset(volatile sysctrl_t* reg) { return (reg->SYSCTRL >> 0) & 0x3; }
 | 
			
		||||
static inline void set_sysctrl_sysctrl_cc0_reset(volatile sysctrl_t* reg, uint8_t value) {
 | 
			
		||||
  reg->SYSCTRL = (reg->SYSCTRL & ~(0x3U << 0)) | (value << 0);
 | 
			
		||||
#define SYSCTRL_FMCDIV_FMCDIVVALID_OFFS 0
 | 
			
		||||
#define SYSCTRL_FMCDIV_FMCDIVVALID_MASK 0x1
 | 
			
		||||
#define SYSCTRL_FMCDIV_FMCDIVVALID(V) ((V & SYSCTRL_FMCDIV_FMCDIVVALID_MASK) << SYSCTRL_FMCDIV_FMCDIVVALID_OFFS)
 | 
			
		||||
 | 
			
		||||
#define SYSCTRL_FMCDIV_FMCDIVFACTOR_OFFS 1
 | 
			
		||||
#define SYSCTRL_FMCDIV_FMCDIVFACTOR_MASK 0xf
 | 
			
		||||
#define SYSCTRL_FMCDIV_FMCDIVFACTOR(V) ((V & SYSCTRL_FMCDIV_FMCDIVFACTOR_MASK) << SYSCTRL_FMCDIV_FMCDIVFACTOR_OFFS)
 | 
			
		||||
 | 
			
		||||
//SYSCTRL_SYSCTRL
 | 
			
		||||
inline uint32_t get_sysctrl_sysctrl(volatile sysctrl_t* reg){
 | 
			
		||||
     return reg->SYSCTRL;
 | 
			
		||||
}
 | 
			
		||||
static inline uint32_t get_sysctrl_sysctrl_cc1_reset(volatile sysctrl_t* reg) { return (reg->SYSCTRL >> 2) & 0x3; }
 | 
			
		||||
static inline void set_sysctrl_sysctrl_cc1_reset(volatile sysctrl_t* reg, uint8_t value) {
 | 
			
		||||
  reg->SYSCTRL = (reg->SYSCTRL & ~(0x3U << 2)) | (value << 2);
 | 
			
		||||
inline void set_sysctrl_sysctrl(volatile sysctrl_t* reg, uint32_t value){
 | 
			
		||||
     reg->SYSCTRL = value;
 | 
			
		||||
}
 | 
			
		||||
static inline uint32_t get_sysctrl_sysctrl_mem_reset(volatile sysctrl_t* reg) { return (reg->SYSCTRL >> 4) & 0x1; }
 | 
			
		||||
static inline void set_sysctrl_sysctrl_mem_reset(volatile sysctrl_t* reg, uint8_t value) {
 | 
			
		||||
  reg->SYSCTRL = (reg->SYSCTRL & ~(0x1U << 4)) | (value << 4);
 | 
			
		||||
inline uint32_t get_sysctrl_sysctrl_cc0_reset(volatile sysctrl_t* reg){
 | 
			
		||||
    return (reg->SYSCTRL >> 0) & 0x3;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_sysctrl_cc0_reset(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->SYSCTRL = (reg->SYSCTRL & ~(0x3U << 0)) | (value << 0);
 | 
			
		||||
}
 | 
			
		||||
inline uint32_t get_sysctrl_sysctrl_cc1_reset(volatile sysctrl_t* reg){
 | 
			
		||||
    return (reg->SYSCTRL >> 2) & 0x3;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_sysctrl_cc1_reset(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->SYSCTRL = (reg->SYSCTRL & ~(0x3U << 2)) | (value << 2);
 | 
			
		||||
}
 | 
			
		||||
inline uint32_t get_sysctrl_sysctrl_mem_reset(volatile sysctrl_t* reg){
 | 
			
		||||
    return (reg->SYSCTRL >> 4) & 0x1;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_sysctrl_mem_reset(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->SYSCTRL = (reg->SYSCTRL & ~(0x1U << 4)) | (value << 4);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SYSCTRL_PLLCTRL
 | 
			
		||||
static inline uint32_t get_sysctrl_pllctrl(volatile sysctrl_t* reg) { return reg->PLLCTRL; }
 | 
			
		||||
static inline void set_sysctrl_pllctrl(volatile sysctrl_t* reg, uint32_t value) { reg->PLLCTRL = value; }
 | 
			
		||||
static inline uint32_t get_sysctrl_pllctrl_p_counter(volatile sysctrl_t* reg) { return (reg->PLLCTRL >> 0) & 0x3f; }
 | 
			
		||||
static inline void set_sysctrl_pllctrl_p_counter(volatile sysctrl_t* reg, uint8_t value) {
 | 
			
		||||
  reg->PLLCTRL = (reg->PLLCTRL & ~(0x3fU << 0)) | (value << 0);
 | 
			
		||||
//SYSCTRL_PLLCTRL
 | 
			
		||||
inline uint32_t get_sysctrl_pllctrl(volatile sysctrl_t* reg){
 | 
			
		||||
     return reg->PLLCTRL;
 | 
			
		||||
}
 | 
			
		||||
static inline uint32_t get_sysctrl_pllctrl_s_counter(volatile sysctrl_t* reg) { return (reg->PLLCTRL >> 6) & 0x3; }
 | 
			
		||||
static inline void set_sysctrl_pllctrl_s_counter(volatile sysctrl_t* reg, uint8_t value) {
 | 
			
		||||
  reg->PLLCTRL = (reg->PLLCTRL & ~(0x3U << 6)) | (value << 6);
 | 
			
		||||
inline void set_sysctrl_pllctrl(volatile sysctrl_t* reg, uint32_t value){
 | 
			
		||||
     reg->PLLCTRL = value;
 | 
			
		||||
}
 | 
			
		||||
static inline uint32_t get_sysctrl_pllctrl_clk_sel(volatile sysctrl_t* reg) { return (reg->PLLCTRL >> 8) & 0x3; }
 | 
			
		||||
static inline void set_sysctrl_pllctrl_clk_sel(volatile sysctrl_t* reg, uint8_t value) {
 | 
			
		||||
  reg->PLLCTRL = (reg->PLLCTRL & ~(0x3U << 8)) | (value << 8);
 | 
			
		||||
inline uint32_t get_sysctrl_pllctrl_p_counter(volatile sysctrl_t* reg){
 | 
			
		||||
    return (reg->PLLCTRL >> 0) & 0x3f;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_pllctrl_p_counter(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->PLLCTRL = (reg->PLLCTRL & ~(0x3fU << 0)) | (value << 0);
 | 
			
		||||
}
 | 
			
		||||
inline uint32_t get_sysctrl_pllctrl_s_counter(volatile sysctrl_t* reg){
 | 
			
		||||
    return (reg->PLLCTRL >> 6) & 0x3;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_pllctrl_s_counter(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->PLLCTRL = (reg->PLLCTRL & ~(0x3U << 6)) | (value << 6);
 | 
			
		||||
}
 | 
			
		||||
inline uint32_t get_sysctrl_pllctrl_clk_sel(volatile sysctrl_t* reg){
 | 
			
		||||
    return (reg->PLLCTRL >> 8) & 0x3;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_pllctrl_clk_sel(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->PLLCTRL = (reg->PLLCTRL & ~(0x3U << 8)) | (value << 8);
 | 
			
		||||
}
 | 
			
		||||
inline uint32_t get_sysctrl_pllctrl_locked(volatile sysctrl_t* reg){
 | 
			
		||||
    return (reg->PLLCTRL >> 31) & 0x1;
 | 
			
		||||
}
 | 
			
		||||
static inline uint32_t get_sysctrl_pllctrl_locked(volatile sysctrl_t* reg) { return (reg->PLLCTRL >> 31) & 0x1; }
 | 
			
		||||
 | 
			
		||||
// SYSCTRL_AXI_BACKUP
 | 
			
		||||
static inline uint32_t get_sysctrl_axi_backup(volatile sysctrl_t* reg) { return reg->AXI_BACKUP; }
 | 
			
		||||
static inline void set_sysctrl_axi_backup(volatile sysctrl_t* reg, uint32_t value) { reg->AXI_BACKUP = value; }
 | 
			
		||||
static inline uint32_t get_sysctrl_axi_backup_page(volatile sysctrl_t* reg) { return (reg->AXI_BACKUP >> 0) & 0x1f; }
 | 
			
		||||
static inline void set_sysctrl_axi_backup_page(volatile sysctrl_t* reg, uint8_t value) {
 | 
			
		||||
  reg->AXI_BACKUP = (reg->AXI_BACKUP & ~(0x1fU << 0)) | (value << 0);
 | 
			
		||||
//SYSCTRL_AXI_BACKUP
 | 
			
		||||
inline uint32_t get_sysctrl_axi_backup(volatile sysctrl_t* reg){
 | 
			
		||||
     return reg->AXI_BACKUP;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_axi_backup(volatile sysctrl_t* reg, uint32_t value){
 | 
			
		||||
     reg->AXI_BACKUP = value;
 | 
			
		||||
}
 | 
			
		||||
inline uint32_t get_sysctrl_axi_backup_page(volatile sysctrl_t* reg){
 | 
			
		||||
    return (reg->AXI_BACKUP >> 0) & 0x1f;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_axi_backup_page(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->AXI_BACKUP = (reg->AXI_BACKUP & ~(0x1fU << 0)) | (value << 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//SYSCTRL_FMCDIV
 | 
			
		||||
inline void set_sysctrl_fmcdiv(volatile sysctrl_t* reg, uint32_t value){
 | 
			
		||||
     reg->FMCDIV = value;
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_fmcdiv_fmcDivValid(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->FMCDIV = (reg->FMCDIV & ~(0x1U << 0)) | (value << 0);
 | 
			
		||||
}
 | 
			
		||||
inline void set_sysctrl_fmcdiv_fmcDivFactor(volatile sysctrl_t* reg, uint8_t value){
 | 
			
		||||
    reg->FMCDIV = (reg->FMCDIV & ~(0xfU << 1)) | (value << 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif /* _BSP_SYSCTRL_H */
 | 
			
		||||
		Reference in New Issue
	
	Block a user