blob: 9c1065081dee6afec1e8f6d24488eb728016027e [file] [log] [blame]
/*******************************************************************************
* *
* Copyright 2013 Altera Corporation. All Rights Reserved. *
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted provided that the following conditions are met: *
* *
* 1. Redistributions of source code must retain the above copyright notice, *
* this list of conditions and the following disclaimer. *
* *
* 2. Redistributions in binary form must reproduce the above copyright notice, *
* this list of conditions and the following disclaimer in the documentation *
* and/or other materials provided with the distribution. *
* *
* 3. The name of the author may not be used to endorse or promote products *
* derived from this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR *
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO *
* EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, *
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR *
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
*******************************************************************************/
/* Altera - ALT_CLKMGR */
#ifndef __ALTERA_ALT_CLKMGR_H__
#define __ALTERA_ALT_CLKMGR_H__
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
/*
* Component : Clock Manager Module - ALT_CLKMGR
* Clock Manager Module
*
* Registers in the Clock Manager module
*
*/
/*
* Register : Control Register - ctrl
*
* Contains fields that control the entire Clock Manager.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------------------------
* [0] | RW | 0x1 | Safe Mode
* [1] | ??? | 0x0 | *UNDEFINED*
* [2] | RW | 0x1 | Enable SafeMode on Warm Reset
* [31:3] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Safe Mode - safemode
*
* When set the Clock Manager is in Safe Mode.
*
* In Safe Mode Clock Manager register settings defining clock behavior are ignored
* and clocks are set to a Safe Mode state.In Safe Mode all clocks with the
* optional exception of debug clocks, are directly generated from the EOSC1 clock
* input, all PLLs are bypassed, all programmable dividers are set to 1 and all
* clocks are enabled.
*
* This bit should only be cleared when clocks have been correctly configured
*
* This field is set on a cold reset and optionally on a warm reset and may not be
* set by SW.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_CTL_SAFEMOD register field. */
#define ALT_CLKMGR_CTL_SAFEMOD_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_CTL_SAFEMOD register field. */
#define ALT_CLKMGR_CTL_SAFEMOD_MSB 0
/* The width in bits of the ALT_CLKMGR_CTL_SAFEMOD register field. */
#define ALT_CLKMGR_CTL_SAFEMOD_WIDTH 1
/* The mask used to set the ALT_CLKMGR_CTL_SAFEMOD register field value. */
#define ALT_CLKMGR_CTL_SAFEMOD_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_CTL_SAFEMOD register field value. */
#define ALT_CLKMGR_CTL_SAFEMOD_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_CTL_SAFEMOD register field. */
#define ALT_CLKMGR_CTL_SAFEMOD_RESET 0x1
/* Extracts the ALT_CLKMGR_CTL_SAFEMOD field value from a register. */
#define ALT_CLKMGR_CTL_SAFEMOD_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_CTL_SAFEMOD register field value suitable for setting the register. */
#define ALT_CLKMGR_CTL_SAFEMOD_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Enable SafeMode on Warm Reset - ensfmdwr
*
* When set the Clock Manager will respond to a Safe Mode request from the Reset
* Manager on a warm reset by setting the Safe Mode bit. When clear the clock
* manager will not set the the Safe Mode bit on a warm reset This bit is cleared
* on a cold reset. Warm reset has no affect on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_CTL_ENSFMDWR register field. */
#define ALT_CLKMGR_CTL_ENSFMDWR_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_CTL_ENSFMDWR register field. */
#define ALT_CLKMGR_CTL_ENSFMDWR_MSB 2
/* The width in bits of the ALT_CLKMGR_CTL_ENSFMDWR register field. */
#define ALT_CLKMGR_CTL_ENSFMDWR_WIDTH 1
/* The mask used to set the ALT_CLKMGR_CTL_ENSFMDWR register field value. */
#define ALT_CLKMGR_CTL_ENSFMDWR_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_CTL_ENSFMDWR register field value. */
#define ALT_CLKMGR_CTL_ENSFMDWR_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_CTL_ENSFMDWR register field. */
#define ALT_CLKMGR_CTL_ENSFMDWR_RESET 0x1
/* Extracts the ALT_CLKMGR_CTL_ENSFMDWR field value from a register. */
#define ALT_CLKMGR_CTL_ENSFMDWR_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_CTL_ENSFMDWR register field value suitable for setting the register. */
#define ALT_CLKMGR_CTL_ENSFMDWR_SET(value) (((value) << 2) & 0x00000004)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_CTL.
*/
struct ALT_CLKMGR_CTL_s
{
uint32_t safemode : 1; /* Safe Mode */
uint32_t : 1; /* *UNDEFINED* */
uint32_t ensfmdwr : 1; /* Enable SafeMode on Warm Reset */
uint32_t : 29; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_CTL. */
typedef volatile struct ALT_CLKMGR_CTL_s ALT_CLKMGR_CTL_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_CTL register from the beginning of the component. */
#define ALT_CLKMGR_CTL_OFST 0x0
/*
* Register : PLL Bypass Register - bypass
*
* Contains fields that control bypassing each PLL.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:-----------------------------
* [0] | RW | 0x1 | Main PLL Bypass
* [1] | RW | 0x1 | SDRAM PLL Bypass
* [2] | RW | 0x0 | SDRAM PLL Bypass Source
* [3] | RW | 0x1 | Peripheral PLL Bypass
* [4] | RW | 0x0 | Peripheral PLL Bypass Source
* [31:5] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Main PLL Bypass - mainpll
*
* When set, causes the Main PLL VCO and counters to be bypassed so that all clocks
* generated by the Main PLL are directly driven from the Main PLL input clock. The
* bypass source for Main PLL is the external eosc1_clk.
*
* The reset value for this bit is applied on a cold reset. Warm reset has no
* affect on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_MAINPLL register field. */
#define ALT_CLKMGR_BYPASS_MAINPLL_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_MAINPLL register field. */
#define ALT_CLKMGR_BYPASS_MAINPLL_MSB 0
/* The width in bits of the ALT_CLKMGR_BYPASS_MAINPLL register field. */
#define ALT_CLKMGR_BYPASS_MAINPLL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_BYPASS_MAINPLL register field value. */
#define ALT_CLKMGR_BYPASS_MAINPLL_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_BYPASS_MAINPLL register field value. */
#define ALT_CLKMGR_BYPASS_MAINPLL_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_BYPASS_MAINPLL register field. */
#define ALT_CLKMGR_BYPASS_MAINPLL_RESET 0x1
/* Extracts the ALT_CLKMGR_BYPASS_MAINPLL field value from a register. */
#define ALT_CLKMGR_BYPASS_MAINPLL_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_BYPASS_MAINPLL register field value suitable for setting the register. */
#define ALT_CLKMGR_BYPASS_MAINPLL_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : SDRAM PLL Bypass - sdrpll
*
* When set, causes the SDRAM PLL VCO and counters to be bypassed so that all
* clocks generated by the SDRAM PLL are directly driven from either eosc1_clk or
* the SDRAM PLL input clock.
*
* The bypass clock source for SDRAM PLL is determined by the SDRAM PLL Bypass
* Source Register bit.
*
* The reset value for this bit is applied on a cold reset. Warm reset has no
* affect on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_SDRPLL register field. */
#define ALT_CLKMGR_BYPASS_SDRPLL_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_SDRPLL register field. */
#define ALT_CLKMGR_BYPASS_SDRPLL_MSB 1
/* The width in bits of the ALT_CLKMGR_BYPASS_SDRPLL register field. */
#define ALT_CLKMGR_BYPASS_SDRPLL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_BYPASS_SDRPLL register field value. */
#define ALT_CLKMGR_BYPASS_SDRPLL_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_BYPASS_SDRPLL register field value. */
#define ALT_CLKMGR_BYPASS_SDRPLL_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_BYPASS_SDRPLL register field. */
#define ALT_CLKMGR_BYPASS_SDRPLL_RESET 0x1
/* Extracts the ALT_CLKMGR_BYPASS_SDRPLL field value from a register. */
#define ALT_CLKMGR_BYPASS_SDRPLL_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_BYPASS_SDRPLL register field value suitable for setting the register. */
#define ALT_CLKMGR_BYPASS_SDRPLL_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : SDRAM PLL Bypass Source - sdrpllsrc
*
* This bit defines the bypass source forSDRAM PLL.
*
* When changing fields that affect VCO lock the PLL must be bypassed and this bit
* must be set to OSC1_CLK.
*
* The reset value for this bit is applied on a cold reset. Warm reset has no
* affect on this bit.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :-----------------------------------------------|:------|:---------------------
* ALT_CLKMGR_BYPASS_SDRPLLSRC_E_SELECT_EOSC1 | 0x0 | Select EOSC1
* ALT_CLKMGR_BYPASS_SDRPLLSRC_E_SELECT_INPUT_MUX | 0x1 | Select PLL Input Mux
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_BYPASS_SDRPLLSRC
*
* Select EOSC1
*/
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_E_SELECT_EOSC1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_BYPASS_SDRPLLSRC
*
* Select PLL Input Mux
*/
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_E_SELECT_INPUT_MUX 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_SDRPLLSRC register field. */
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_SDRPLLSRC register field. */
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_MSB 2
/* The width in bits of the ALT_CLKMGR_BYPASS_SDRPLLSRC register field. */
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_WIDTH 1
/* The mask used to set the ALT_CLKMGR_BYPASS_SDRPLLSRC register field value. */
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_BYPASS_SDRPLLSRC register field value. */
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_BYPASS_SDRPLLSRC register field. */
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_RESET 0x0
/* Extracts the ALT_CLKMGR_BYPASS_SDRPLLSRC field value from a register. */
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_BYPASS_SDRPLLSRC register field value suitable for setting the register. */
#define ALT_CLKMGR_BYPASS_SDRPLLSRC_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : Peripheral PLL Bypass - perpll
*
* When set, causes the Peripheral PLL VCO and counters to be bypassed so that all
* clocks generated by the Peripheral PLL are directly driven from either eosc1_clk
* or the Peripheral PLL input clock.
*
* The bypass clock source for Peripheral PLL is determined by the Peripheral PLL
* Bypass Source Register bit.
*
* The reset value for this bit is applied on a cold reset. Warm reset has no
* affect on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_PERPLL register field. */
#define ALT_CLKMGR_BYPASS_PERPLL_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_PERPLL register field. */
#define ALT_CLKMGR_BYPASS_PERPLL_MSB 3
/* The width in bits of the ALT_CLKMGR_BYPASS_PERPLL register field. */
#define ALT_CLKMGR_BYPASS_PERPLL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_BYPASS_PERPLL register field value. */
#define ALT_CLKMGR_BYPASS_PERPLL_SET_MSK 0x00000008
/* The mask used to clear the ALT_CLKMGR_BYPASS_PERPLL register field value. */
#define ALT_CLKMGR_BYPASS_PERPLL_CLR_MSK 0xfffffff7
/* The reset value of the ALT_CLKMGR_BYPASS_PERPLL register field. */
#define ALT_CLKMGR_BYPASS_PERPLL_RESET 0x1
/* Extracts the ALT_CLKMGR_BYPASS_PERPLL field value from a register. */
#define ALT_CLKMGR_BYPASS_PERPLL_GET(value) (((value) & 0x00000008) >> 3)
/* Produces a ALT_CLKMGR_BYPASS_PERPLL register field value suitable for setting the register. */
#define ALT_CLKMGR_BYPASS_PERPLL_SET(value) (((value) << 3) & 0x00000008)
/*
* Field : Peripheral PLL Bypass Source - perpllsrc
*
* This bit defines the bypass source forPeripheral PLL.
*
* When changing fields that affect VCO lock the PLL must be bypassed and this bit
* must be set to OSC1_CLK.
*
* The reset value for this bit is applied on a cold reset. Warm reset has no
* affect on this bit.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :-----------------------------------------------|:------|:---------------------
* ALT_CLKMGR_BYPASS_PERPLLSRC_E_SELECT_EOSC1 | 0x0 | Select EOSC1
* ALT_CLKMGR_BYPASS_PERPLLSRC_E_SELECT_INPUT_MUX | 0x1 | Select PLL Input Mux
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_BYPASS_PERPLLSRC
*
* Select EOSC1
*/
#define ALT_CLKMGR_BYPASS_PERPLLSRC_E_SELECT_EOSC1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_BYPASS_PERPLLSRC
*
* Select PLL Input Mux
*/
#define ALT_CLKMGR_BYPASS_PERPLLSRC_E_SELECT_INPUT_MUX 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_PERPLLSRC register field. */
#define ALT_CLKMGR_BYPASS_PERPLLSRC_LSB 4
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_PERPLLSRC register field. */
#define ALT_CLKMGR_BYPASS_PERPLLSRC_MSB 4
/* The width in bits of the ALT_CLKMGR_BYPASS_PERPLLSRC register field. */
#define ALT_CLKMGR_BYPASS_PERPLLSRC_WIDTH 1
/* The mask used to set the ALT_CLKMGR_BYPASS_PERPLLSRC register field value. */
#define ALT_CLKMGR_BYPASS_PERPLLSRC_SET_MSK 0x00000010
/* The mask used to clear the ALT_CLKMGR_BYPASS_PERPLLSRC register field value. */
#define ALT_CLKMGR_BYPASS_PERPLLSRC_CLR_MSK 0xffffffef
/* The reset value of the ALT_CLKMGR_BYPASS_PERPLLSRC register field. */
#define ALT_CLKMGR_BYPASS_PERPLLSRC_RESET 0x0
/* Extracts the ALT_CLKMGR_BYPASS_PERPLLSRC field value from a register. */
#define ALT_CLKMGR_BYPASS_PERPLLSRC_GET(value) (((value) & 0x00000010) >> 4)
/* Produces a ALT_CLKMGR_BYPASS_PERPLLSRC register field value suitable for setting the register. */
#define ALT_CLKMGR_BYPASS_PERPLLSRC_SET(value) (((value) << 4) & 0x00000010)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_BYPASS.
*/
struct ALT_CLKMGR_BYPASS_s
{
uint32_t mainpll : 1; /* Main PLL Bypass */
uint32_t sdrpll : 1; /* SDRAM PLL Bypass */
uint32_t sdrpllsrc : 1; /* SDRAM PLL Bypass Source */
uint32_t perpll : 1; /* Peripheral PLL Bypass */
uint32_t perpllsrc : 1; /* Peripheral PLL Bypass Source */
uint32_t : 27; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_BYPASS. */
typedef volatile struct ALT_CLKMGR_BYPASS_s ALT_CLKMGR_BYPASS_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_BYPASS register from the beginning of the component. */
#define ALT_CLKMGR_BYPASS_OFST 0x4
/*
* Register : Interrupt Status Register - inter
*
* Contains fields that indicate the PLL lock status.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:--------|:-----------------------------------
* [0] | RW | 0x0 | Main PLL Achieved Lock
* [1] | RW | 0x0 | Peripheral PLL Achieved Lock
* [2] | RW | 0x0 | SDRAM PLL Achieved Lock
* [3] | RW | 0x0 | Main PLL Lost Lock
* [4] | RW | 0x0 | Peripheral PLL Lost Lock
* [5] | RW | 0x0 | SDRAM PLL Lost Lock
* [6] | R | Unknown | Main PLL Current Lock Status
* [7] | R | Unknown | Peripheral PLL Current Lock Status
* [8] | R | Unknown | SDRAM PLL Current Lock Status
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Main PLL Achieved Lock - mainpllachieved
*
* If 1, the Main PLL has achieved lock at least once since this bit was cleared.
* If 0, the Main PLL has not achieved lock since this bit was cleared.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_MAINPLLACHIEVED_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_MAINPLLACHIEVED_MSB 0
/* The width in bits of the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_MAINPLLACHIEVED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTER_MAINPLLACHIEVED_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTER_MAINPLLACHIEVED_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_MAINPLLACHIEVED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_MAINPLLACHIEVED field value from a register. */
#define ALT_CLKMGR_INTER_MAINPLLACHIEVED_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_INTER_MAINPLLACHIEVED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_MAINPLLACHIEVED_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Peripheral PLL Achieved Lock - perpllachieved
*
* If 1, the Peripheral PLL has achieved lock at least once since this bit was
* cleared. If 0, the Peripheral PLL has not achieved lock since this bit was
* cleared.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_PERPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_PERPLLACHIEVED_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_PERPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_PERPLLACHIEVED_MSB 1
/* The width in bits of the ALT_CLKMGR_INTER_PERPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_PERPLLACHIEVED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_PERPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTER_PERPLLACHIEVED_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_INTER_PERPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTER_PERPLLACHIEVED_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_INTER_PERPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_PERPLLACHIEVED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_PERPLLACHIEVED field value from a register. */
#define ALT_CLKMGR_INTER_PERPLLACHIEVED_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_INTER_PERPLLACHIEVED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_PERPLLACHIEVED_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : SDRAM PLL Achieved Lock - sdrpllachieved
*
* If 1, the SDRAM PLL has achieved lock at least once since this bit was cleared.
* If 0, the SDRAM PLL has not achieved lock since this bit was cleared.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_SDRPLLACHIEVED_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_SDRPLLACHIEVED_MSB 2
/* The width in bits of the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_SDRPLLACHIEVED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTER_SDRPLLACHIEVED_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTER_SDRPLLACHIEVED_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field. */
#define ALT_CLKMGR_INTER_SDRPLLACHIEVED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_SDRPLLACHIEVED field value from a register. */
#define ALT_CLKMGR_INTER_SDRPLLACHIEVED_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_INTER_SDRPLLACHIEVED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_SDRPLLACHIEVED_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : Main PLL Lost Lock - mainplllost
*
* If 1, the Main PLL has lost lock at least once since this bit was cleared. If 0,
* the Main PLL has not lost lock since this bit was cleared.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_MAINPLLLOST register field. */
#define ALT_CLKMGR_INTER_MAINPLLLOST_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_MAINPLLLOST register field. */
#define ALT_CLKMGR_INTER_MAINPLLLOST_MSB 3
/* The width in bits of the ALT_CLKMGR_INTER_MAINPLLLOST register field. */
#define ALT_CLKMGR_INTER_MAINPLLLOST_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_MAINPLLLOST register field value. */
#define ALT_CLKMGR_INTER_MAINPLLLOST_SET_MSK 0x00000008
/* The mask used to clear the ALT_CLKMGR_INTER_MAINPLLLOST register field value. */
#define ALT_CLKMGR_INTER_MAINPLLLOST_CLR_MSK 0xfffffff7
/* The reset value of the ALT_CLKMGR_INTER_MAINPLLLOST register field. */
#define ALT_CLKMGR_INTER_MAINPLLLOST_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_MAINPLLLOST field value from a register. */
#define ALT_CLKMGR_INTER_MAINPLLLOST_GET(value) (((value) & 0x00000008) >> 3)
/* Produces a ALT_CLKMGR_INTER_MAINPLLLOST register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_MAINPLLLOST_SET(value) (((value) << 3) & 0x00000008)
/*
* Field : Peripheral PLL Lost Lock - perplllost
*
* If 1, the Peripheral PLL has lost lock at least once since this bit was cleared.
* If 0, the Peripheral PLL has not lost lock since this bit was cleared.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_PERPLLLOST register field. */
#define ALT_CLKMGR_INTER_PERPLLLOST_LSB 4
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_PERPLLLOST register field. */
#define ALT_CLKMGR_INTER_PERPLLLOST_MSB 4
/* The width in bits of the ALT_CLKMGR_INTER_PERPLLLOST register field. */
#define ALT_CLKMGR_INTER_PERPLLLOST_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_PERPLLLOST register field value. */
#define ALT_CLKMGR_INTER_PERPLLLOST_SET_MSK 0x00000010
/* The mask used to clear the ALT_CLKMGR_INTER_PERPLLLOST register field value. */
#define ALT_CLKMGR_INTER_PERPLLLOST_CLR_MSK 0xffffffef
/* The reset value of the ALT_CLKMGR_INTER_PERPLLLOST register field. */
#define ALT_CLKMGR_INTER_PERPLLLOST_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_PERPLLLOST field value from a register. */
#define ALT_CLKMGR_INTER_PERPLLLOST_GET(value) (((value) & 0x00000010) >> 4)
/* Produces a ALT_CLKMGR_INTER_PERPLLLOST register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_PERPLLLOST_SET(value) (((value) << 4) & 0x00000010)
/*
* Field : SDRAM PLL Lost Lock - sdrplllost
*
* If 1, the SDRAM PLL has lost lock at least once since this bit was cleared. If
* 0, the SDRAM PLL has not lost lock since this bit was cleared.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_SDRPLLLOST register field. */
#define ALT_CLKMGR_INTER_SDRPLLLOST_LSB 5
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_SDRPLLLOST register field. */
#define ALT_CLKMGR_INTER_SDRPLLLOST_MSB 5
/* The width in bits of the ALT_CLKMGR_INTER_SDRPLLLOST register field. */
#define ALT_CLKMGR_INTER_SDRPLLLOST_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_SDRPLLLOST register field value. */
#define ALT_CLKMGR_INTER_SDRPLLLOST_SET_MSK 0x00000020
/* The mask used to clear the ALT_CLKMGR_INTER_SDRPLLLOST register field value. */
#define ALT_CLKMGR_INTER_SDRPLLLOST_CLR_MSK 0xffffffdf
/* The reset value of the ALT_CLKMGR_INTER_SDRPLLLOST register field. */
#define ALT_CLKMGR_INTER_SDRPLLLOST_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_SDRPLLLOST field value from a register. */
#define ALT_CLKMGR_INTER_SDRPLLLOST_GET(value) (((value) & 0x00000020) >> 5)
/* Produces a ALT_CLKMGR_INTER_SDRPLLLOST register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_SDRPLLLOST_SET(value) (((value) << 5) & 0x00000020)
/*
* Field : Main PLL Current Lock Status - mainplllocked
*
* If 1, the Main PLL is currently locked. If 0, the Main PLL is currently not
* locked.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_MAINPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_MAINPLLLOCKED_LSB 6
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_MAINPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_MAINPLLLOCKED_MSB 6
/* The width in bits of the ALT_CLKMGR_INTER_MAINPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_MAINPLLLOCKED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_MAINPLLLOCKED register field value. */
#define ALT_CLKMGR_INTER_MAINPLLLOCKED_SET_MSK 0x00000040
/* The mask used to clear the ALT_CLKMGR_INTER_MAINPLLLOCKED register field value. */
#define ALT_CLKMGR_INTER_MAINPLLLOCKED_CLR_MSK 0xffffffbf
/* The reset value of the ALT_CLKMGR_INTER_MAINPLLLOCKED register field is UNKNOWN. */
#define ALT_CLKMGR_INTER_MAINPLLLOCKED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_MAINPLLLOCKED field value from a register. */
#define ALT_CLKMGR_INTER_MAINPLLLOCKED_GET(value) (((value) & 0x00000040) >> 6)
/* Produces a ALT_CLKMGR_INTER_MAINPLLLOCKED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_MAINPLLLOCKED_SET(value) (((value) << 6) & 0x00000040)
/*
* Field : Peripheral PLL Current Lock Status - perplllocked
*
* If 1, the Peripheral PLL is currently locked. If 0, the Peripheral PLL is
* currently not locked.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_PERPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_PERPLLLOCKED_LSB 7
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_PERPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_PERPLLLOCKED_MSB 7
/* The width in bits of the ALT_CLKMGR_INTER_PERPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_PERPLLLOCKED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_PERPLLLOCKED register field value. */
#define ALT_CLKMGR_INTER_PERPLLLOCKED_SET_MSK 0x00000080
/* The mask used to clear the ALT_CLKMGR_INTER_PERPLLLOCKED register field value. */
#define ALT_CLKMGR_INTER_PERPLLLOCKED_CLR_MSK 0xffffff7f
/* The reset value of the ALT_CLKMGR_INTER_PERPLLLOCKED register field is UNKNOWN. */
#define ALT_CLKMGR_INTER_PERPLLLOCKED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_PERPLLLOCKED field value from a register. */
#define ALT_CLKMGR_INTER_PERPLLLOCKED_GET(value) (((value) & 0x00000080) >> 7)
/* Produces a ALT_CLKMGR_INTER_PERPLLLOCKED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_PERPLLLOCKED_SET(value) (((value) << 7) & 0x00000080)
/*
* Field : SDRAM PLL Current Lock Status - sdrplllocked
*
* If 1, the SDRAM PLL is currently locked. If 0, the SDRAM PLL is currently not
* locked.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_SDRPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_SDRPLLLOCKED_LSB 8
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_SDRPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_SDRPLLLOCKED_MSB 8
/* The width in bits of the ALT_CLKMGR_INTER_SDRPLLLOCKED register field. */
#define ALT_CLKMGR_INTER_SDRPLLLOCKED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTER_SDRPLLLOCKED register field value. */
#define ALT_CLKMGR_INTER_SDRPLLLOCKED_SET_MSK 0x00000100
/* The mask used to clear the ALT_CLKMGR_INTER_SDRPLLLOCKED register field value. */
#define ALT_CLKMGR_INTER_SDRPLLLOCKED_CLR_MSK 0xfffffeff
/* The reset value of the ALT_CLKMGR_INTER_SDRPLLLOCKED register field is UNKNOWN. */
#define ALT_CLKMGR_INTER_SDRPLLLOCKED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTER_SDRPLLLOCKED field value from a register. */
#define ALT_CLKMGR_INTER_SDRPLLLOCKED_GET(value) (((value) & 0x00000100) >> 8)
/* Produces a ALT_CLKMGR_INTER_SDRPLLLOCKED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTER_SDRPLLLOCKED_SET(value) (((value) << 8) & 0x00000100)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_INTER.
*/
struct ALT_CLKMGR_INTER_s
{
uint32_t mainpllachieved : 1; /* Main PLL Achieved Lock */
uint32_t perpllachieved : 1; /* Peripheral PLL Achieved Lock */
uint32_t sdrpllachieved : 1; /* SDRAM PLL Achieved Lock */
uint32_t mainplllost : 1; /* Main PLL Lost Lock */
uint32_t perplllost : 1; /* Peripheral PLL Lost Lock */
uint32_t sdrplllost : 1; /* SDRAM PLL Lost Lock */
const uint32_t mainplllocked : 1; /* Main PLL Current Lock Status */
const uint32_t perplllocked : 1; /* Peripheral PLL Current Lock Status */
const uint32_t sdrplllocked : 1; /* SDRAM PLL Current Lock Status */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_INTER. */
typedef volatile struct ALT_CLKMGR_INTER_s ALT_CLKMGR_INTER_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_INTER register from the beginning of the component. */
#define ALT_CLKMGR_INTER_OFST 0x8
/*
* Register : Interrupt Enable Register - intren
*
* Contain fields that enable the interrupt.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:----------------------------------------------
* [0] | RW | 0x0 | Main PLL Achieved Lock Interrupt Enable
* [1] | RW | 0x0 | Peripheral PLL Achieved Lock Interrupt Enable
* [2] | RW | 0x0 | SDRAM PLL Achieved Lock Interrupt Enable
* [3] | RW | 0x0 | Main PLL Achieved Lock Interrupt Enable
* [4] | RW | 0x0 | Peripheral PLL Achieved Lock Interrupt Enable
* [5] | RW | 0x0 | SDRAM PLL Achieved Lock Interrupt Enable
* [31:6] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Main PLL Achieved Lock Interrupt Enable - mainpllachieved
*
* When set to 1, the Main PLL achieved lock bit is ORed into the Clock Manager
* interrupt output. When set to 0 the Main PLL achieved lock bit is not ORed into
* the Clock Manager interrupt output.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_MSB 0
/* The width in bits of the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTREN_MAINPLLACHIEVED field value from a register. */
#define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Peripheral PLL Achieved Lock Interrupt Enable - perpllachieved
*
* When set to 1, the Peripheral PLL achieved lock bit is ORed into the Clock
* Manager interrupt output. When set to 0 the Peripheral PLL achieved lock bit is
* not ORed into the Clock Manager interrupt output.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_PERPLLACHIEVED_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_PERPLLACHIEVED_MSB 1
/* The width in bits of the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_PERPLLACHIEVED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTREN_PERPLLACHIEVED_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTREN_PERPLLACHIEVED_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_PERPLLACHIEVED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTREN_PERPLLACHIEVED field value from a register. */
#define ALT_CLKMGR_INTREN_PERPLLACHIEVED_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_INTREN_PERPLLACHIEVED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTREN_PERPLLACHIEVED_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : SDRAM PLL Achieved Lock Interrupt Enable - sdrpllachieved
*
* When set to 1, the SDRAM PLL achieved lock bit is ORed into the Clock Manager
* interrupt output. When set to 0 the SDRAM PLL achieved lock bit is not ORed
* into the Clock Manager interrupt output.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_MSB 2
/* The width in bits of the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field value. */
#define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field. */
#define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_RESET 0x0
/* Extracts the ALT_CLKMGR_INTREN_SDRPLLACHIEVED field value from a register. */
#define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field value suitable for setting the register. */
#define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : Main PLL Achieved Lock Interrupt Enable - mainplllost
*
* When set to 1, the Main PLL lost lock bit is ORed into the Clock Manager
* interrupt output. When set to 0 the Main PLL lost lock bit is not ORed into the
* Clock Manager interrupt output.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_MAINPLLLOST register field. */
#define ALT_CLKMGR_INTREN_MAINPLLLOST_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_MAINPLLLOST register field. */
#define ALT_CLKMGR_INTREN_MAINPLLLOST_MSB 3
/* The width in bits of the ALT_CLKMGR_INTREN_MAINPLLLOST register field. */
#define ALT_CLKMGR_INTREN_MAINPLLLOST_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTREN_MAINPLLLOST register field value. */
#define ALT_CLKMGR_INTREN_MAINPLLLOST_SET_MSK 0x00000008
/* The mask used to clear the ALT_CLKMGR_INTREN_MAINPLLLOST register field value. */
#define ALT_CLKMGR_INTREN_MAINPLLLOST_CLR_MSK 0xfffffff7
/* The reset value of the ALT_CLKMGR_INTREN_MAINPLLLOST register field. */
#define ALT_CLKMGR_INTREN_MAINPLLLOST_RESET 0x0
/* Extracts the ALT_CLKMGR_INTREN_MAINPLLLOST field value from a register. */
#define ALT_CLKMGR_INTREN_MAINPLLLOST_GET(value) (((value) & 0x00000008) >> 3)
/* Produces a ALT_CLKMGR_INTREN_MAINPLLLOST register field value suitable for setting the register. */
#define ALT_CLKMGR_INTREN_MAINPLLLOST_SET(value) (((value) << 3) & 0x00000008)
/*
* Field : Peripheral PLL Achieved Lock Interrupt Enable - perplllost
*
* When set to 1, the Peripheral PLL lost lock bit is ORed into the Clock Manager
* interrupt output. When set to 0 the Peripheral PLL lost lock bit is not ORed
* into the Clock Manager interrupt output.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_PERPLLLOST register field. */
#define ALT_CLKMGR_INTREN_PERPLLLOST_LSB 4
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_PERPLLLOST register field. */
#define ALT_CLKMGR_INTREN_PERPLLLOST_MSB 4
/* The width in bits of the ALT_CLKMGR_INTREN_PERPLLLOST register field. */
#define ALT_CLKMGR_INTREN_PERPLLLOST_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTREN_PERPLLLOST register field value. */
#define ALT_CLKMGR_INTREN_PERPLLLOST_SET_MSK 0x00000010
/* The mask used to clear the ALT_CLKMGR_INTREN_PERPLLLOST register field value. */
#define ALT_CLKMGR_INTREN_PERPLLLOST_CLR_MSK 0xffffffef
/* The reset value of the ALT_CLKMGR_INTREN_PERPLLLOST register field. */
#define ALT_CLKMGR_INTREN_PERPLLLOST_RESET 0x0
/* Extracts the ALT_CLKMGR_INTREN_PERPLLLOST field value from a register. */
#define ALT_CLKMGR_INTREN_PERPLLLOST_GET(value) (((value) & 0x00000010) >> 4)
/* Produces a ALT_CLKMGR_INTREN_PERPLLLOST register field value suitable for setting the register. */
#define ALT_CLKMGR_INTREN_PERPLLLOST_SET(value) (((value) << 4) & 0x00000010)
/*
* Field : SDRAM PLL Achieved Lock Interrupt Enable - sdrplllost
*
* When set to 1, the SDRAM PLL lost lock bit is ORed into the Clock Manager
* interrupt output. When set to 0 the SDRAM PLL lost lock bit is not ORed into
* the Clock Manager interrupt output.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_SDRPLLLOST register field. */
#define ALT_CLKMGR_INTREN_SDRPLLLOST_LSB 5
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_SDRPLLLOST register field. */
#define ALT_CLKMGR_INTREN_SDRPLLLOST_MSB 5
/* The width in bits of the ALT_CLKMGR_INTREN_SDRPLLLOST register field. */
#define ALT_CLKMGR_INTREN_SDRPLLLOST_WIDTH 1
/* The mask used to set the ALT_CLKMGR_INTREN_SDRPLLLOST register field value. */
#define ALT_CLKMGR_INTREN_SDRPLLLOST_SET_MSK 0x00000020
/* The mask used to clear the ALT_CLKMGR_INTREN_SDRPLLLOST register field value. */
#define ALT_CLKMGR_INTREN_SDRPLLLOST_CLR_MSK 0xffffffdf
/* The reset value of the ALT_CLKMGR_INTREN_SDRPLLLOST register field. */
#define ALT_CLKMGR_INTREN_SDRPLLLOST_RESET 0x0
/* Extracts the ALT_CLKMGR_INTREN_SDRPLLLOST field value from a register. */
#define ALT_CLKMGR_INTREN_SDRPLLLOST_GET(value) (((value) & 0x00000020) >> 5)
/* Produces a ALT_CLKMGR_INTREN_SDRPLLLOST register field value suitable for setting the register. */
#define ALT_CLKMGR_INTREN_SDRPLLLOST_SET(value) (((value) << 5) & 0x00000020)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_INTREN.
*/
struct ALT_CLKMGR_INTREN_s
{
uint32_t mainpllachieved : 1; /* Main PLL Achieved Lock Interrupt Enable */
uint32_t perpllachieved : 1; /* Peripheral PLL Achieved Lock Interrupt Enable */
uint32_t sdrpllachieved : 1; /* SDRAM PLL Achieved Lock Interrupt Enable */
uint32_t mainplllost : 1; /* Main PLL Achieved Lock Interrupt Enable */
uint32_t perplllost : 1; /* Peripheral PLL Achieved Lock Interrupt Enable */
uint32_t sdrplllost : 1; /* SDRAM PLL Achieved Lock Interrupt Enable */
uint32_t : 26; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_INTREN. */
typedef volatile struct ALT_CLKMGR_INTREN_s ALT_CLKMGR_INTREN_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_INTREN register from the beginning of the component. */
#define ALT_CLKMGR_INTREN_OFST 0xc
/*
* Register : Debug clock Control Register - dbctrl
*
* Contains fields that control the debug clocks.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:-------------------------------
* [0] | RW | 0x1 | Debug Clocks Stay on EOSC1_CLK
* [1] | RW | 0x1 | Debug Clocks Enable Safe Mode
* [31:2] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Debug Clocks Stay on EOSC1_CLK - stayosc1
*
* When this bit is set the debug root clock (Main PLL C2 output) will always be
* bypassed to the EOSC1_clk independent of any other clock manager settings.
* When clear the debug source will be a function of register settings in the clock
* manager. Clocks affected by this bit are dbg_at_clk, dbg_clk, dbg_trace_clk,
* and dbg_timer_clk.
*
* The reset value for this bit is applied on a cold reset. Warm reset has no
* affect on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_DBCTL_STAYOSC1 register field. */
#define ALT_CLKMGR_DBCTL_STAYOSC1_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_DBCTL_STAYOSC1 register field. */
#define ALT_CLKMGR_DBCTL_STAYOSC1_MSB 0
/* The width in bits of the ALT_CLKMGR_DBCTL_STAYOSC1 register field. */
#define ALT_CLKMGR_DBCTL_STAYOSC1_WIDTH 1
/* The mask used to set the ALT_CLKMGR_DBCTL_STAYOSC1 register field value. */
#define ALT_CLKMGR_DBCTL_STAYOSC1_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_DBCTL_STAYOSC1 register field value. */
#define ALT_CLKMGR_DBCTL_STAYOSC1_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_DBCTL_STAYOSC1 register field. */
#define ALT_CLKMGR_DBCTL_STAYOSC1_RESET 0x1
/* Extracts the ALT_CLKMGR_DBCTL_STAYOSC1 field value from a register. */
#define ALT_CLKMGR_DBCTL_STAYOSC1_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_DBCTL_STAYOSC1 register field value suitable for setting the register. */
#define ALT_CLKMGR_DBCTL_STAYOSC1_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Debug Clocks Enable Safe Mode - ensfmdwr
*
* When this bit is set the debug clocks will be affected by the assertion of Safe
* Mode on a warm reset if Stay OSC1 is not set.
*
* When this bit is clear the debug clocks will not be affected by the assertion of
* Safe Mode on a warm reset.
*
* If Debug Clocks are in Safe Mode they are taken out of Safe Mode when the Safe
* Mode bit is cleared independent of this bit.The reset value of this bit is
* applied on a cold reset; warm reset has no affect on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_DBCTL_ENSFMDWR register field. */
#define ALT_CLKMGR_DBCTL_ENSFMDWR_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_DBCTL_ENSFMDWR register field. */
#define ALT_CLKMGR_DBCTL_ENSFMDWR_MSB 1
/* The width in bits of the ALT_CLKMGR_DBCTL_ENSFMDWR register field. */
#define ALT_CLKMGR_DBCTL_ENSFMDWR_WIDTH 1
/* The mask used to set the ALT_CLKMGR_DBCTL_ENSFMDWR register field value. */
#define ALT_CLKMGR_DBCTL_ENSFMDWR_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_DBCTL_ENSFMDWR register field value. */
#define ALT_CLKMGR_DBCTL_ENSFMDWR_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_DBCTL_ENSFMDWR register field. */
#define ALT_CLKMGR_DBCTL_ENSFMDWR_RESET 0x1
/* Extracts the ALT_CLKMGR_DBCTL_ENSFMDWR field value from a register. */
#define ALT_CLKMGR_DBCTL_ENSFMDWR_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_DBCTL_ENSFMDWR register field value suitable for setting the register. */
#define ALT_CLKMGR_DBCTL_ENSFMDWR_SET(value) (((value) << 1) & 0x00000002)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_DBCTL.
*/
struct ALT_CLKMGR_DBCTL_s
{
uint32_t stayosc1 : 1; /* Debug Clocks Stay on EOSC1_CLK */
uint32_t ensfmdwr : 1; /* Debug Clocks Enable Safe Mode */
uint32_t : 30; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_DBCTL. */
typedef volatile struct ALT_CLKMGR_DBCTL_s ALT_CLKMGR_DBCTL_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_DBCTL register from the beginning of the component. */
#define ALT_CLKMGR_DBCTL_OFST 0x10
/*
* Register : Status Register - stat
*
* Provides status of Hardware Managed Clock transition State Machine.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:-----------------------
* [0] | R | 0x0 | HW Managed Clocks BUSY
* [31:1] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : HW Managed Clocks BUSY - busy
*
* This read only bit indicates that the Hardware Managed clock's state machine is
* active. If the state machine is active, then the clocks are in transition.
* Software should poll this bit after changing the source of internal clocks when
* writing to the BYPASS, CTRL or DBCTRL registers. Immediately following writes
* to any of these registers, SW should wait until this bit is IDLE before
* proceeding with any other register writes in the Clock Manager.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :----------------------------|:------|:---------------------
* ALT_CLKMGR_STAT_BUSY_E_IDLE | 0x0 | Clocks stable
* ALT_CLKMGR_STAT_BUSY_E_BUSY | 0x1 | Clocks in transition
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_STAT_BUSY
*
* Clocks stable
*/
#define ALT_CLKMGR_STAT_BUSY_E_IDLE 0x0
/*
* Enumerated value for register field ALT_CLKMGR_STAT_BUSY
*
* Clocks in transition
*/
#define ALT_CLKMGR_STAT_BUSY_E_BUSY 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_STAT_BUSY register field. */
#define ALT_CLKMGR_STAT_BUSY_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_STAT_BUSY register field. */
#define ALT_CLKMGR_STAT_BUSY_MSB 0
/* The width in bits of the ALT_CLKMGR_STAT_BUSY register field. */
#define ALT_CLKMGR_STAT_BUSY_WIDTH 1
/* The mask used to set the ALT_CLKMGR_STAT_BUSY register field value. */
#define ALT_CLKMGR_STAT_BUSY_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_STAT_BUSY register field value. */
#define ALT_CLKMGR_STAT_BUSY_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_STAT_BUSY register field. */
#define ALT_CLKMGR_STAT_BUSY_RESET 0x0
/* Extracts the ALT_CLKMGR_STAT_BUSY field value from a register. */
#define ALT_CLKMGR_STAT_BUSY_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_STAT_BUSY register field value suitable for setting the register. */
#define ALT_CLKMGR_STAT_BUSY_SET(value) (((value) << 0) & 0x00000001)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_STAT.
*/
struct ALT_CLKMGR_STAT_s
{
const uint32_t busy : 1; /* HW Managed Clocks BUSY */
uint32_t : 31; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_STAT. */
typedef volatile struct ALT_CLKMGR_STAT_s ALT_CLKMGR_STAT_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_STAT register from the beginning of the component. */
#define ALT_CLKMGR_STAT_OFST 0x14
/*
* Register Group : Main PLL Group - ALT_CLKMGR_MAINPLL
* Main PLL Group
*
* Contains registers with settings for the Main PLL.
*
*/
/*
* Register : Main PLL VCO Control Register - vco
*
* Contains settings that control the Main PLL VCO. The VCO output frequency is the
* input frequency multiplied by the numerator (M+1) and divided by the denominator
* (N+1). The VCO input clock source is always eosc1_clk.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:--------------------------------
* [0] | RW | 0x1 | BG PWRDN
* [1] | RW | 0x0 | Enable
* [2] | RW | 0x1 | Power down
* [15:3] | RW | 0x1 | Numerator (M)
* [21:16] | RW | 0x1 | Denominator (N)
* [23:22] | ??? | 0x0 | *UNDEFINED*
* [24] | RW | 0x0 | All Output Counter Reset
* [30:25] | RW | 0x0 | Output Counter Reset
* [31] | RW | 0x1 | External Regulator Input Select
*
*/
/*
* Field : BG PWRDN - bgpwrdn
*
* If '1', powers down bandgap. If '0', bandgap is not power down.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_MSB 0
/* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN field value from a register. */
#define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Enable - en
*
* If '1', VCO is enabled. If '0', VCO is in reset.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_EN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_EN_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_EN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_EN_MSB 1
/* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_EN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_EN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_EN register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_EN_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_EN register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_EN_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_MAINPLL_VCO_EN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_EN_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_VCO_EN field value from a register. */
#define ALT_CLKMGR_MAINPLL_VCO_EN_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_MAINPLL_VCO_EN register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_VCO_EN_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : Power down - pwrdn
*
* If '1', power down analog circuitry. If '0', analog circuitry not powered down.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_PWRDN_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_PWRDN_MSB 2
/* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_PWRDN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_PWRDN_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_PWRDN_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_MAINPLL_VCO_PWRDN_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_VCO_PWRDN field value from a register. */
#define ALT_CLKMGR_MAINPLL_VCO_PWRDN_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_MAINPLL_VCO_PWRDN register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_VCO_PWRDN_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : Numerator (M) - numer
*
* Numerator in VCO output frequency equation. For incremental frequency change, if
* the new value lead to less than 20% of the frequency change, this value can be
* changed without resetting the PLL. The Numerator and Denominator can not be
* changed at the same time for incremental frequency changed.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_MAINPLL_VCO_NUMER_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_MAINPLL_VCO_NUMER_MSB 15
/* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_MAINPLL_VCO_NUMER_WIDTH 13
/* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_NUMER register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_NUMER_SET_MSK 0x0000fff8
/* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_NUMER register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_NUMER_CLR_MSK 0xffff0007
/* The reset value of the ALT_CLKMGR_MAINPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_MAINPLL_VCO_NUMER_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_VCO_NUMER field value from a register. */
#define ALT_CLKMGR_MAINPLL_VCO_NUMER_GET(value) (((value) & 0x0000fff8) >> 3)
/* Produces a ALT_CLKMGR_MAINPLL_VCO_NUMER register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_VCO_NUMER_SET(value) (((value) << 3) & 0x0000fff8)
/*
* Field : Denominator (N) - denom
*
* Denominator in VCO output frequency equation. For incremental frequency change,
* if the new value lead to less than 20% of the frequency change, this value can
* be changed without resetting the PLL. The Numerator and Denominator can not be
* changed at the same time for incremental frequency changed.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_MAINPLL_VCO_DENOM_LSB 16
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_MAINPLL_VCO_DENOM_MSB 21
/* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_MAINPLL_VCO_DENOM_WIDTH 6
/* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_DENOM register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_DENOM_SET_MSK 0x003f0000
/* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_DENOM register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_DENOM_CLR_MSK 0xffc0ffff
/* The reset value of the ALT_CLKMGR_MAINPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_MAINPLL_VCO_DENOM_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_VCO_DENOM field value from a register. */
#define ALT_CLKMGR_MAINPLL_VCO_DENOM_GET(value) (((value) & 0x003f0000) >> 16)
/* Produces a ALT_CLKMGR_MAINPLL_VCO_DENOM register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_VCO_DENOM_SET(value) (((value) << 16) & 0x003f0000)
/*
* Field : All Output Counter Reset - outresetall
*
* Before releasing Bypass, All Output Counter Reset must be set and cleared by
* software for correct clock operation.
*
* If '1', Reset phase multiplexer and all output counter state. So that after the
* assertion all the clocks output are start from rising edge align.
*
* If '0', phase multiplexer and output counter state not reset and no change to
* the phase of the clock outputs.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_LSB 24
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_MSB 24
/* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_SET_MSK 0x01000000
/* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_CLR_MSK 0xfeffffff
/* The reset value of the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL field value from a register. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_GET(value) (((value) & 0x01000000) >> 24)
/* Produces a ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_SET(value) (((value) << 24) & 0x01000000)
/*
* Field : Output Counter Reset - outreset
*
* Resets the individual PLL output counter.
*
* For software to change the PLL output counter without producing glitches on the
* respective clock, SW must set the VCO register respective Output Counter Reset
* bit. Software then polls the respective Output Counter Reset Acknowledge bit in
* the Output Counter Reset Ack Status Register. Software then writes the
* appropriate counter register, and then clears the respective VCO register Output
* Counter Reset bit.
*
* LSB 'outreset[0]' corresponds to PLL output clock C0, etc.
*
* If set to '1', reset output divider, no clock output from counter.
*
* If set to '0', counter is not reset.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRST_LSB 25
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRST_MSB 30
/* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRST_WIDTH 6
/* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRST_SET_MSK 0x7e000000
/* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRST_CLR_MSK 0x81ffffff
/* The reset value of the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRST_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_VCO_OUTRST field value from a register. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRST_GET(value) (((value) & 0x7e000000) >> 25)
/* Produces a ALT_CLKMGR_MAINPLL_VCO_OUTRST register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_VCO_OUTRST_SET(value) (((value) << 25) & 0x7e000000)
/*
* Field : External Regulator Input Select - regextsel
*
* If set to '1', the external regulator is selected for the PLL.
*
* If set to '0', the internal regulator is slected.
*
* It is strongly recommended to select the external regulator while the PLL is not
* enabled (in reset), and then disable the external regulater once the PLL
* becomes enabled. Software should simulateously update the 'Enable' bit and the
* 'External Regulator Input Select' in the same write access to the VCO register.
* When the 'Enable' bit is clear, the 'External Regulator Input Select' should be
* set, and vice versa.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_LSB 31
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_MSB 31
/* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_SET_MSK 0x80000000
/* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field value. */
#define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_CLR_MSK 0x7fffffff
/* The reset value of the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL field value from a register. */
#define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_GET(value) (((value) & 0x80000000) >> 31)
/* Produces a ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_SET(value) (((value) << 31) & 0x80000000)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_VCO.
*/
struct ALT_CLKMGR_MAINPLL_VCO_s
{
uint32_t bgpwrdn : 1; /* BG PWRDN */
uint32_t en : 1; /* Enable */
uint32_t pwrdn : 1; /* Power down */
uint32_t numer : 13; /* Numerator (M) */
uint32_t denom : 6; /* Denominator (N) */
uint32_t : 2; /* *UNDEFINED* */
uint32_t outresetall : 1; /* All Output Counter Reset */
uint32_t outreset : 6; /* Output Counter Reset */
uint32_t regextsel : 1; /* External Regulator Input Select */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_VCO. */
typedef volatile struct ALT_CLKMGR_MAINPLL_VCO_s ALT_CLKMGR_MAINPLL_VCO_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_VCO register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_VCO_OFST 0x0
/*
* Register : Main PLL VCO Advanced Control Register - misc
*
* Contains VCO control signals and other PLL control signals need to be
* controllable through register.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:------------------------------
* [0] | RW | 0x0 | Loop Bandwidth Adjust Enabled
* [12:1] | RW | 0x1 | Loop Bandwidth Adjust
* [13] | RW | 0x0 | Fast Locking Enable
* [14] | RW | 0x1 | Saturation Enable
* [31:15] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Loop Bandwidth Adjust Enabled - bwadjen
*
* If set to 1, the Loop Bandwidth Adjust value comes from the Loop Bandwidth
* Adjust field.
*
* If set to 0, the Loop Bandwidth Adjust value equals the M field divided by 2
* value of the VCO Control Register. The M divided by 2 is the upper 12 bits
* (12:1) of the M field in the VCO register.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_MSB 0
/* The width in bits of the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field value. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field value. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_MISC_BWADJEN field value from a register. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Loop Bandwidth Adjust - bwadj
*
* Provides Loop Bandwidth Adjust value.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJ_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJ_MSB 12
/* The width in bits of the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJ_WIDTH 12
/* The mask used to set the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field value. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJ_SET_MSK 0x00001ffe
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field value. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJ_CLR_MSK 0xffffe001
/* The reset value of the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJ_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_MISC_BWADJ field value from a register. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJ_GET(value) (((value) & 0x00001ffe) >> 1)
/* Produces a ALT_CLKMGR_MAINPLL_MISC_BWADJ register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MISC_BWADJ_SET(value) (((value) << 1) & 0x00001ffe)
/*
* Field : Fast Locking Enable - fasten
*
* Enables fast locking circuit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_FASTEN_LSB 13
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_FASTEN_MSB 13
/* The width in bits of the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_FASTEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field value. */
#define ALT_CLKMGR_MAINPLL_MISC_FASTEN_SET_MSK 0x00002000
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field value. */
#define ALT_CLKMGR_MAINPLL_MISC_FASTEN_CLR_MSK 0xffffdfff
/* The reset value of the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_FASTEN_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_MISC_FASTEN field value from a register. */
#define ALT_CLKMGR_MAINPLL_MISC_FASTEN_GET(value) (((value) & 0x00002000) >> 13)
/* Produces a ALT_CLKMGR_MAINPLL_MISC_FASTEN register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MISC_FASTEN_SET(value) (((value) << 13) & 0x00002000)
/*
* Field : Saturation Enable - saten
*
* Enables saturation behavior.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MISC_SATEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_SATEN_LSB 14
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MISC_SATEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_SATEN_MSB 14
/* The width in bits of the ALT_CLKMGR_MAINPLL_MISC_SATEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_SATEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_MISC_SATEN register field value. */
#define ALT_CLKMGR_MAINPLL_MISC_SATEN_SET_MSK 0x00004000
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MISC_SATEN register field value. */
#define ALT_CLKMGR_MAINPLL_MISC_SATEN_CLR_MSK 0xffffbfff
/* The reset value of the ALT_CLKMGR_MAINPLL_MISC_SATEN register field. */
#define ALT_CLKMGR_MAINPLL_MISC_SATEN_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_MISC_SATEN field value from a register. */
#define ALT_CLKMGR_MAINPLL_MISC_SATEN_GET(value) (((value) & 0x00004000) >> 14)
/* Produces a ALT_CLKMGR_MAINPLL_MISC_SATEN register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MISC_SATEN_SET(value) (((value) << 14) & 0x00004000)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_MISC.
*/
struct ALT_CLKMGR_MAINPLL_MISC_s
{
uint32_t bwadjen : 1; /* Loop Bandwidth Adjust Enabled */
uint32_t bwadj : 12; /* Loop Bandwidth Adjust */
uint32_t fasten : 1; /* Fast Locking Enable */
uint32_t saten : 1; /* Saturation Enable */
uint32_t : 17; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_MISC. */
typedef volatile struct ALT_CLKMGR_MAINPLL_MISC_s ALT_CLKMGR_MAINPLL_MISC_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_MISC register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_MISC_OFST 0x4
/*
* Register : Main PLL C0 Control Register for Clock mpu_clk - mpuclk
*
* Contains settings that control clock mpu_clk generated from the C0 output of the
* Main PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x0 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO/2 frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_MPUCLK_CNT field value from a register. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_MPUCLK.
*/
struct ALT_CLKMGR_MAINPLL_MPUCLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_MPUCLK. */
typedef volatile struct ALT_CLKMGR_MAINPLL_MPUCLK_s ALT_CLKMGR_MAINPLL_MPUCLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_MPUCLK register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_MPUCLK_OFST 0x8
/*
* Register : Main PLL C1 Control Register for Clock main_clk - mainclk
*
* Contains settings that control clock main_clk generated from the C1 output of
* the Main PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x0 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO/4 frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_MAINCLK_CNT field value from a register. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_MAINCLK.
*/
struct ALT_CLKMGR_MAINPLL_MAINCLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_MAINCLK. */
typedef volatile struct ALT_CLKMGR_MAINPLL_MAINCLK_s ALT_CLKMGR_MAINPLL_MAINCLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_MAINCLK register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_MAINCLK_OFST 0xc
/*
* Register : Main PLL C2 Control Register for Clock dbg_base_clk - dbgatclk
*
* Contains settings that control clock dbg_base_clk generated from the C2 output
* of the Main PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x0 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO/4 frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT field value from a register. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_DBGATCLK.
*/
struct ALT_CLKMGR_MAINPLL_DBGATCLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_DBGATCLK. */
typedef volatile struct ALT_CLKMGR_MAINPLL_DBGATCLK_s ALT_CLKMGR_MAINPLL_DBGATCLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_DBGATCLK register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_DBGATCLK_OFST 0x10
/*
* Register : Main PLL C3 Control Register for Clock main_qspi_clk - mainqspiclk
*
* Contains settings that control clock main_qspi_clk generated from the C3 output
* of the Main PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x3 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_RESET 0x3
/* Extracts the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT field value from a register. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_MAINQSPICLK.
*/
struct ALT_CLKMGR_MAINPLL_MAINQSPICLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_MAINQSPICLK. */
typedef volatile struct ALT_CLKMGR_MAINPLL_MAINQSPICLK_s ALT_CLKMGR_MAINPLL_MAINQSPICLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_MAINQSPICLK register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_MAINQSPICLK_OFST 0x14
/*
* Register : Main PLL C4 Control Register for Clock main_nand_sdmmc_clk - mainnandsdmmcclk
*
* Contains settings that control clock main_nand_sdmmc_clk generated from the C4
* output of the Main PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x3 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_RESET 0x3
/* Extracts the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT field value from a register. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK.
*/
struct ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK. */
typedef volatile struct ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_s ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_OFST 0x18
/*
* Register : Main PLL C5 Control Register for Clock cfg_s2f_user0_clk - cfgs2fuser0clk
*
* Contains settings that control clock cfg_s2f_user0_clk generated from the C5
* output of the Main PLL.
*
* Qsys and user documenation refer to cfg_s2f_user0_clk as cfg_h2f_user0_clk.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0xf | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field value. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_RESET 0xf
/* Extracts the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT field value from a register. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK.
*/
struct ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK. */
typedef volatile struct ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_s ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_OFST 0x1c
/*
* Register : Enable Register - en
*
* Contains fields that control clock enables for clocks derived from the Main PLL.
*
* 1: The clock is enabled.
*
* 0: The clock is disabled.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:---------------------
* [0] | RW | 0x1 | l4_main_clk Enable
* [1] | RW | 0x1 | l3_mp_clk Enable
* [2] | RW | 0x1 | l4_mp_clk Enable
* [3] | RW | 0x1 | l4_sp_clk Enable
* [4] | RW | 0x1 | dbg_at_clk Enable
* [5] | RW | 0x1 | dbg_clk Enable
* [6] | RW | 0x1 | dbg_trace_clk Enable
* [7] | RW | 0x1 | dbg_timer_clk Enable
* [8] | RW | 0x1 | cfg_clk Enable
* [9] | RW | 0x1 | s2f_user0_clk Enable
* [31:10] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : l4_main_clk Enable - l4mainclk
*
* Enables clock l4_main_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_MSB 0
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : l3_mp_clk Enable - l3mpclk
*
* Enables clock l3_mp_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_MSB 1
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_L3MPCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : l4_mp_clk Enable - l4mpclk
*
* Enables clock l4_mp_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_MSB 2
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_L4MPCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : l4_sp_clk Enable - l4spclk
*
* Enables clock l4_sp_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_MSB 3
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_SET_MSK 0x00000008
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_CLR_MSK 0xfffffff7
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_L4SPCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_GET(value) (((value) & 0x00000008) >> 3)
/* Produces a ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_SET(value) (((value) << 3) & 0x00000008)
/*
* Field : dbg_at_clk Enable - dbgatclk
*
* Enables clock dbg_at_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_LSB 4
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_MSB 4
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_SET_MSK 0x00000010
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_CLR_MSK 0xffffffef
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_DBGATCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_GET(value) (((value) & 0x00000010) >> 4)
/* Produces a ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_SET(value) (((value) << 4) & 0x00000010)
/*
* Field : dbg_clk Enable - dbgclk
*
* Enables clock dbg_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGCLK_LSB 5
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGCLK_MSB 5
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_DBGCLK_SET_MSK 0x00000020
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_DBGCLK_CLR_MSK 0xffffffdf
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_DBGCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_DBGCLK_GET(value) (((value) & 0x00000020) >> 5)
/* Produces a ALT_CLKMGR_MAINPLL_EN_DBGCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_DBGCLK_SET(value) (((value) << 5) & 0x00000020)
/*
* Field : dbg_trace_clk Enable - dbgtraceclk
*
* Enables clock dbg_trace_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_LSB 6
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_MSB 6
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_SET_MSK 0x00000040
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_CLR_MSK 0xffffffbf
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_GET(value) (((value) & 0x00000040) >> 6)
/* Produces a ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_SET(value) (((value) << 6) & 0x00000040)
/*
* Field : dbg_timer_clk Enable - dbgtimerclk
*
* Enables clock dbg_timer_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_LSB 7
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_MSB 7
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_SET_MSK 0x00000080
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_CLR_MSK 0xffffff7f
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_GET(value) (((value) & 0x00000080) >> 7)
/* Produces a ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_SET(value) (((value) << 7) & 0x00000080)
/*
* Field : cfg_clk Enable - cfgclk
*
* Enables clock cfg_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_CFGCLK_LSB 8
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_CFGCLK_MSB 8
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_CFGCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_CFGCLK_SET_MSK 0x00000100
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_CFGCLK_CLR_MSK 0xfffffeff
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_CFGCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_CFGCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_CFGCLK_GET(value) (((value) & 0x00000100) >> 8)
/* Produces a ALT_CLKMGR_MAINPLL_EN_CFGCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_CFGCLK_SET(value) (((value) << 8) & 0x00000100)
/*
* Field : s2f_user0_clk Enable - s2fuser0clk
*
* Enables clock s2f_user0_clk output.
*
* Qsys and user documenation refer to s2f_user0_clk as h2f_user0_clk.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_LSB 9
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_MSB 9
/* The width in bits of the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_SET_MSK 0x00000200
/* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field value. */
#define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_CLR_MSK 0xfffffdff
/* The reset value of the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field. */
#define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_GET(value) (((value) & 0x00000200) >> 9)
/* Produces a ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_SET(value) (((value) << 9) & 0x00000200)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_EN.
*/
struct ALT_CLKMGR_MAINPLL_EN_s
{
uint32_t l4mainclk : 1; /* l4_main_clk Enable */
uint32_t l3mpclk : 1; /* l3_mp_clk Enable */
uint32_t l4mpclk : 1; /* l4_mp_clk Enable */
uint32_t l4spclk : 1; /* l4_sp_clk Enable */
uint32_t dbgatclk : 1; /* dbg_at_clk Enable */
uint32_t dbgclk : 1; /* dbg_clk Enable */
uint32_t dbgtraceclk : 1; /* dbg_trace_clk Enable */
uint32_t dbgtimerclk : 1; /* dbg_timer_clk Enable */
uint32_t cfgclk : 1; /* cfg_clk Enable */
uint32_t s2fuser0clk : 1; /* s2f_user0_clk Enable */
uint32_t : 22; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_EN. */
typedef volatile struct ALT_CLKMGR_MAINPLL_EN_s ALT_CLKMGR_MAINPLL_EN_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_EN register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_EN_OFST 0x20
/*
* Register : Main Divide Register - maindiv
*
* Contains fields that control clock dividers for main clocks derived from the
* Main PLL
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:--------------------
* [1:0] | RW | 0x0 | L3 MP Clock Divider
* [3:2] | RW | 0x0 | L3 SP Clock Divider
* [6:4] | RW | 0x0 | L4 MP Clock Divider
* [9:7] | RW | 0x0 | L4 SP Clock Divider
* [31:10] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : L3 MP Clock Divider - l3mpclk
*
* The l3_mp_clk is divided down from the l3_main_clk by the value specified in
* this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :------------------------------------------|:------|:------------
* ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_E_DIV1 | 0x0 | Divide by 1
* ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_E_DIV2 | 0x1 | Divide by 2
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK
*
* Divide by 1
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK
*
* Divide by 2
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_E_DIV2 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_MSB 1
/* The width in bits of the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_WIDTH 2
/* The mask used to set the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_SET_MSK 0x00000003
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_CLR_MSK 0xfffffffc
/* The reset value of the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_GET(value) (((value) & 0x00000003) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_SET(value) (((value) << 0) & 0x00000003)
/*
* Field : L3 SP Clock Divider - l3spclk
*
* The l3_sp_clk is divided down from the l3_mp_clk by the value specified in this
* field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :------------------------------------------|:------|:------------
* ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_E_DIV1 | 0x0 | Divide by 1
* ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_E_DIV2 | 0x1 | Divide by 2
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK
*
* Divide by 1
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK
*
* Divide by 2
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_E_DIV2 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_MSB 3
/* The width in bits of the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_WIDTH 2
/* The mask used to set the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_SET_MSK 0x0000000c
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_CLR_MSK 0xfffffff3
/* The reset value of the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_GET(value) (((value) & 0x0000000c) >> 2)
/* Produces a ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_SET(value) (((value) << 2) & 0x0000000c)
/*
* Field : L4 MP Clock Divider - l4mpclk
*
* The l4_mp_clk is divided down from the periph_base_clk by the value specified in
* this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :--------------------------------------------|:------|:-------------
* ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV1 | 0x0 | Divide By 1
* ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV2 | 0x1 | Divide By 2
* ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV4 | 0x2 | Divide By 4
* ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV8 | 0x3 | Divide By 8
* ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV16 | 0x4 | Divide By 16
* ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_1 | 0x5 | Reserved
* ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_2 | 0x6 | Reserved
* ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_3 | 0x7 | Reserved
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
*
* Divide By 1
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
*
* Divide By 2
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
*
* Divide By 4
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV4 0x2
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
*
* Divide By 8
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV8 0x3
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
*
* Divide By 16
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV16 0x4
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_1 0x5
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_2 0x6
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_3 0x7
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_LSB 4
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_MSB 6
/* The width in bits of the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_WIDTH 3
/* The mask used to set the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_SET_MSK 0x00000070
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_CLR_MSK 0xffffff8f
/* The reset value of the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_GET(value) (((value) & 0x00000070) >> 4)
/* Produces a ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_SET(value) (((value) << 4) & 0x00000070)
/*
* Field : L4 SP Clock Divider - l4spclk
*
* The l4_sp_clk is divided down from the periph_base_clk by the value specified in
* this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :--------------------------------------------|:------|:-------------
* ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV1 | 0x0 | Divide By 1
* ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV2 | 0x1 | Divide By 2
* ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV4 | 0x2 | Divide By 4
* ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV8 | 0x3 | Divide By 8
* ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV16 | 0x4 | Divide By 16
* ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_1 | 0x5 | Reserved
* ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_2 | 0x6 | Reserved
* ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_3 | 0x7 | Reserved
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
*
* Divide By 1
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
*
* Divide By 2
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
*
* Divide By 4
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV4 0x2
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
*
* Divide By 8
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV8 0x3
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
*
* Divide By 16
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV16 0x4
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_1 0x5
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_2 0x6
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_3 0x7
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_LSB 7
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_MSB 9
/* The width in bits of the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_WIDTH 3
/* The mask used to set the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_SET_MSK 0x00000380
/* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field value. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_CLR_MSK 0xfffffc7f
/* The reset value of the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_GET(value) (((value) & 0x00000380) >> 7)
/* Produces a ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_SET(value) (((value) << 7) & 0x00000380)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_MAINDIV.
*/
struct ALT_CLKMGR_MAINPLL_MAINDIV_s
{
uint32_t l3mpclk : 2; /* L3 MP Clock Divider */
uint32_t l3spclk : 2; /* L3 SP Clock Divider */
uint32_t l4mpclk : 3; /* L4 MP Clock Divider */
uint32_t l4spclk : 3; /* L4 SP Clock Divider */
uint32_t : 22; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_MAINDIV. */
typedef volatile struct ALT_CLKMGR_MAINPLL_MAINDIV_s ALT_CLKMGR_MAINPLL_MAINDIV_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_MAINDIV register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_MAINDIV_OFST 0x24
/*
* Register : Debug Divide Register - dbgdiv
*
* Contains fields that control clock dividers for debug clocks derived from the
* Main PLL
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:-----------------------
* [1:0] | RW | 0x0 | Debug AT Clock Divider
* [3:2] | RW | 0x1 | Debug Clock Divider
* [31:4] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Debug AT Clock Divider - dbgatclk
*
* The dbg_at_clk is divided down from the C2 output of the Main PLL by the value
* specified in this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :------------------------------------------|:------|:------------
* ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV1 | 0x0 | Divide by 1
* ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV2 | 0x1 | Divide by 2
* ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV4 | 0x2 | Divide by 4
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK
*
* Divide by 1
*/
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK
*
* Divide by 2
*/
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK
*
* Divide by 4
*/
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV4 0x2
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_MSB 1
/* The width in bits of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_WIDTH 2
/* The mask used to set the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field value. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_SET_MSK 0x00000003
/* The mask used to clear the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field value. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_CLR_MSK 0xfffffffc
/* The reset value of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_GET(value) (((value) & 0x00000003) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_SET(value) (((value) << 0) & 0x00000003)
/*
* Field : Debug Clock Divider - dbgclk
*
* The dbg_clk is divided down from the dbg_at_clk by the value specified in this
* field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :----------------------------------------|:------|:------------
* ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_E_DIV2 | 0x1 | Divide by 2
* ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_E_DIV4 | 0x2 | Divide by 4
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK
*
* Divide by 2
*/
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK
*
* Divide by 4
*/
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_E_DIV4 0x2
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_MSB 3
/* The width in bits of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_WIDTH 2
/* The mask used to set the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field value. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_SET_MSK 0x0000000c
/* The mask used to clear the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field value. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_CLR_MSK 0xfffffff3
/* The reset value of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_GET(value) (((value) & 0x0000000c) >> 2)
/* Produces a ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_SET(value) (((value) << 2) & 0x0000000c)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_DBGDIV.
*/
struct ALT_CLKMGR_MAINPLL_DBGDIV_s
{
uint32_t dbgatclk : 2; /* Debug AT Clock Divider */
uint32_t dbgclk : 2; /* Debug Clock Divider */
uint32_t : 28; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_DBGDIV. */
typedef volatile struct ALT_CLKMGR_MAINPLL_DBGDIV_s ALT_CLKMGR_MAINPLL_DBGDIV_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_DBGDIV register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_DBGDIV_OFST 0x28
/*
* Register : Debug Trace Divide Register - tracediv
*
* Contains a field that controls the clock divider for the debug trace clock
* derived from the Main PLL
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:--------------------------
* [2:0] | RW | 0x0 | Debug Trace Clock Divider
* [31:3] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Debug Trace Clock Divider - traceclk
*
* The dbg_trace_clk is divided down from the C2 output of the Main PLL by the
* value specified in this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :----------------------------------------------|:------|:-------------
* ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV1 | 0x0 | Divide By 1
* ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV2 | 0x1 | Divide By 2
* ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV4 | 0x2 | Divide By 4
* ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV8 | 0x3 | Divide By 8
* ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV16 | 0x4 | Divide By 16
* ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_1 | 0x5 | Reserved
* ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_2 | 0x6 | Reserved
* ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_3 | 0x7 | Reserved
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
*
* Divide By 1
*/
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
*
* Divide By 2
*/
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
*
* Divide By 4
*/
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV4 0x2
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
*
* Divide By 8
*/
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV8 0x3
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
*
* Divide By 16
*/
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV16 0x4
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_1 0x5
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_2 0x6
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
*
* Reserved
*/
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_3 0x7
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_MSB 2
/* The width in bits of the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_WIDTH 3
/* The mask used to set the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field value. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_SET_MSK 0x00000007
/* The mask used to clear the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field value. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_CLR_MSK 0xfffffff8
/* The reset value of the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK field value from a register. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_GET(value) (((value) & 0x00000007) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_SET(value) (((value) << 0) & 0x00000007)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_TRACEDIV.
*/
struct ALT_CLKMGR_MAINPLL_TRACEDIV_s
{
uint32_t traceclk : 3; /* Debug Trace Clock Divider */
uint32_t : 29; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_TRACEDIV. */
typedef volatile struct ALT_CLKMGR_MAINPLL_TRACEDIV_s ALT_CLKMGR_MAINPLL_TRACEDIV_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_TRACEDIV register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_TRACEDIV_OFST 0x2c
/*
* Register : L4 MP SP APB Clock Source - l4src
*
* Contains fields that select the clock source for L4 MP and SP APB interconnect
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:-----------------
* [0] | RW | 0x0 | l4_mp_clk Source
* [1] | RW | 0x0 | l4_sp_clk Source
* [31:2] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : l4_mp_clk Source - l4mp
*
* Selects the source for l4_mp_clk
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :------------------------------------------|:------|:----------------
* ALT_CLKMGR_MAINPLL_L4SRC_L4MP_E_MAINPLL | 0x0 | main_clk
* ALT_CLKMGR_MAINPLL_L4SRC_L4MP_E_PERIPHPLL | 0x1 | periph_base_clk
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_L4SRC_L4MP
*
* main_clk
*/
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_E_MAINPLL 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_L4SRC_L4MP
*
* periph_base_clk
*/
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_E_PERIPHPLL 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_MSB 0
/* The width in bits of the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field value. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field value. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_L4SRC_L4MP field value from a register. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : l4_sp_clk Source - l4sp
*
* Selects the source for l4_sp_clk
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :------------------------------------------|:------|:----------------
* ALT_CLKMGR_MAINPLL_L4SRC_L4SP_E_MAINPLL | 0x0 | main_clk
* ALT_CLKMGR_MAINPLL_L4SRC_L4SP_E_PERIPHPLL | 0x1 | periph_base_clk
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_L4SRC_L4SP
*
* main_clk
*/
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_E_MAINPLL 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_L4SRC_L4SP
*
* periph_base_clk
*/
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_E_PERIPHPLL 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_MSB 1
/* The width in bits of the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_WIDTH 1
/* The mask used to set the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field value. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field value. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_L4SRC_L4SP field value from a register. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_SET(value) (((value) << 1) & 0x00000002)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_L4SRC.
*/
struct ALT_CLKMGR_MAINPLL_L4SRC_s
{
uint32_t l4mp : 1; /* l4_mp_clk Source */
uint32_t l4sp : 1; /* l4_sp_clk Source */
uint32_t : 30; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_L4SRC. */
typedef volatile struct ALT_CLKMGR_MAINPLL_L4SRC_s ALT_CLKMGR_MAINPLL_L4SRC_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_L4SRC register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_L4SRC_OFST 0x30
/*
* Register : Main PLL Output Counter Reset Ack Status Register - stat
*
* Contains Output Clock Counter Reset acknowledge status.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:---------------------------------
* [5:0] | R | 0x0 | Output Counter Reset Acknowledge
* [31:6] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Output Counter Reset Acknowledge - outresetack
*
* These read only bits per PLL output indicate that the PLL has received the
* Output Reset Counter request and has gracefully stopped the respective PLL
* output clock.
*
* For software to change the PLL output counter without producing glitches on the
* respective clock, SW must set the VCO register respective Output Counter Reset
* bit. Software then polls the respective Output Counter Reset Acknowledge bit in
* the Output Counter Reset Ack Status Register. Software then writes the
* appropriate counter register, and then clears the respective VCO register Output
* Counter Reset bit.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :--------------------------------------------|:------|:-------------------------------------
* ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_E_IDLE | 0x0 | Idle
* ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_E_ACK_RXD | 0x1 | Output Counter Acknowledge received.
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK
*
* Idle
*/
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_E_IDLE 0x0
/*
* Enumerated value for register field ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK
*
* Output Counter Acknowledge received.
*/
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_E_ACK_RXD 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_MSB 5
/* The width in bits of the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_WIDTH 6
/* The mask used to set the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field value. */
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_SET_MSK 0x0000003f
/* The mask used to clear the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field value. */
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_CLR_MSK 0xffffffc0
/* The reset value of the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_RESET 0x0
/* Extracts the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK field value from a register. */
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_GET(value) (((value) & 0x0000003f) >> 0)
/* Produces a ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field value suitable for setting the register. */
#define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_SET(value) (((value) << 0) & 0x0000003f)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_MAINPLL_STAT.
*/
struct ALT_CLKMGR_MAINPLL_STAT_s
{
const uint32_t outresetack : 6; /* Output Counter Reset Acknowledge */
uint32_t : 26; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_MAINPLL_STAT. */
typedef volatile struct ALT_CLKMGR_MAINPLL_STAT_s ALT_CLKMGR_MAINPLL_STAT_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_MAINPLL_STAT register from the beginning of the component. */
#define ALT_CLKMGR_MAINPLL_STAT_OFST 0x34
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register group ALT_CLKMGR_MAINPLL.
*/
struct ALT_CLKMGR_MAINPLL_s
{
volatile ALT_CLKMGR_MAINPLL_VCO_t vco; /* ALT_CLKMGR_MAINPLL_VCO */
volatile ALT_CLKMGR_MAINPLL_MISC_t misc; /* ALT_CLKMGR_MAINPLL_MISC */
volatile ALT_CLKMGR_MAINPLL_MPUCLK_t mpuclk; /* ALT_CLKMGR_MAINPLL_MPUCLK */
volatile ALT_CLKMGR_MAINPLL_MAINCLK_t mainclk; /* ALT_CLKMGR_MAINPLL_MAINCLK */
volatile ALT_CLKMGR_MAINPLL_DBGATCLK_t dbgatclk; /* ALT_CLKMGR_MAINPLL_DBGATCLK */
volatile ALT_CLKMGR_MAINPLL_MAINQSPICLK_t mainqspiclk; /* ALT_CLKMGR_MAINPLL_MAINQSPICLK */
volatile ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_t mainnandsdmmcclk; /* ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK */
volatile ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_t cfgs2fuser0clk; /* ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK */
volatile ALT_CLKMGR_MAINPLL_EN_t en; /* ALT_CLKMGR_MAINPLL_EN */
volatile ALT_CLKMGR_MAINPLL_MAINDIV_t maindiv; /* ALT_CLKMGR_MAINPLL_MAINDIV */
volatile ALT_CLKMGR_MAINPLL_DBGDIV_t dbgdiv; /* ALT_CLKMGR_MAINPLL_DBGDIV */
volatile ALT_CLKMGR_MAINPLL_TRACEDIV_t tracediv; /* ALT_CLKMGR_MAINPLL_TRACEDIV */
volatile ALT_CLKMGR_MAINPLL_L4SRC_t l4src; /* ALT_CLKMGR_MAINPLL_L4SRC */
volatile ALT_CLKMGR_MAINPLL_STAT_t stat; /* ALT_CLKMGR_MAINPLL_STAT */
volatile uint32_t _pad_0x38_0x40[2]; /* *UNDEFINED* */
};
/* The typedef declaration for register group ALT_CLKMGR_MAINPLL. */
typedef volatile struct ALT_CLKMGR_MAINPLL_s ALT_CLKMGR_MAINPLL_t;
/* The struct declaration for the raw register contents of register group ALT_CLKMGR_MAINPLL. */
struct ALT_CLKMGR_MAINPLL_raw_s
{
volatile uint32_t vco; /* ALT_CLKMGR_MAINPLL_VCO */
volatile uint32_t misc; /* ALT_CLKMGR_MAINPLL_MISC */
volatile uint32_t mpuclk; /* ALT_CLKMGR_MAINPLL_MPUCLK */
volatile uint32_t mainclk; /* ALT_CLKMGR_MAINPLL_MAINCLK */
volatile uint32_t dbgatclk; /* ALT_CLKMGR_MAINPLL_DBGATCLK */
volatile uint32_t mainqspiclk; /* ALT_CLKMGR_MAINPLL_MAINQSPICLK */
volatile uint32_t mainnandsdmmcclk; /* ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK */
volatile uint32_t cfgs2fuser0clk; /* ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK */
volatile uint32_t en; /* ALT_CLKMGR_MAINPLL_EN */
volatile uint32_t maindiv; /* ALT_CLKMGR_MAINPLL_MAINDIV */
volatile uint32_t dbgdiv; /* ALT_CLKMGR_MAINPLL_DBGDIV */
volatile uint32_t tracediv; /* ALT_CLKMGR_MAINPLL_TRACEDIV */
volatile uint32_t l4src; /* ALT_CLKMGR_MAINPLL_L4SRC */
volatile uint32_t stat; /* ALT_CLKMGR_MAINPLL_STAT */
volatile uint32_t _pad_0x38_0x40[2]; /* *UNDEFINED* */
};
/* The typedef declaration for the raw register contents of register group ALT_CLKMGR_MAINPLL. */
typedef volatile struct ALT_CLKMGR_MAINPLL_raw_s ALT_CLKMGR_MAINPLL_raw_t;
#endif /* __ASSEMBLY__ */
/*
* Register Group : Peripheral PLL Group - ALT_CLKMGR_PERPLL
* Peripheral PLL Group
*
* Contains registers with settings for the Peripheral PLL.
*
*/
/*
* Register : Peripheral PLL VCO Control Register - vco
*
* Contains settings that control the Peripheral PLL VCO. The VCO output frequency
* is the input frequency multiplied by the numerator (M+1) and divided by the
* denominator (N+1).
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:--------------------------------
* [0] | RW | 0x1 | BG PWRDN
* [1] | RW | 0x0 | Enable
* [2] | RW | 0x1 | Power down
* [15:3] | RW | 0x1 | Numerator (M)
* [21:16] | RW | 0x1 | Denominator (N)
* [23:22] | RW | 0x0 | Clock Source
* [24] | RW | 0x0 | All Output Counter Reset
* [30:25] | RW | 0x0 | Output Counter Reset
* [31] | RW | 0x1 | External Regulator Input Select
*
*/
/*
* Field : BG PWRDN - bgpwrdn
*
* If '1', powers down bandgap. If '0', bandgap is not power down.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_MSB 0
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field value. */
#define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field value. */
#define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_VCO_BGPWRDN field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Enable - en
*
* If '1', VCO is enabled. If '0', VCO is in reset.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_EN register field. */
#define ALT_CLKMGR_PERPLL_VCO_EN_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_EN register field. */
#define ALT_CLKMGR_PERPLL_VCO_EN_MSB 1
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_EN register field. */
#define ALT_CLKMGR_PERPLL_VCO_EN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_EN register field value. */
#define ALT_CLKMGR_PERPLL_VCO_EN_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_EN register field value. */
#define ALT_CLKMGR_PERPLL_VCO_EN_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_EN register field. */
#define ALT_CLKMGR_PERPLL_VCO_EN_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_VCO_EN field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_EN_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_PERPLL_VCO_EN register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_EN_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : Power down - pwrdn
*
* If '1', power down analog circuitry. If '0', analog circuitry not powered down.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_PERPLL_VCO_PWRDN_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_PERPLL_VCO_PWRDN_MSB 2
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_PERPLL_VCO_PWRDN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_PWRDN register field value. */
#define ALT_CLKMGR_PERPLL_VCO_PWRDN_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_PWRDN register field value. */
#define ALT_CLKMGR_PERPLL_VCO_PWRDN_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_PERPLL_VCO_PWRDN_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_VCO_PWRDN field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_PWRDN_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_PERPLL_VCO_PWRDN register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_PWRDN_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : Numerator (M) - numer
*
* Numerator in VCO output frequency equation. For incremental frequency change, if
* the new value lead to less than 20% of the frequency change, this value can be
* changed without resetting the PLL. The Numerator and Denominator can not be
* changed at the same time for incremental frequency changed.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_PERPLL_VCO_NUMER_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_PERPLL_VCO_NUMER_MSB 15
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_PERPLL_VCO_NUMER_WIDTH 13
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_NUMER register field value. */
#define ALT_CLKMGR_PERPLL_VCO_NUMER_SET_MSK 0x0000fff8
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_NUMER register field value. */
#define ALT_CLKMGR_PERPLL_VCO_NUMER_CLR_MSK 0xffff0007
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_PERPLL_VCO_NUMER_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_VCO_NUMER field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_NUMER_GET(value) (((value) & 0x0000fff8) >> 3)
/* Produces a ALT_CLKMGR_PERPLL_VCO_NUMER register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_NUMER_SET(value) (((value) << 3) & 0x0000fff8)
/*
* Field : Denominator (N) - denom
*
* Denominator in VCO output frequency equation. For incremental frequency change,
* if the new value lead to less than 20% of the frequency change, this value can
* be changed without resetting the PLL. The Numerator and Denominator can not be
* changed at the same time for incremental frequency changed.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_PERPLL_VCO_DENOM_LSB 16
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_PERPLL_VCO_DENOM_MSB 21
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_PERPLL_VCO_DENOM_WIDTH 6
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_DENOM register field value. */
#define ALT_CLKMGR_PERPLL_VCO_DENOM_SET_MSK 0x003f0000
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_DENOM register field value. */
#define ALT_CLKMGR_PERPLL_VCO_DENOM_CLR_MSK 0xffc0ffff
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_PERPLL_VCO_DENOM_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_VCO_DENOM field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_DENOM_GET(value) (((value) & 0x003f0000) >> 16)
/* Produces a ALT_CLKMGR_PERPLL_VCO_DENOM register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_DENOM_SET(value) (((value) << 16) & 0x003f0000)
/*
* Field : Clock Source - psrc
*
* Controls the VCO input clock source.
*
* Qsys and user documenation refer to f2s_periph_ref_clk as f2h_periph_ref_clk.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :--------------------------------------------|:------|:-------------------
* ALT_CLKMGR_PERPLL_VCO_PSRC_E_EOSC1 | 0x0 | eosc1_clk
* ALT_CLKMGR_PERPLL_VCO_PSRC_E_EOSC2 | 0x1 | eosc2_clk
* ALT_CLKMGR_PERPLL_VCO_PSRC_E_F2S_PERIPH_REF | 0x2 | f2s_periph_ref_clk
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_VCO_PSRC
*
* eosc1_clk
*/
#define ALT_CLKMGR_PERPLL_VCO_PSRC_E_EOSC1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_VCO_PSRC
*
* eosc2_clk
*/
#define ALT_CLKMGR_PERPLL_VCO_PSRC_E_EOSC2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_VCO_PSRC
*
* f2s_periph_ref_clk
*/
#define ALT_CLKMGR_PERPLL_VCO_PSRC_E_F2S_PERIPH_REF 0x2
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_PSRC register field. */
#define ALT_CLKMGR_PERPLL_VCO_PSRC_LSB 22
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_PSRC register field. */
#define ALT_CLKMGR_PERPLL_VCO_PSRC_MSB 23
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_PSRC register field. */
#define ALT_CLKMGR_PERPLL_VCO_PSRC_WIDTH 2
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_PSRC register field value. */
#define ALT_CLKMGR_PERPLL_VCO_PSRC_SET_MSK 0x00c00000
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_PSRC register field value. */
#define ALT_CLKMGR_PERPLL_VCO_PSRC_CLR_MSK 0xff3fffff
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_PSRC register field. */
#define ALT_CLKMGR_PERPLL_VCO_PSRC_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_VCO_PSRC field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_PSRC_GET(value) (((value) & 0x00c00000) >> 22)
/* Produces a ALT_CLKMGR_PERPLL_VCO_PSRC register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_PSRC_SET(value) (((value) << 22) & 0x00c00000)
/*
* Field : All Output Counter Reset - outresetall
*
* Before releasing Bypass, All Output Counter Reset must be set and cleared by
* software for correct clock operation.
*
* If '1', Reset phase multiplexer and all output counter state. So that after the
* assertion all the clocks output are start from rising edge align.
*
* If '0', phase multiplexer and output counter state not reset and no change to
* the phase of the clock outputs.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_LSB 24
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_MSB 24
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field value. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_SET_MSK 0x01000000
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field value. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_CLR_MSK 0xfeffffff
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_GET(value) (((value) & 0x01000000) >> 24)
/* Produces a ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_SET(value) (((value) << 24) & 0x01000000)
/*
* Field : Output Counter Reset - outreset
*
* Resets the individual PLL output counter.
*
* For software to change the PLL output counter without producing glitches on the
* respective clock, SW must set the VCO register respective Output Counter Reset
* bit. Software then polls the respective Output Counter Reset Acknowledge bit in
* the Output Counter Reset Ack Status Register. Software then writes the
* appropriate counter register, and then clears the respective VCO register Output
* Counter Reset bit.
*
* LSB 'outreset[0]' corresponds to PLL output clock C0, etc.
*
* If set to '1', reset output divider, no clock output from counter.
*
* If set to '0', counter is not reset.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRST_LSB 25
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRST_MSB 30
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRST_WIDTH 6
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_OUTRST register field value. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRST_SET_MSK 0x7e000000
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_OUTRST register field value. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRST_CLR_MSK 0x81ffffff
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRST_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_VCO_OUTRST field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRST_GET(value) (((value) & 0x7e000000) >> 25)
/* Produces a ALT_CLKMGR_PERPLL_VCO_OUTRST register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_OUTRST_SET(value) (((value) << 25) & 0x7e000000)
/*
* Field : External Regulator Input Select - regextsel
*
* If set to '1', the external regulator is selected for the PLL.
*
* If set to '0', the internal regulator is slected.
*
* It is strongly recommended to select the external regulator while the PLL is not
* enabled (in reset), and then disable the external regulater once the PLL
* becomes enabled. Software should simulateously update the 'Enable' bit and the
* 'External Regulator Input Select' in the same write access to the VCO register.
* When the 'Enable' bit is clear, the 'External Regulator Input Select' should be
* set, and vice versa.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_LSB 31
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_MSB 31
/* The width in bits of the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field value. */
#define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_SET_MSK 0x80000000
/* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field value. */
#define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_CLR_MSK 0x7fffffff
/* The reset value of the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL field value from a register. */
#define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_GET(value) (((value) & 0x80000000) >> 31)
/* Produces a ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_SET(value) (((value) << 31) & 0x80000000)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_VCO.
*/
struct ALT_CLKMGR_PERPLL_VCO_s
{
uint32_t bgpwrdn : 1; /* BG PWRDN */
uint32_t en : 1; /* Enable */
uint32_t pwrdn : 1; /* Power down */
uint32_t numer : 13; /* Numerator (M) */
uint32_t denom : 6; /* Denominator (N) */
uint32_t psrc : 2; /* Clock Source */
uint32_t outresetall : 1; /* All Output Counter Reset */
uint32_t outreset : 6; /* Output Counter Reset */
uint32_t regextsel : 1; /* External Regulator Input Select */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_VCO. */
typedef volatile struct ALT_CLKMGR_PERPLL_VCO_s ALT_CLKMGR_PERPLL_VCO_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_VCO register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_VCO_OFST 0x0
/*
* Register : Peripheral PLL VCO Advanced Control Register - misc
*
* Contains VCO control signals and other PLL control signals need to be
* controllable through register.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:------------------------------
* [0] | RW | 0x0 | Loop Bandwidth Adjust Enabled
* [12:1] | RW | 0x1 | Loop Bandwidth Adjust
* [13] | RW | 0x0 | Fast Locking Enable
* [14] | RW | 0x1 | Saturation Enable
* [31:15] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Loop Bandwidth Adjust Enabled - bwadjen
*
* If set to 1, the Loop Bandwidth Adjust value comes from the Loop Bandwidth
* Adjust field.
*
* If set to 0, the Loop Bandwidth Adjust value equals the M field divided by 2
* value of the VCO Control Register. The M divided by 2 is the upper 12 bits
* (12:1) of the M field in the VCO register.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJEN_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJEN_MSB 0
/* The width in bits of the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field value. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJEN_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field value. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJEN_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJEN_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_MISC_BWADJEN field value from a register. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJEN_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_MISC_BWADJEN register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJEN_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Loop Bandwidth Adjust - bwadj
*
* Provides Loop Bandwidth Adjust value.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_MISC_BWADJ register field. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJ_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_MISC_BWADJ register field. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJ_MSB 12
/* The width in bits of the ALT_CLKMGR_PERPLL_MISC_BWADJ register field. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJ_WIDTH 12
/* The mask used to set the ALT_CLKMGR_PERPLL_MISC_BWADJ register field value. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJ_SET_MSK 0x00001ffe
/* The mask used to clear the ALT_CLKMGR_PERPLL_MISC_BWADJ register field value. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJ_CLR_MSK 0xffffe001
/* The reset value of the ALT_CLKMGR_PERPLL_MISC_BWADJ register field. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJ_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_MISC_BWADJ field value from a register. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJ_GET(value) (((value) & 0x00001ffe) >> 1)
/* Produces a ALT_CLKMGR_PERPLL_MISC_BWADJ register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_MISC_BWADJ_SET(value) (((value) << 1) & 0x00001ffe)
/*
* Field : Fast Locking Enable - fasten
*
* Enables fast locking circuit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_MISC_FASTEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_FASTEN_LSB 13
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_MISC_FASTEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_FASTEN_MSB 13
/* The width in bits of the ALT_CLKMGR_PERPLL_MISC_FASTEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_FASTEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_MISC_FASTEN register field value. */
#define ALT_CLKMGR_PERPLL_MISC_FASTEN_SET_MSK 0x00002000
/* The mask used to clear the ALT_CLKMGR_PERPLL_MISC_FASTEN register field value. */
#define ALT_CLKMGR_PERPLL_MISC_FASTEN_CLR_MSK 0xffffdfff
/* The reset value of the ALT_CLKMGR_PERPLL_MISC_FASTEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_FASTEN_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_MISC_FASTEN field value from a register. */
#define ALT_CLKMGR_PERPLL_MISC_FASTEN_GET(value) (((value) & 0x00002000) >> 13)
/* Produces a ALT_CLKMGR_PERPLL_MISC_FASTEN register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_MISC_FASTEN_SET(value) (((value) << 13) & 0x00002000)
/*
* Field : Saturation Enable - saten
*
* Enables saturation behavior.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_MISC_SATEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_SATEN_LSB 14
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_MISC_SATEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_SATEN_MSB 14
/* The width in bits of the ALT_CLKMGR_PERPLL_MISC_SATEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_SATEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_MISC_SATEN register field value. */
#define ALT_CLKMGR_PERPLL_MISC_SATEN_SET_MSK 0x00004000
/* The mask used to clear the ALT_CLKMGR_PERPLL_MISC_SATEN register field value. */
#define ALT_CLKMGR_PERPLL_MISC_SATEN_CLR_MSK 0xffffbfff
/* The reset value of the ALT_CLKMGR_PERPLL_MISC_SATEN register field. */
#define ALT_CLKMGR_PERPLL_MISC_SATEN_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_MISC_SATEN field value from a register. */
#define ALT_CLKMGR_PERPLL_MISC_SATEN_GET(value) (((value) & 0x00004000) >> 14)
/* Produces a ALT_CLKMGR_PERPLL_MISC_SATEN register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_MISC_SATEN_SET(value) (((value) << 14) & 0x00004000)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_MISC.
*/
struct ALT_CLKMGR_PERPLL_MISC_s
{
uint32_t bwadjen : 1; /* Loop Bandwidth Adjust Enabled */
uint32_t bwadj : 12; /* Loop Bandwidth Adjust */
uint32_t fasten : 1; /* Fast Locking Enable */
uint32_t saten : 1; /* Saturation Enable */
uint32_t : 17; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_MISC. */
typedef volatile struct ALT_CLKMGR_PERPLL_MISC_s ALT_CLKMGR_PERPLL_MISC_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_MISC register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_MISC_OFST 0x4
/*
* Register : Peripheral PLL C0 Control Register for Clock emac0_clk - emac0clk
*
* Contains settings that control clock emac0_clk generated from the C0 output of
* the Peripheral PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT field value from a register. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_EMAC0CLK.
*/
struct ALT_CLKMGR_PERPLL_EMAC0CLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_EMAC0CLK. */
typedef volatile struct ALT_CLKMGR_PERPLL_EMAC0CLK_s ALT_CLKMGR_PERPLL_EMAC0CLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_EMAC0CLK register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_EMAC0CLK_OFST 0x8
/*
* Register : Peripheral PLL C1 Control Register for Clock emac1_clk - emac1clk
*
* Contains settings that control clock emac1_clk generated from the C1 output of
* the Peripheral PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT field value from a register. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_EMAC1CLK.
*/
struct ALT_CLKMGR_PERPLL_EMAC1CLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_EMAC1CLK. */
typedef volatile struct ALT_CLKMGR_PERPLL_EMAC1CLK_s ALT_CLKMGR_PERPLL_EMAC1CLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_EMAC1CLK register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_EMAC1CLK_OFST 0xc
/*
* Register : Peripheral PLL C2 Control Register for Clock periph_qspi_clk - perqspiclk
*
* Contains settings that control clock periph_qspi_clk generated from the C2
* output of the Peripheral PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT field value from a register. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_PERQSPICLK.
*/
struct ALT_CLKMGR_PERPLL_PERQSPICLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_PERQSPICLK. */
typedef volatile struct ALT_CLKMGR_PERPLL_PERQSPICLK_s ALT_CLKMGR_PERPLL_PERQSPICLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_PERQSPICLK register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_PERQSPICLK_OFST 0x10
/*
* Register : Peripheral PLL C3 Control Register for Clock periph_nand_sdmmc_clk - pernandsdmmcclk
*
* Contains settings that control clock periph_nand_sdmmc_clk generated from the C3
* output of the Peripheral PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT field value from a register. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK.
*/
struct ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK. */
typedef volatile struct ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_s ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_OFST 0x14
/*
* Register : Peripheral PLL C4 Control Register for Clock periph_base_clk - perbaseclk
*
* Contains settings that control clock periph_base_clk generated from the C4
* output of the Peripheral PLL.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_PERBASECLK_CNT field value from a register. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_PERBASECLK.
*/
struct ALT_CLKMGR_PERPLL_PERBASECLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_PERBASECLK. */
typedef volatile struct ALT_CLKMGR_PERPLL_PERBASECLK_s ALT_CLKMGR_PERPLL_PERBASECLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_PERBASECLK register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_PERBASECLK_OFST 0x18
/*
* Register : Peripheral PLL C5 Control Register for Clock s2f_user1_clk - s2fuser1clk
*
* Contains settings that control clock s2f_user1_clk generated from the C5 output
* of the Peripheral PLL.
*
* Qsys and user documenation refer to s2f_user1_clk as h2f_user1_clk.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [31:9] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field value. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT field value from a register. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_S2FUSER1CLK.
*/
struct ALT_CLKMGR_PERPLL_S2FUSER1CLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t : 23; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_S2FUSER1CLK. */
typedef volatile struct ALT_CLKMGR_PERPLL_S2FUSER1CLK_s ALT_CLKMGR_PERPLL_S2FUSER1CLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_S2FUSER1CLK register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_S2FUSER1CLK_OFST 0x1c
/*
* Register : Enable Register - en
*
* Contains fields that control clock enables for clocks derived from the
* Peripheral PLL
*
* 1: The clock is enabled.
*
* 0: The clock is disabled.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:---------------------
* [0] | RW | 0x1 | emac0_clk Enable
* [1] | RW | 0x1 | emac1_clk Enable
* [2] | RW | 0x1 | usb_mp_clk Enable
* [3] | RW | 0x1 | spi_m_clk Enable
* [4] | RW | 0x1 | can0_clk Enable
* [5] | RW | 0x1 | can1_clk Enable
* [6] | RW | 0x1 | gpio_clk Enable
* [7] | RW | 0x1 | s2f_user1_clk Enable
* [8] | RW | 0x1 | sdmmc_clk Enable
* [9] | RW | 0x1 | nand_x_clk Enable
* [10] | RW | 0x1 | nand_clk Enable
* [11] | RW | 0x1 | qspi_clk Enable
* [31:12] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : emac0_clk Enable - emac0clk
*
* Enables clock emac0_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_MSB 0
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_EMAC0CLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : emac1_clk Enable - emac1clk
*
* Enables clock emac1_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_MSB 1
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_EMAC1CLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : usb_mp_clk Enable - usbclk
*
* Enables clock usb_mp_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_USBCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_USBCLK_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_USBCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_USBCLK_MSB 2
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_USBCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_USBCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_USBCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_USBCLK_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_USBCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_USBCLK_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_PERPLL_EN_USBCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_USBCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_USBCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_USBCLK_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_PERPLL_EN_USBCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_USBCLK_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : spi_m_clk Enable - spimclk
*
* Enables clock spi_m_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_SPIMCLK_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_SPIMCLK_MSB 3
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_SPIMCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_SPIMCLK_SET_MSK 0x00000008
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_SPIMCLK_CLR_MSK 0xfffffff7
/* The reset value of the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_SPIMCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_SPIMCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_SPIMCLK_GET(value) (((value) & 0x00000008) >> 3)
/* Produces a ALT_CLKMGR_PERPLL_EN_SPIMCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_SPIMCLK_SET(value) (((value) << 3) & 0x00000008)
/*
* Field : can0_clk Enable - can0clk
*
* Enables clock can0_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_CAN0CLK_LSB 4
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_CAN0CLK_MSB 4
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_CAN0CLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_CAN0CLK_SET_MSK 0x00000010
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_CAN0CLK_CLR_MSK 0xffffffef
/* The reset value of the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_CAN0CLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_CAN0CLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_CAN0CLK_GET(value) (((value) & 0x00000010) >> 4)
/* Produces a ALT_CLKMGR_PERPLL_EN_CAN0CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_CAN0CLK_SET(value) (((value) << 4) & 0x00000010)
/*
* Field : can1_clk Enable - can1clk
*
* Enables clock can1_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_CAN1CLK_LSB 5
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_CAN1CLK_MSB 5
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_CAN1CLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_CAN1CLK_SET_MSK 0x00000020
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_CAN1CLK_CLR_MSK 0xffffffdf
/* The reset value of the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_CAN1CLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_CAN1CLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_CAN1CLK_GET(value) (((value) & 0x00000020) >> 5)
/* Produces a ALT_CLKMGR_PERPLL_EN_CAN1CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_CAN1CLK_SET(value) (((value) << 5) & 0x00000020)
/*
* Field : gpio_clk Enable - gpioclk
*
* Enables clock gpio_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_GPIOCLK_LSB 6
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_GPIOCLK_MSB 6
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_GPIOCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_GPIOCLK_SET_MSK 0x00000040
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_GPIOCLK_CLR_MSK 0xffffffbf
/* The reset value of the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_GPIOCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_GPIOCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_GPIOCLK_GET(value) (((value) & 0x00000040) >> 6)
/* Produces a ALT_CLKMGR_PERPLL_EN_GPIOCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_GPIOCLK_SET(value) (((value) << 6) & 0x00000040)
/*
* Field : s2f_user1_clk Enable - s2fuser1clk
*
* Enables clock s2f_user1_clk output.
*
* Qsys and user documenation refer to s2f_user1_clk as h2f_user1_clk.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_LSB 7
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_MSB 7
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_SET_MSK 0x00000080
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_CLR_MSK 0xffffff7f
/* The reset value of the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field. */
#define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_GET(value) (((value) & 0x00000080) >> 7)
/* Produces a ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_SET(value) (((value) << 7) & 0x00000080)
/*
* Field : sdmmc_clk Enable - sdmmcclk
*
* Enables clock sdmmc_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_LSB 8
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_MSB 8
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_SET_MSK 0x00000100
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_CLR_MSK 0xfffffeff
/* The reset value of the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_SDMMCCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_GET(value) (((value) & 0x00000100) >> 8)
/* Produces a ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_SET(value) (((value) << 8) & 0x00000100)
/*
* Field : nand_x_clk Enable - nandxclk
*
* Enables clock nand_x_clk output
*
* nand_clk Enable should always be de-asserted before the nand_x_clk Enable, and
* the nand_x_clk Enable should always be asserted before the nand_clk Enable is
* asserted. A brief delay is also required between switching the enables (8 *
* nand_clk period).
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_NANDXCLK_LSB 9
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_NANDXCLK_MSB 9
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_NANDXCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_NANDXCLK_SET_MSK 0x00000200
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_NANDXCLK_CLR_MSK 0xfffffdff
/* The reset value of the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_NANDXCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_NANDXCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_NANDXCLK_GET(value) (((value) & 0x00000200) >> 9)
/* Produces a ALT_CLKMGR_PERPLL_EN_NANDXCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_NANDXCLK_SET(value) (((value) << 9) & 0x00000200)
/*
* Field : nand_clk Enable - nandclk
*
* Enables clock nand_clk output
*
* nand_clk Enable should always be de-asserted before the nand_x_clk Enable, and
* the nand_x_clk Enable should always be asserted before the nand_clk Enable is
* asserted. A brief delay is also required between switching the enables (8 *
* nand_clk period).
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_NANDCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_NANDCLK_LSB 10
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_NANDCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_NANDCLK_MSB 10
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_NANDCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_NANDCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_NANDCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_NANDCLK_SET_MSK 0x00000400
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_NANDCLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_NANDCLK_CLR_MSK 0xfffffbff
/* The reset value of the ALT_CLKMGR_PERPLL_EN_NANDCLK register field. */
#define ALT_CLKMGR_PERPLL_EN_NANDCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_NANDCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_NANDCLK_GET(value) (((value) & 0x00000400) >> 10)
/* Produces a ALT_CLKMGR_PERPLL_EN_NANDCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_NANDCLK_SET(value) (((value) << 10) & 0x00000400)
/*
* Field : qspi_clk Enable - qspiclk
*
* Enables clock qspi_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_QSPICLK register field. */
#define ALT_CLKMGR_PERPLL_EN_QSPICLK_LSB 11
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_QSPICLK register field. */
#define ALT_CLKMGR_PERPLL_EN_QSPICLK_MSB 11
/* The width in bits of the ALT_CLKMGR_PERPLL_EN_QSPICLK register field. */
#define ALT_CLKMGR_PERPLL_EN_QSPICLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_PERPLL_EN_QSPICLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_QSPICLK_SET_MSK 0x00000800
/* The mask used to clear the ALT_CLKMGR_PERPLL_EN_QSPICLK register field value. */
#define ALT_CLKMGR_PERPLL_EN_QSPICLK_CLR_MSK 0xfffff7ff
/* The reset value of the ALT_CLKMGR_PERPLL_EN_QSPICLK register field. */
#define ALT_CLKMGR_PERPLL_EN_QSPICLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_EN_QSPICLK field value from a register. */
#define ALT_CLKMGR_PERPLL_EN_QSPICLK_GET(value) (((value) & 0x00000800) >> 11)
/* Produces a ALT_CLKMGR_PERPLL_EN_QSPICLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_EN_QSPICLK_SET(value) (((value) << 11) & 0x00000800)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_EN.
*/
struct ALT_CLKMGR_PERPLL_EN_s
{
uint32_t emac0clk : 1; /* emac0_clk Enable */
uint32_t emac1clk : 1; /* emac1_clk Enable */
uint32_t usbclk : 1; /* usb_mp_clk Enable */
uint32_t spimclk : 1; /* spi_m_clk Enable */
uint32_t can0clk : 1; /* can0_clk Enable */
uint32_t can1clk : 1; /* can1_clk Enable */
uint32_t gpioclk : 1; /* gpio_clk Enable */
uint32_t s2fuser1clk : 1; /* s2f_user1_clk Enable */
uint32_t sdmmcclk : 1; /* sdmmc_clk Enable */
uint32_t nandxclk : 1; /* nand_x_clk Enable */
uint32_t nandclk : 1; /* nand_clk Enable */
uint32_t qspiclk : 1; /* qspi_clk Enable */
uint32_t : 20; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_EN. */
typedef volatile struct ALT_CLKMGR_PERPLL_EN_s ALT_CLKMGR_PERPLL_EN_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_EN register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_EN_OFST 0x20
/*
* Register : Divide Register - div
*
* Contains fields that control clock dividers for clocks derived from the
* Peripheral PLL
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:-------------------------
* [2:0] | RW | 0x0 | USB Clock Divider
* [5:3] | RW | 0x0 | SPI Master Clock Divider
* [8:6] | RW | 0x0 | CAN0 Clock Divider
* [11:9] | RW | 0x0 | CAN1 Clock Divider
* [31:12] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : USB Clock Divider - usbclk
*
* The usb_mp_clk is divided down from the periph_base_clk by the value specified
* in this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :--------------------------------------|:------|:-------------
* ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV1 | 0x0 | Divide By 1
* ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV2 | 0x1 | Divide By 2
* ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV4 | 0x2 | Divide By 4
* ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV8 | 0x3 | Divide By 8
* ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV16 | 0x4 | Divide By 16
* ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_1 | 0x5 | Reserved
* ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_2 | 0x6 | Reserved
* ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_3 | 0x7 | Reserved
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
*
* Divide By 1
*/
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
*
* Divide By 2
*/
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
*
* Divide By 4
*/
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV4 0x2
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
*
* Divide By 8
*/
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV8 0x3
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
*
* Divide By 16
*/
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV16 0x4
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_1 0x5
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_2 0x6
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_3 0x7
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_DIV_USBCLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_DIV_USBCLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_MSB 2
/* The width in bits of the ALT_CLKMGR_PERPLL_DIV_USBCLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_WIDTH 3
/* The mask used to set the ALT_CLKMGR_PERPLL_DIV_USBCLK register field value. */
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_SET_MSK 0x00000007
/* The mask used to clear the ALT_CLKMGR_PERPLL_DIV_USBCLK register field value. */
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_CLR_MSK 0xfffffff8
/* The reset value of the ALT_CLKMGR_PERPLL_DIV_USBCLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_DIV_USBCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_GET(value) (((value) & 0x00000007) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_DIV_USBCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_DIV_USBCLK_SET(value) (((value) << 0) & 0x00000007)
/*
* Field : SPI Master Clock Divider - spimclk
*
* The spi_m_clk is divided down from the periph_base_clk by the value specified in
* this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :---------------------------------------|:------|:-------------
* ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV1 | 0x0 | Divide By 1
* ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV2 | 0x1 | Divide By 2
* ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV4 | 0x2 | Divide By 4
* ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV8 | 0x3 | Divide By 8
* ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV16 | 0x4 | Divide By 16
* ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_1 | 0x5 | Reserved
* ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_2 | 0x6 | Reserved
* ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_3 | 0x7 | Reserved
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
*
* Divide By 1
*/
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
*
* Divide By 2
*/
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
*
* Divide By 4
*/
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV4 0x2
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
*
* Divide By 8
*/
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV8 0x3
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
*
* Divide By 16
*/
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV16 0x4
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_1 0x5
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_2 0x6
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_3 0x7
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_MSB 5
/* The width in bits of the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_WIDTH 3
/* The mask used to set the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field value. */
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_SET_MSK 0x00000038
/* The mask used to clear the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field value. */
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_CLR_MSK 0xffffffc7
/* The reset value of the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_DIV_SPIMCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_GET(value) (((value) & 0x00000038) >> 3)
/* Produces a ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_SET(value) (((value) << 3) & 0x00000038)
/*
* Field : CAN0 Clock Divider - can0clk
*
* The can0_clk is divided down from the periph_base_clk by the value specified in
* this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :---------------------------------------|:------|:-------------
* ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV1 | 0x0 | Divide By 1
* ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV2 | 0x1 | Divide By 2
* ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV4 | 0x2 | Divide By 4
* ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV8 | 0x3 | Divide By 8
* ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV16 | 0x4 | Divide By 16
* ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_1 | 0x5 | Reserved
* ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_2 | 0x6 | Reserved
* ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_3 | 0x7 | Reserved
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
*
* Divide By 1
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
*
* Divide By 2
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
*
* Divide By 4
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV4 0x2
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
*
* Divide By 8
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV8 0x3
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
*
* Divide By 16
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV16 0x4
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_1 0x5
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_2 0x6
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_3 0x7
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_LSB 6
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_MSB 8
/* The width in bits of the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_WIDTH 3
/* The mask used to set the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field value. */
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_SET_MSK 0x000001c0
/* The mask used to clear the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field value. */
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_CLR_MSK 0xfffffe3f
/* The reset value of the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_DIV_CAN0CLK field value from a register. */
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_GET(value) (((value) & 0x000001c0) >> 6)
/* Produces a ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_SET(value) (((value) << 6) & 0x000001c0)
/*
* Field : CAN1 Clock Divider - can1clk
*
* The can1_clk is divided down from the periph_base_clk by the value specified in
* this field.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :---------------------------------------|:------|:-------------
* ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV1 | 0x0 | Divide By 1
* ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV2 | 0x1 | Divide By 2
* ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV4 | 0x2 | Divide By 4
* ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV8 | 0x3 | Divide By 8
* ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV16 | 0x4 | Divide By 16
* ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_1 | 0x5 | Reserved
* ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_2 | 0x6 | Reserved
* ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_3 | 0x7 | Reserved
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
*
* Divide By 1
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
*
* Divide By 2
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
*
* Divide By 4
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV4 0x2
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
*
* Divide By 8
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV8 0x3
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
*
* Divide By 16
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV16 0x4
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_1 0x5
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_2 0x6
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
*
* Reserved
*/
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_3 0x7
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_LSB 9
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_MSB 11
/* The width in bits of the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_WIDTH 3
/* The mask used to set the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field value. */
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_SET_MSK 0x00000e00
/* The mask used to clear the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field value. */
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_CLR_MSK 0xfffff1ff
/* The reset value of the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field. */
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_DIV_CAN1CLK field value from a register. */
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_GET(value) (((value) & 0x00000e00) >> 9)
/* Produces a ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_SET(value) (((value) << 9) & 0x00000e00)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_DIV.
*/
struct ALT_CLKMGR_PERPLL_DIV_s
{
uint32_t usbclk : 3; /* USB Clock Divider */
uint32_t spimclk : 3; /* SPI Master Clock Divider */
uint32_t can0clk : 3; /* CAN0 Clock Divider */
uint32_t can1clk : 3; /* CAN1 Clock Divider */
uint32_t : 20; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_DIV. */
typedef volatile struct ALT_CLKMGR_PERPLL_DIV_s ALT_CLKMGR_PERPLL_DIV_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_DIV register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_DIV_OFST 0x24
/*
* Register : GPIO Divide Register - gpiodiv
*
* Contains a field that controls the clock divider for the GPIO De-bounce clock.
*
* Only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:-----------------------------
* [23:0] | RW | 0x1 | GPIO De-bounce Clock Divider
* [31:24] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : GPIO De-bounce Clock Divider - gpiodbclk
*
* The gpio_db_clk is divided down from the periph_base_clk by the value plus one
* specified in this field. The value 0 (divide by 1) is illegal. A value of 1
* indicates divide by 2, 2 divide by 3, etc.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field. */
#define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field. */
#define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_MSB 23
/* The width in bits of the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field. */
#define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_WIDTH 24
/* The mask used to set the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field value. */
#define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_SET_MSK 0x00ffffff
/* The mask used to clear the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field value. */
#define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_CLR_MSK 0xff000000
/* The reset value of the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field. */
#define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK field value from a register. */
#define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_GET(value) (((value) & 0x00ffffff) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_SET(value) (((value) << 0) & 0x00ffffff)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_GPIODIV.
*/
struct ALT_CLKMGR_PERPLL_GPIODIV_s
{
uint32_t gpiodbclk : 24; /* GPIO De-bounce Clock Divider */
uint32_t : 8; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_GPIODIV. */
typedef volatile struct ALT_CLKMGR_PERPLL_GPIODIV_s ALT_CLKMGR_PERPLL_GPIODIV_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_GPIODIV register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_GPIODIV_OFST 0x28
/*
* Register : Flash Clock Source Register - src
*
* Contains fields that select the source clocks for the flash controllers.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:-------------------
* [1:0] | RW | 0x1 | SDMMC Clock Source
* [3:2] | RW | 0x1 | NAND Clock Source
* [5:4] | RW | 0x1 | QSPI Clock Source
* [31:6] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : SDMMC Clock Source - sdmmc
*
* Selects the source clock for the SDMMC.
*
* Qsys and user documenation refer to f2s_periph_ref_clk as f2h_periph_ref_clk.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :-------------------------------------------------|:------|:----------------------
* ALT_CLKMGR_PERPLL_SRC_SDMMC_E_F2S_PERIPH_REF_CLK | 0x0 | f2s_periph_ref_clk
* ALT_CLKMGR_PERPLL_SRC_SDMMC_E_MAIN_NAND_CLK | 0x1 | main_nand_sdmmc_clk
* ALT_CLKMGR_PERPLL_SRC_SDMMC_E_PERIPH_NAND_CLK | 0x2 | periph_nand_sdmmc_clk
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_SDMMC
*
* f2s_periph_ref_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_E_F2S_PERIPH_REF_CLK 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_SDMMC
*
* main_nand_sdmmc_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_E_MAIN_NAND_CLK 0x1
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_SDMMC
*
* periph_nand_sdmmc_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_E_PERIPH_NAND_CLK 0x2
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_SRC_SDMMC register field. */
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_SRC_SDMMC register field. */
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_MSB 1
/* The width in bits of the ALT_CLKMGR_PERPLL_SRC_SDMMC register field. */
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_WIDTH 2
/* The mask used to set the ALT_CLKMGR_PERPLL_SRC_SDMMC register field value. */
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_SET_MSK 0x00000003
/* The mask used to clear the ALT_CLKMGR_PERPLL_SRC_SDMMC register field value. */
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_CLR_MSK 0xfffffffc
/* The reset value of the ALT_CLKMGR_PERPLL_SRC_SDMMC register field. */
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_SRC_SDMMC field value from a register. */
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_GET(value) (((value) & 0x00000003) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_SRC_SDMMC register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_SRC_SDMMC_SET(value) (((value) << 0) & 0x00000003)
/*
* Field : NAND Clock Source - nand
*
* Selects the source clock for the NAND.
*
* Qsys and user documenation refer to f2s_periph_ref_clk as f2h_periph_ref_clk.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :------------------------------------------------|:------|:----------------------
* ALT_CLKMGR_PERPLL_SRC_NAND_E_F2S_PERIPH_REF_CLK | 0x0 | f2s_periph_ref_clk
* ALT_CLKMGR_PERPLL_SRC_NAND_E_MAIN_NAND_CLK | 0x1 | main_nand_sdmmc_clk
* ALT_CLKMGR_PERPLL_SRC_NAND_E_PERIPH_NAND_CLK | 0x2 | periph_nand_sdmmc_clk
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_NAND
*
* f2s_periph_ref_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_NAND_E_F2S_PERIPH_REF_CLK 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_NAND
*
* main_nand_sdmmc_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_NAND_E_MAIN_NAND_CLK 0x1
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_NAND
*
* periph_nand_sdmmc_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_NAND_E_PERIPH_NAND_CLK 0x2
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_SRC_NAND register field. */
#define ALT_CLKMGR_PERPLL_SRC_NAND_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_SRC_NAND register field. */
#define ALT_CLKMGR_PERPLL_SRC_NAND_MSB 3
/* The width in bits of the ALT_CLKMGR_PERPLL_SRC_NAND register field. */
#define ALT_CLKMGR_PERPLL_SRC_NAND_WIDTH 2
/* The mask used to set the ALT_CLKMGR_PERPLL_SRC_NAND register field value. */
#define ALT_CLKMGR_PERPLL_SRC_NAND_SET_MSK 0x0000000c
/* The mask used to clear the ALT_CLKMGR_PERPLL_SRC_NAND register field value. */
#define ALT_CLKMGR_PERPLL_SRC_NAND_CLR_MSK 0xfffffff3
/* The reset value of the ALT_CLKMGR_PERPLL_SRC_NAND register field. */
#define ALT_CLKMGR_PERPLL_SRC_NAND_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_SRC_NAND field value from a register. */
#define ALT_CLKMGR_PERPLL_SRC_NAND_GET(value) (((value) & 0x0000000c) >> 2)
/* Produces a ALT_CLKMGR_PERPLL_SRC_NAND register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_SRC_NAND_SET(value) (((value) << 2) & 0x0000000c)
/*
* Field : QSPI Clock Source - qspi
*
* Selects the source clock for the QSPI.
*
* Qsys and user documenation refer to f2s_periph_ref_clk as f2h_periph_ref_clk.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :------------------------------------------------|:------|:-------------------
* ALT_CLKMGR_PERPLL_SRC_QSPI_E_F2S_PERIPH_REF_CLK | 0x0 | f2s_periph_ref_clk
* ALT_CLKMGR_PERPLL_SRC_QSPI_E_MAIN_QSPI_CLK | 0x1 | main_qspi_clk
* ALT_CLKMGR_PERPLL_SRC_QSPI_E_PERIPH_QSPI_CLK | 0x2 | periph_qspi_clk
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_QSPI
*
* f2s_periph_ref_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_QSPI_E_F2S_PERIPH_REF_CLK 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_QSPI
*
* main_qspi_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_QSPI_E_MAIN_QSPI_CLK 0x1
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_QSPI
*
* periph_qspi_clk
*/
#define ALT_CLKMGR_PERPLL_SRC_QSPI_E_PERIPH_QSPI_CLK 0x2
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_SRC_QSPI register field. */
#define ALT_CLKMGR_PERPLL_SRC_QSPI_LSB 4
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_SRC_QSPI register field. */
#define ALT_CLKMGR_PERPLL_SRC_QSPI_MSB 5
/* The width in bits of the ALT_CLKMGR_PERPLL_SRC_QSPI register field. */
#define ALT_CLKMGR_PERPLL_SRC_QSPI_WIDTH 2
/* The mask used to set the ALT_CLKMGR_PERPLL_SRC_QSPI register field value. */
#define ALT_CLKMGR_PERPLL_SRC_QSPI_SET_MSK 0x00000030
/* The mask used to clear the ALT_CLKMGR_PERPLL_SRC_QSPI register field value. */
#define ALT_CLKMGR_PERPLL_SRC_QSPI_CLR_MSK 0xffffffcf
/* The reset value of the ALT_CLKMGR_PERPLL_SRC_QSPI register field. */
#define ALT_CLKMGR_PERPLL_SRC_QSPI_RESET 0x1
/* Extracts the ALT_CLKMGR_PERPLL_SRC_QSPI field value from a register. */
#define ALT_CLKMGR_PERPLL_SRC_QSPI_GET(value) (((value) & 0x00000030) >> 4)
/* Produces a ALT_CLKMGR_PERPLL_SRC_QSPI register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_SRC_QSPI_SET(value) (((value) << 4) & 0x00000030)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_SRC.
*/
struct ALT_CLKMGR_PERPLL_SRC_s
{
uint32_t sdmmc : 2; /* SDMMC Clock Source */
uint32_t nand : 2; /* NAND Clock Source */
uint32_t qspi : 2; /* QSPI Clock Source */
uint32_t : 26; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_SRC. */
typedef volatile struct ALT_CLKMGR_PERPLL_SRC_s ALT_CLKMGR_PERPLL_SRC_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_SRC register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_SRC_OFST 0x2c
/*
* Register : Peripheral PLL Output Counter Reset Ack Status Register - stat
*
* Contains Output Clock Counter Reset acknowledge status.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:---------------------------------
* [5:0] | R | 0x0 | Output Counter Reset Acknowledge
* [31:6] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Output Counter Reset Acknowledge - outresetack
*
* These read only bits per PLL output indicate that the PLL has received the
* Output Reset Counter request and has gracefully stopped the respective PLL
* output clock.
*
* For software to change the PLL output counter without producing glitches on the
* respective clock, SW must set the VCO register respective Output Counter Reset
* bit. Software then polls the respective Output Counter Reset Acknowledge bit in
* the Output Counter Reset Ack Status Register. Software then writes the
* appropriate counter register, and then clears the respective VCO register Output
* Counter Reset bit.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :-------------------------------------------|:------|:-------------------------------------
* ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_E_IDLE | 0x0 | Idle
* ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_E_ACK_RXD | 0x1 | Output Counter Acknowledge received.
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_STAT_OUTRSTACK
*
* Idle
*/
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_E_IDLE 0x0
/*
* Enumerated value for register field ALT_CLKMGR_PERPLL_STAT_OUTRSTACK
*
* Output Counter Acknowledge received.
*/
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_E_ACK_RXD 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_MSB 5
/* The width in bits of the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_WIDTH 6
/* The mask used to set the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field value. */
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_SET_MSK 0x0000003f
/* The mask used to clear the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field value. */
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_CLR_MSK 0xffffffc0
/* The reset value of the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_RESET 0x0
/* Extracts the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK field value from a register. */
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_GET(value) (((value) & 0x0000003f) >> 0)
/* Produces a ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field value suitable for setting the register. */
#define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_SET(value) (((value) << 0) & 0x0000003f)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_PERPLL_STAT.
*/
struct ALT_CLKMGR_PERPLL_STAT_s
{
const uint32_t outresetack : 6; /* Output Counter Reset Acknowledge */
uint32_t : 26; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_PERPLL_STAT. */
typedef volatile struct ALT_CLKMGR_PERPLL_STAT_s ALT_CLKMGR_PERPLL_STAT_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_PERPLL_STAT register from the beginning of the component. */
#define ALT_CLKMGR_PERPLL_STAT_OFST 0x30
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register group ALT_CLKMGR_PERPLL.
*/
struct ALT_CLKMGR_PERPLL_s
{
volatile ALT_CLKMGR_PERPLL_VCO_t vco; /* ALT_CLKMGR_PERPLL_VCO */
volatile ALT_CLKMGR_PERPLL_MISC_t misc; /* ALT_CLKMGR_PERPLL_MISC */
volatile ALT_CLKMGR_PERPLL_EMAC0CLK_t emac0clk; /* ALT_CLKMGR_PERPLL_EMAC0CLK */
volatile ALT_CLKMGR_PERPLL_EMAC1CLK_t emac1clk; /* ALT_CLKMGR_PERPLL_EMAC1CLK */
volatile ALT_CLKMGR_PERPLL_PERQSPICLK_t perqspiclk; /* ALT_CLKMGR_PERPLL_PERQSPICLK */
volatile ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_t pernandsdmmcclk; /* ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK */
volatile ALT_CLKMGR_PERPLL_PERBASECLK_t perbaseclk; /* ALT_CLKMGR_PERPLL_PERBASECLK */
volatile ALT_CLKMGR_PERPLL_S2FUSER1CLK_t s2fuser1clk; /* ALT_CLKMGR_PERPLL_S2FUSER1CLK */
volatile ALT_CLKMGR_PERPLL_EN_t en; /* ALT_CLKMGR_PERPLL_EN */
volatile ALT_CLKMGR_PERPLL_DIV_t div; /* ALT_CLKMGR_PERPLL_DIV */
volatile ALT_CLKMGR_PERPLL_GPIODIV_t gpiodiv; /* ALT_CLKMGR_PERPLL_GPIODIV */
volatile ALT_CLKMGR_PERPLL_SRC_t src; /* ALT_CLKMGR_PERPLL_SRC */
volatile ALT_CLKMGR_PERPLL_STAT_t stat; /* ALT_CLKMGR_PERPLL_STAT */
volatile uint32_t _pad_0x34_0x40[3]; /* *UNDEFINED* */
};
/* The typedef declaration for register group ALT_CLKMGR_PERPLL. */
typedef volatile struct ALT_CLKMGR_PERPLL_s ALT_CLKMGR_PERPLL_t;
/* The struct declaration for the raw register contents of register group ALT_CLKMGR_PERPLL. */
struct ALT_CLKMGR_PERPLL_raw_s
{
volatile uint32_t vco; /* ALT_CLKMGR_PERPLL_VCO */
volatile uint32_t misc; /* ALT_CLKMGR_PERPLL_MISC */
volatile uint32_t emac0clk; /* ALT_CLKMGR_PERPLL_EMAC0CLK */
volatile uint32_t emac1clk; /* ALT_CLKMGR_PERPLL_EMAC1CLK */
volatile uint32_t perqspiclk; /* ALT_CLKMGR_PERPLL_PERQSPICLK */
volatile uint32_t pernandsdmmcclk; /* ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK */
volatile uint32_t perbaseclk; /* ALT_CLKMGR_PERPLL_PERBASECLK */
volatile uint32_t s2fuser1clk; /* ALT_CLKMGR_PERPLL_S2FUSER1CLK */
volatile uint32_t en; /* ALT_CLKMGR_PERPLL_EN */
volatile uint32_t div; /* ALT_CLKMGR_PERPLL_DIV */
volatile uint32_t gpiodiv; /* ALT_CLKMGR_PERPLL_GPIODIV */
volatile uint32_t src; /* ALT_CLKMGR_PERPLL_SRC */
volatile uint32_t stat; /* ALT_CLKMGR_PERPLL_STAT */
volatile uint32_t _pad_0x34_0x40[3]; /* *UNDEFINED* */
};
/* The typedef declaration for the raw register contents of register group ALT_CLKMGR_PERPLL. */
typedef volatile struct ALT_CLKMGR_PERPLL_raw_s ALT_CLKMGR_PERPLL_raw_t;
#endif /* __ASSEMBLY__ */
/*
* Register Group : SDRAM PLL Group - ALT_CLKMGR_SDRPLL
* SDRAM PLL Group
*
* Contains registers with settings for the SDRAM PLL.
*
*/
/*
* Register : SDRAM PLL VCO Control Register - vco
*
* Contains settings that control the SDRAM PLL VCO. The VCO output frequency is
* the input frequency multiplied by the numerator (M+1) and divided by the
* denominator (N+1).
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:--------------------------------
* [0] | RW | 0x1 | BG PWRDN
* [1] | RW | 0x0 | Enable
* [2] | RW | 0x1 | Power down
* [15:3] | RW | 0x1 | Numerator (M)
* [21:16] | RW | 0x1 | Denominator (N)
* [23:22] | RW | 0x0 | Clock Source
* [24] | RW | 0x0 | SDRAM All Output Counter Reset
* [30:25] | RW | 0x0 | Output Counter Reset
* [31] | RW | 0x1 | External Regulator Input Select
*
*/
/*
* Field : BG PWRDN - bgpwrdn
*
* If '1', powers down bandgap. If '0', bandgap is not power down.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_MSB 0
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Enable - en
*
* If '1', VCO is enabled. If '0', VCO is in reset.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_EN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_EN_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_EN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_EN_MSB 1
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_EN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_EN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_EN register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_EN_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_EN register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_EN_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_EN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_EN_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_EN field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_EN_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_EN register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_EN_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : Power down - pwrdn
*
* If '1', power down analog circuitry. If '0', analog circuitry not powered down.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_PWRDN_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_PWRDN_MSB 2
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_PWRDN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_PWRDN_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_PWRDN_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field. */
#define ALT_CLKMGR_SDRPLL_VCO_PWRDN_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_PWRDN field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_PWRDN_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_PWRDN register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_PWRDN_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : Numerator (M) - numer
*
* Numerator in VCO output frequency equation. For incremental frequency change, if
* the new value lead to less than 20% of the frequency change, this value can be
* changed without resetting the PLL. The Numerator and Denominator can not be
* changed at the same time for incremental frequency changed.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_SDRPLL_VCO_NUMER_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_SDRPLL_VCO_NUMER_MSB 15
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_SDRPLL_VCO_NUMER_WIDTH 13
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_NUMER register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_NUMER_SET_MSK 0x0000fff8
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_NUMER register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_NUMER_CLR_MSK 0xffff0007
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_NUMER register field. */
#define ALT_CLKMGR_SDRPLL_VCO_NUMER_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_NUMER field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_NUMER_GET(value) (((value) & 0x0000fff8) >> 3)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_NUMER register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_NUMER_SET(value) (((value) << 3) & 0x0000fff8)
/*
* Field : Denominator (N) - denom
*
* Denominator in VCO output frequency equation. For incremental frequency change,
* if the new value lead to less than 20% of the frequency change, this value can
* be changed without resetting the PLL. The Numerator and Denominator can not be
* changed at the same time for incremental frequency changed.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_SDRPLL_VCO_DENOM_LSB 16
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_SDRPLL_VCO_DENOM_MSB 21
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_SDRPLL_VCO_DENOM_WIDTH 6
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_DENOM register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_DENOM_SET_MSK 0x003f0000
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_DENOM register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_DENOM_CLR_MSK 0xffc0ffff
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_DENOM register field. */
#define ALT_CLKMGR_SDRPLL_VCO_DENOM_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_DENOM field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_DENOM_GET(value) (((value) & 0x003f0000) >> 16)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_DENOM register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_DENOM_SET(value) (((value) << 16) & 0x003f0000)
/*
* Field : Clock Source - ssrc
*
* Controls the VCO input clock source. The PLL must by bypassed to eosc1_clk
* before changing this field.
*
* Qsys and user documenation refer to f2s_sdram_ref_clk as f2h_sdram_ref_clk.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :-------------------------------------------|:------|:------------------
* ALT_CLKMGR_SDRPLL_VCO_SSRC_E_EOSC1 | 0x0 | eosc1_clk
* ALT_CLKMGR_SDRPLL_VCO_SSRC_E_EOSC2 | 0x1 | eosc2_clk
* ALT_CLKMGR_SDRPLL_VCO_SSRC_E_F2S_SDRAM_REF | 0x2 | f2s_sdram_ref_clk
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_SDRPLL_VCO_SSRC
*
* eosc1_clk
*/
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_E_EOSC1 0x0
/*
* Enumerated value for register field ALT_CLKMGR_SDRPLL_VCO_SSRC
*
* eosc2_clk
*/
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_E_EOSC2 0x1
/*
* Enumerated value for register field ALT_CLKMGR_SDRPLL_VCO_SSRC
*
* f2s_sdram_ref_clk
*/
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_E_F2S_SDRAM_REF 0x2
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_SSRC register field. */
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_LSB 22
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_SSRC register field. */
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_MSB 23
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_SSRC register field. */
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_WIDTH 2
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_SSRC register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_SET_MSK 0x00c00000
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_SSRC register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_CLR_MSK 0xff3fffff
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_SSRC register field. */
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_SSRC field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_GET(value) (((value) & 0x00c00000) >> 22)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_SSRC register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_SSRC_SET(value) (((value) << 22) & 0x00c00000)
/*
* Field : SDRAM All Output Counter Reset - outresetall
*
* Before releasing Bypass, All Output Counter Reset must be set and cleared by
* software for correct clock operation.
*
* If '1', Reset phase multiplexer and output counter state. So that after the
* assertion all the clocks output are start from rising edge align.
*
* If '0', phase multiplexer and output counter state not reset and no change to
* the phase of the clock outputs.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_LSB 24
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_MSB 24
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_SET_MSK 0x01000000
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_CLR_MSK 0xfeffffff
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_GET(value) (((value) & 0x01000000) >> 24)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_SET(value) (((value) << 24) & 0x01000000)
/*
* Field : Output Counter Reset - outreset
*
* Resets the individual PLL output counter.
*
* For software to change the PLL output counter without producing glitches on the
* respective clock, SW must set the VCO register respective Output Counter Reset
* bit. Software then polls the respective Output Counter Reset Acknowledge bit in
* the Output Counter Reset Ack Status Register. Software then writes the
* appropriate counter register, and then clears the respective VCO register Output
* Counter Reset bit.
*
* LSB 'outreset[0]' corresponds to PLL output clock C0, etc.
*
* If set to '1', reset output divider, no clock output from counter.
*
* If set to '0', counter is not reset.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRST_LSB 25
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRST_MSB 30
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRST_WIDTH 6
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRST_SET_MSK 0x7e000000
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRST_CLR_MSK 0x81ffffff
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRST_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_OUTRST field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRST_GET(value) (((value) & 0x7e000000) >> 25)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_OUTRST register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_OUTRST_SET(value) (((value) << 25) & 0x7e000000)
/*
* Field : External Regulator Input Select - regextsel
*
* If set to '1', the external regulator is selected for the PLL.
*
* If set to '0', the internal regulator is slected.
*
* It is strongly recommended to select the external regulator while the PLL is not
* enabled (in reset), and then disable the external regulater once the PLL
* becomes enabled. Software should simulateously update the 'Enable' bit and the
* 'External Regulator Input Select' in the same write access to the VCO register.
* When the 'Enable' bit is clear, the 'External Regulator Input Select' should be
* set, and vice versa.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_LSB 31
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_MSB 31
/* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_SET_MSK 0x80000000
/* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field value. */
#define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_CLR_MSK 0x7fffffff
/* The reset value of the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field. */
#define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL field value from a register. */
#define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_GET(value) (((value) & 0x80000000) >> 31)
/* Produces a ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_SET(value) (((value) << 31) & 0x80000000)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_SDRPLL_VCO.
*/
struct ALT_CLKMGR_SDRPLL_VCO_s
{
uint32_t bgpwrdn : 1; /* BG PWRDN */
uint32_t en : 1; /* Enable */
uint32_t pwrdn : 1; /* Power down */
uint32_t numer : 13; /* Numerator (M) */
uint32_t denom : 6; /* Denominator (N) */
uint32_t ssrc : 2; /* Clock Source */
uint32_t outresetall : 1; /* SDRAM All Output Counter Reset */
uint32_t outreset : 6; /* Output Counter Reset */
uint32_t regextsel : 1; /* External Regulator Input Select */
};
/* The typedef declaration for register ALT_CLKMGR_SDRPLL_VCO. */
typedef volatile struct ALT_CLKMGR_SDRPLL_VCO_s ALT_CLKMGR_SDRPLL_VCO_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_SDRPLL_VCO register from the beginning of the component. */
#define ALT_CLKMGR_SDRPLL_VCO_OFST 0x0
/*
* Register : SDRAM PLL VCO Advanced Control Register - ctrl
*
* Contains VCO control signals and other PLL control signals need to be
* controllable through register.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:------------------------------
* [0] | RW | 0x0 | Loop Bandwidth Adjust Enabled
* [12:1] | RW | 0x1 | Loop Bandwidth Adjust
* [13] | RW | 0x0 | Fast Locking Enable
* [14] | RW | 0x1 | Saturation Enable
* [31:15] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Loop Bandwidth Adjust Enabled - bwadjen
*
* If set to 1, the Loop Bandwidth Adjust value comes from the Loop Bandwidth
* Adjust field.
*
* If set to 0, the Loop Bandwidth Adjust value equals the M field divided by 2
* value of the VCO Control Register. The M divided by 2 is the upper 12 bits
* (12:1) of the M field in the VCO register.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_MSB 0
/* The width in bits of the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field value. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field value. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_CTL_BWADJEN field value from a register. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : Loop Bandwidth Adjust - bwadj
*
* Provides Loop Bandwidth Adjust value.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJ_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJ_MSB 12
/* The width in bits of the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJ_WIDTH 12
/* The mask used to set the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field value. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJ_SET_MSK 0x00001ffe
/* The mask used to clear the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field value. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJ_CLR_MSK 0xffffe001
/* The reset value of the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJ_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_CTL_BWADJ field value from a register. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJ_GET(value) (((value) & 0x00001ffe) >> 1)
/* Produces a ALT_CLKMGR_SDRPLL_CTL_BWADJ register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_CTL_BWADJ_SET(value) (((value) << 1) & 0x00001ffe)
/*
* Field : Fast Locking Enable - fasten
*
* Enables fast locking circuit.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_FASTEN_LSB 13
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_FASTEN_MSB 13
/* The width in bits of the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_FASTEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field value. */
#define ALT_CLKMGR_SDRPLL_CTL_FASTEN_SET_MSK 0x00002000
/* The mask used to clear the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field value. */
#define ALT_CLKMGR_SDRPLL_CTL_FASTEN_CLR_MSK 0xffffdfff
/* The reset value of the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_FASTEN_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_CTL_FASTEN field value from a register. */
#define ALT_CLKMGR_SDRPLL_CTL_FASTEN_GET(value) (((value) & 0x00002000) >> 13)
/* Produces a ALT_CLKMGR_SDRPLL_CTL_FASTEN register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_CTL_FASTEN_SET(value) (((value) << 13) & 0x00002000)
/*
* Field : Saturation Enable - saten
*
* Enables saturation behavior.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_CTL_SATEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_SATEN_LSB 14
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_CTL_SATEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_SATEN_MSB 14
/* The width in bits of the ALT_CLKMGR_SDRPLL_CTL_SATEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_SATEN_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_CTL_SATEN register field value. */
#define ALT_CLKMGR_SDRPLL_CTL_SATEN_SET_MSK 0x00004000
/* The mask used to clear the ALT_CLKMGR_SDRPLL_CTL_SATEN register field value. */
#define ALT_CLKMGR_SDRPLL_CTL_SATEN_CLR_MSK 0xffffbfff
/* The reset value of the ALT_CLKMGR_SDRPLL_CTL_SATEN register field. */
#define ALT_CLKMGR_SDRPLL_CTL_SATEN_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_CTL_SATEN field value from a register. */
#define ALT_CLKMGR_SDRPLL_CTL_SATEN_GET(value) (((value) & 0x00004000) >> 14)
/* Produces a ALT_CLKMGR_SDRPLL_CTL_SATEN register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_CTL_SATEN_SET(value) (((value) << 14) & 0x00004000)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_SDRPLL_CTL.
*/
struct ALT_CLKMGR_SDRPLL_CTL_s
{
uint32_t bwadjen : 1; /* Loop Bandwidth Adjust Enabled */
uint32_t bwadj : 12; /* Loop Bandwidth Adjust */
uint32_t fasten : 1; /* Fast Locking Enable */
uint32_t saten : 1; /* Saturation Enable */
uint32_t : 17; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_SDRPLL_CTL. */
typedef volatile struct ALT_CLKMGR_SDRPLL_CTL_s ALT_CLKMGR_SDRPLL_CTL_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_SDRPLL_CTL register from the beginning of the component. */
#define ALT_CLKMGR_SDRPLL_CTL_OFST 0x4
/*
* Register : SDRAM PLL C0 Control Register for Clock ddr_dqs_clk - ddrdqsclk
*
* Contains settings that control clock ddr_dqs_clk generated from the C0 output of
* the SDRAM PLL.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [20:9] | RW | 0x0 | Phase Shift
* [31:21] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field value. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field value. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT field value from a register. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
/*
* Field : Phase Shift - phase
*
* Increment the phase of the VCO output by the value in this field multiplied by
* 45 degrees. The accumulated phase shift is the total shifted amount since the
* last assertion of the 'SDRAM All Output Divider Reset' bit in the SDRAM vco
* control register. In order to guarantee the phase shift to a known value, 'SDRAM
* clocks output phase align' bit should be asserted before programming this field.
*
* This field is only writeable by SW when it is zero. HW updates this field in
* real time as the phase adjustment is being made. SW may poll this field
* waiting for zero indicating the phase adjustment has completed by HW.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_LSB 9
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_MSB 20
/* The width in bits of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_WIDTH 12
/* The mask used to set the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field value. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_SET_MSK 0x001ffe00
/* The mask used to clear the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field value. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_CLR_MSK 0xffe001ff
/* The reset value of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE field value from a register. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_GET(value) (((value) & 0x001ffe00) >> 9)
/* Produces a ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_SET(value) (((value) << 9) & 0x001ffe00)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_SDRPLL_DDRDQSCLK.
*/
struct ALT_CLKMGR_SDRPLL_DDRDQSCLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t phase : 12; /* Phase Shift */
uint32_t : 11; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_SDRPLL_DDRDQSCLK. */
typedef volatile struct ALT_CLKMGR_SDRPLL_DDRDQSCLK_s ALT_CLKMGR_SDRPLL_DDRDQSCLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_SDRPLL_DDRDQSCLK register from the beginning of the component. */
#define ALT_CLKMGR_SDRPLL_DDRDQSCLK_OFST 0x8
/*
* Register : SDRAM PLL C1 Control Register for Clock ddr_2x_dqs_clk - ddr2xdqsclk
*
* Contains settings that control clock ddr_2x_dqs_clk generated from the C1 output
* of the SDRAM PLL.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [20:9] | RW | 0x0 | Phase Shift
* [31:21] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field value. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field value. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT field value from a register. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
/*
* Field : Phase Shift - phase
*
* Increment the phase of the VCO output by the value in this field multiplied by
* 45 degrees. The accumulated phase shift is the total shifted amount since the
* last assertion of the 'SDRAM All Output Divider Reset' bit in the SDRAM vco
* control register. In order to guarantee the phase shift to a known value, 'SDRAM
* clocks output phase align' bit should be asserted before programming this field.
*
* This field is only writeable by SW when it is zero. HW updates this field in
* real time as the phase adjustment is being made. SW may poll this field
* waiting for zero indicating the phase adjustment has completed by HW.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_LSB 9
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_MSB 20
/* The width in bits of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_WIDTH 12
/* The mask used to set the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field value. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_SET_MSK 0x001ffe00
/* The mask used to clear the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field value. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_CLR_MSK 0xffe001ff
/* The reset value of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE field value from a register. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_GET(value) (((value) & 0x001ffe00) >> 9)
/* Produces a ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_SET(value) (((value) << 9) & 0x001ffe00)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_SDRPLL_DDR2XDQSCLK.
*/
struct ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t phase : 12; /* Phase Shift */
uint32_t : 11; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_SDRPLL_DDR2XDQSCLK. */
typedef volatile struct ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_s ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK register from the beginning of the component. */
#define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_OFST 0xc
/*
* Register : SDRAM PLL C2 Control Register for Clock ddr_dq_clk - ddrdqclk
*
* Contains settings that control clock ddr_dq_clk generated from the C2 output of
* the SDRAM PLL.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [20:9] | RW | 0x0 | Phase Shift
* [31:21] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field value. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field value. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT field value from a register. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
/*
* Field : Phase Shift - phase
*
* Increment the phase of the VCO output by the value in this field multiplied by
* 45 degrees. The accumulated phase shift is the total shifted amount since the
* last assertion of the 'SDRAM All Output Divider Reset' bit in the SDRAM vco
* control register. In order to guarantee the phase shift to a known value, 'SDRAM
* clocks output phase align' bit should be asserted before programming this field.
*
* This field is only writeable by SW when it is zero. HW updates this field in
* real time as the phase adjustment is being made. SW may poll this field
* waiting for zero indicating the phase adjustment has completed by HW.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_LSB 9
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_MSB 20
/* The width in bits of the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_WIDTH 12
/* The mask used to set the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field value. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_SET_MSK 0x001ffe00
/* The mask used to clear the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field value. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_CLR_MSK 0xffe001ff
/* The reset value of the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE field value from a register. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_GET(value) (((value) & 0x001ffe00) >> 9)
/* Produces a ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_SET(value) (((value) << 9) & 0x001ffe00)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_SDRPLL_DDRDQCLK.
*/
struct ALT_CLKMGR_SDRPLL_DDRDQCLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t phase : 12; /* Phase Shift */
uint32_t : 11; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_SDRPLL_DDRDQCLK. */
typedef volatile struct ALT_CLKMGR_SDRPLL_DDRDQCLK_s ALT_CLKMGR_SDRPLL_DDRDQCLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_SDRPLL_DDRDQCLK register from the beginning of the component. */
#define ALT_CLKMGR_SDRPLL_DDRDQCLK_OFST 0x10
/*
* Register : SDRAM PLL C5 Control Register for Clock s2f_user2_clk - s2fuser2clk
*
* Contains settings that control clock s2f_user2_clk generated from the C5 output
* of the SDRAM PLL.
*
* Qsys and user documenation refer to s2f_user2_clk as h2f_user2_clk
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :--------|:-------|:------|:------------
* [8:0] | RW | 0x1 | Counter
* [20:9] | RW | 0x0 | Phase Shift
* [31:21] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Counter - cnt
*
* Divides the VCO frequency by the value+1 in this field.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_MSB 8
/* The width in bits of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_WIDTH 9
/* The mask used to set the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field value. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_SET_MSK 0x000001ff
/* The mask used to clear the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field value. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_CLR_MSK 0xfffffe00
/* The reset value of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT field value from a register. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
/* Produces a ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
/*
* Field : Phase Shift - phase
*
* Increment the phase of the VCO output by the value in this field multiplied by
* 45 degrees. The accumulated phase shift is the total shifted amount since the
* last assertion of the 'SDRAM All Output Divider Reset' bit in the SDRAM vco
* control register. In order to guarantee the phase shift to a known value, 'SDRAM
* clocks output phase align' bit should be asserted before programming this field.
*
* This field is only writeable by SW when it is zero. HW updates this field in
* real time as the phase adjustment is being made. SW may poll this field
* waiting for zero indicating the phase adjustment has completed by HW.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_LSB 9
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_MSB 20
/* The width in bits of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_WIDTH 12
/* The mask used to set the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field value. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_SET_MSK 0x001ffe00
/* The mask used to clear the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field value. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_CLR_MSK 0xffe001ff
/* The reset value of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE field value from a register. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_GET(value) (((value) & 0x001ffe00) >> 9)
/* Produces a ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_SET(value) (((value) << 9) & 0x001ffe00)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_SDRPLL_S2FUSER2CLK.
*/
struct ALT_CLKMGR_SDRPLL_S2FUSER2CLK_s
{
uint32_t cnt : 9; /* Counter */
uint32_t phase : 12; /* Phase Shift */
uint32_t : 11; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_SDRPLL_S2FUSER2CLK. */
typedef volatile struct ALT_CLKMGR_SDRPLL_S2FUSER2CLK_s ALT_CLKMGR_SDRPLL_S2FUSER2CLK_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK register from the beginning of the component. */
#define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_OFST 0x14
/*
* Register : Enable Register - en
*
* Contains fields that control the SDRAM Clock Group enables generated from the
* SDRAM PLL clock outputs.
*
* 1: The clock is enabled.
*
* 0: The clock is disabled.
*
* Fields are only reset by a cold reset.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:----------------------
* [0] | RW | 0x1 | ddr_dqs_clk Enable
* [1] | RW | 0x1 | ddr_2x_dqs_clk Enable
* [2] | RW | 0x1 | ddr_dq_clk Enable
* [3] | RW | 0x1 | s2f_user2_clk Enable
* [31:4] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : ddr_dqs_clk Enable - ddrdqsclk
*
* Enables clock ddr_dqs_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_MSB 0
/* The width in bits of the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field value. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_SET_MSK 0x00000001
/* The mask used to clear the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field value. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_CLR_MSK 0xfffffffe
/* The reset value of the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK field value from a register. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_GET(value) (((value) & 0x00000001) >> 0)
/* Produces a ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_SET(value) (((value) << 0) & 0x00000001)
/*
* Field : ddr_2x_dqs_clk Enable - ddr2xdqsclk
*
* Enables clock ddr_2x_dqs_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_LSB 1
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_MSB 1
/* The width in bits of the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field value. */
#define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_SET_MSK 0x00000002
/* The mask used to clear the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field value. */
#define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_CLR_MSK 0xfffffffd
/* The reset value of the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK field value from a register. */
#define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_GET(value) (((value) & 0x00000002) >> 1)
/* Produces a ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_SET(value) (((value) << 1) & 0x00000002)
/*
* Field : ddr_dq_clk Enable - ddrdqclk
*
* Enables clock ddr_dq_clk output
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_LSB 2
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_MSB 2
/* The width in bits of the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field value. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_SET_MSK 0x00000004
/* The mask used to clear the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field value. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_CLR_MSK 0xfffffffb
/* The reset value of the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK field value from a register. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_GET(value) (((value) & 0x00000004) >> 2)
/* Produces a ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_SET(value) (((value) << 2) & 0x00000004)
/*
* Field : s2f_user2_clk Enable - s2fuser2clk
*
* Enables clock s2f_user2_clk output.
*
* Qsys and user documenation refer to s2f_user2_clk as h2f_user2_clk.
*
* Field Access Macros:
*
*/
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_LSB 3
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_MSB 3
/* The width in bits of the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_WIDTH 1
/* The mask used to set the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field value. */
#define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_SET_MSK 0x00000008
/* The mask used to clear the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field value. */
#define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_CLR_MSK 0xfffffff7
/* The reset value of the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field. */
#define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_RESET 0x1
/* Extracts the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK field value from a register. */
#define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_GET(value) (((value) & 0x00000008) >> 3)
/* Produces a ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_SET(value) (((value) << 3) & 0x00000008)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_SDRPLL_EN.
*/
struct ALT_CLKMGR_SDRPLL_EN_s
{
uint32_t ddrdqsclk : 1; /* ddr_dqs_clk Enable */
uint32_t ddr2xdqsclk : 1; /* ddr_2x_dqs_clk Enable */
uint32_t ddrdqclk : 1; /* ddr_dq_clk Enable */
uint32_t s2fuser2clk : 1; /* s2f_user2_clk Enable */
uint32_t : 28; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_SDRPLL_EN. */
typedef volatile struct ALT_CLKMGR_SDRPLL_EN_s ALT_CLKMGR_SDRPLL_EN_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_SDRPLL_EN register from the beginning of the component. */
#define ALT_CLKMGR_SDRPLL_EN_OFST 0x18
/*
* Register : SDRAM PLL Output Counter Reset Ack Status Register - stat
*
* Contains Output Clock Counter Reset acknowledge status.
*
* Register Layout
*
* Bits | Access | Reset | Description
* :-------|:-------|:------|:---------------------------------
* [5:0] | R | 0x0 | Output Counter Reset Acknowledge
* [31:6] | ??? | 0x0 | *UNDEFINED*
*
*/
/*
* Field : Output Counter Reset Acknowledge - outresetack
*
* These read only bits per PLL output indicate that the PLL has received the
* Output Reset Counter request and has gracefully stopped the respective PLL
* output clock.
*
* For software to change the PLL output counter without producing glitches on the
* respective clock, SW must set the VCO register respective Output Counter Reset
* bit. Software then polls the respective Output Counter Reset Acknowledge bit in
* the Output Counter Reset Ack Status Register. Software then writes the
* appropriate counter register, and then clears the respective VCO register Output
* Counter Reset bit.
*
* The reset value of this bit is applied on a cold reset; warm reset has no affect
* on this bit.
*
* Field Enumeration Values:
*
* Enum | Value | Description
* :-------------------------------------------|:------|:-------------------------------------
* ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_E_IDLE | 0x0 | Idle
* ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_E_ACK_RXD | 0x1 | Output Counter Acknowledge received.
*
* Field Access Macros:
*
*/
/*
* Enumerated value for register field ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK
*
* Idle
*/
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_E_IDLE 0x0
/*
* Enumerated value for register field ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK
*
* Output Counter Acknowledge received.
*/
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_E_ACK_RXD 0x1
/* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_LSB 0
/* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_MSB 5
/* The width in bits of the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_WIDTH 6
/* The mask used to set the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field value. */
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_SET_MSK 0x0000003f
/* The mask used to clear the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field value. */
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_CLR_MSK 0xffffffc0
/* The reset value of the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field. */
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_RESET 0x0
/* Extracts the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK field value from a register. */
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_GET(value) (((value) & 0x0000003f) >> 0)
/* Produces a ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field value suitable for setting the register. */
#define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_SET(value) (((value) << 0) & 0x0000003f)
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register ALT_CLKMGR_SDRPLL_STAT.
*/
struct ALT_CLKMGR_SDRPLL_STAT_s
{
const uint32_t outresetack : 6; /* Output Counter Reset Acknowledge */
uint32_t : 26; /* *UNDEFINED* */
};
/* The typedef declaration for register ALT_CLKMGR_SDRPLL_STAT. */
typedef volatile struct ALT_CLKMGR_SDRPLL_STAT_s ALT_CLKMGR_SDRPLL_STAT_t;
#endif /* __ASSEMBLY__ */
/* The byte offset of the ALT_CLKMGR_SDRPLL_STAT register from the beginning of the component. */
#define ALT_CLKMGR_SDRPLL_STAT_OFST 0x1c
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register group ALT_CLKMGR_SDRPLL.
*/
struct ALT_CLKMGR_SDRPLL_s
{
volatile ALT_CLKMGR_SDRPLL_VCO_t vco; /* ALT_CLKMGR_SDRPLL_VCO */
volatile ALT_CLKMGR_SDRPLL_CTL_t ctrl; /* ALT_CLKMGR_SDRPLL_CTL */
volatile ALT_CLKMGR_SDRPLL_DDRDQSCLK_t ddrdqsclk; /* ALT_CLKMGR_SDRPLL_DDRDQSCLK */
volatile ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_t ddr2xdqsclk; /* ALT_CLKMGR_SDRPLL_DDR2XDQSCLK */
volatile ALT_CLKMGR_SDRPLL_DDRDQCLK_t ddrdqclk; /* ALT_CLKMGR_SDRPLL_DDRDQCLK */
volatile ALT_CLKMGR_SDRPLL_S2FUSER2CLK_t s2fuser2clk; /* ALT_CLKMGR_SDRPLL_S2FUSER2CLK */
volatile ALT_CLKMGR_SDRPLL_EN_t en; /* ALT_CLKMGR_SDRPLL_EN */
volatile ALT_CLKMGR_SDRPLL_STAT_t stat; /* ALT_CLKMGR_SDRPLL_STAT */
};
/* The typedef declaration for register group ALT_CLKMGR_SDRPLL. */
typedef volatile struct ALT_CLKMGR_SDRPLL_s ALT_CLKMGR_SDRPLL_t;
/* The struct declaration for the raw register contents of register group ALT_CLKMGR_SDRPLL. */
struct ALT_CLKMGR_SDRPLL_raw_s
{
volatile uint32_t vco; /* ALT_CLKMGR_SDRPLL_VCO */
volatile uint32_t ctrl; /* ALT_CLKMGR_SDRPLL_CTL */
volatile uint32_t ddrdqsclk; /* ALT_CLKMGR_SDRPLL_DDRDQSCLK */
volatile uint32_t ddr2xdqsclk; /* ALT_CLKMGR_SDRPLL_DDR2XDQSCLK */
volatile uint32_t ddrdqclk; /* ALT_CLKMGR_SDRPLL_DDRDQCLK */
volatile uint32_t s2fuser2clk; /* ALT_CLKMGR_SDRPLL_S2FUSER2CLK */
volatile uint32_t en; /* ALT_CLKMGR_SDRPLL_EN */
volatile uint32_t stat; /* ALT_CLKMGR_SDRPLL_STAT */
};
/* The typedef declaration for the raw register contents of register group ALT_CLKMGR_SDRPLL. */
typedef volatile struct ALT_CLKMGR_SDRPLL_raw_s ALT_CLKMGR_SDRPLL_raw_t;
#endif /* __ASSEMBLY__ */
#ifndef __ASSEMBLY__
/*
* WARNING: The C register and register group struct declarations are provided for
* convenience and illustrative purposes. They should, however, be used with
* caution as the C language standard provides no guarantees about the alignment or
* atomicity of device memory accesses. The recommended practice for writing
* hardware drivers is to use the SoCAL access macros and alt_read_word() and
* alt_write_word() functions.
*
* The struct declaration for register group ALT_CLKMGR.
*/
struct ALT_CLKMGR_s
{
volatile ALT_CLKMGR_CTL_t ctrl; /* ALT_CLKMGR_CTL */
volatile ALT_CLKMGR_BYPASS_t bypass; /* ALT_CLKMGR_BYPASS */
volatile ALT_CLKMGR_INTER_t inter; /* ALT_CLKMGR_INTER */
volatile ALT_CLKMGR_INTREN_t intren; /* ALT_CLKMGR_INTREN */
volatile ALT_CLKMGR_DBCTL_t dbctrl; /* ALT_CLKMGR_DBCTL */
volatile ALT_CLKMGR_STAT_t stat; /* ALT_CLKMGR_STAT */
volatile uint32_t _pad_0x18_0x3f[10]; /* *UNDEFINED* */
volatile ALT_CLKMGR_MAINPLL_t mainpllgrp; /* ALT_CLKMGR_MAINPLL */
volatile ALT_CLKMGR_PERPLL_t perpllgrp; /* ALT_CLKMGR_PERPLL */
volatile ALT_CLKMGR_SDRPLL_t sdrpllgrp; /* ALT_CLKMGR_SDRPLL */
volatile uint32_t _pad_0xe0_0x200[72]; /* *UNDEFINED* */
};
/* The typedef declaration for register group ALT_CLKMGR. */
typedef volatile struct ALT_CLKMGR_s ALT_CLKMGR_t;
/* The struct declaration for the raw register contents of register group ALT_CLKMGR. */
struct ALT_CLKMGR_raw_s
{
volatile uint32_t ctrl; /* ALT_CLKMGR_CTL */
volatile uint32_t bypass; /* ALT_CLKMGR_BYPASS */
volatile uint32_t inter; /* ALT_CLKMGR_INTER */
volatile uint32_t intren; /* ALT_CLKMGR_INTREN */
volatile uint32_t dbctrl; /* ALT_CLKMGR_DBCTL */
volatile uint32_t stat; /* ALT_CLKMGR_STAT */
volatile uint32_t _pad_0x18_0x3f[10]; /* *UNDEFINED* */
volatile ALT_CLKMGR_MAINPLL_raw_t mainpllgrp; /* ALT_CLKMGR_MAINPLL */
volatile ALT_CLKMGR_PERPLL_raw_t perpllgrp; /* ALT_CLKMGR_PERPLL */
volatile ALT_CLKMGR_SDRPLL_raw_t sdrpllgrp; /* ALT_CLKMGR_SDRPLL */
volatile uint32_t _pad_0xe0_0x200[72]; /* *UNDEFINED* */
};
/* The typedef declaration for the raw register contents of register group ALT_CLKMGR. */
typedef volatile struct ALT_CLKMGR_raw_s ALT_CLKMGR_raw_t;
#endif /* __ASSEMBLY__ */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __ALTERA_ALT_CLKMGR_H__ */