📄 ps7_init.c
字号:
/******************************************************************************
*
* (c) Copyright 2003-2011 Xilinx, Inc. All rights reserved.
*
* This file contains confidential and proprietary information of Xilinx, Inc.
* and is protected under U.S. and international copyright and other
* intellectual property laws.
*
* DISCLAIMER
* This disclaimer is not a license and does not grant any rights to the
* materials distributed herewith. Except as otherwise provided in a valid
* license issued to you by Xilinx, and to the maximum extent permitted by
* applicable law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL
* FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,
* IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
* MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;
* and (2) Xilinx shall not be liable (whether in contract or tort, including
* negligence, or under any other theory of liability) for any loss or damage
* of any kind or nature related to, arising under or in connection with these
* materials, including for any direct, or any indirect, special, incidental,
* or consequential loss or damage (including loss of data, profits, goodwill,
* or any type of loss or damage suffered as a result of any action brought by
* a third party) even if such damage or loss was reasonably foreseeable or
* Xilinx had been advised of the possibility of the same.
*
* CRITICAL APPLICATIONS
* Xilinx products are not designed or intended to be fail-safe, or for use in
* any application requiring fail-safe performance, such as life-support or
* safety devices or systems, Class III medical devices, nuclear facilities,
* applications related to the deployment of airbags, or any other applications
* that could lead to death, personal injury, or severe property or
* environmental damage (individually and collectively, "Critical
* Applications"). Customer assumes the sole risk and liability of any use of
* Xilinx products in Critical Applications, subject only to applicable laws
* and regulations governing limitations on product liability.
*
* THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE
* AT ALL TIMES.
*
******************************************************************************/
/****************************************************************************/
/**
*
* @file ps7_init.c
*
* This file is automatically generated
*
*****************************************************************************/
#include "ps7_init.h"
unsigned long ps7_pll_init_data[] = {
// START: top
// .. START: SLCR SETTINGS
// .. UNLOCK_KEY = 0XDF0D
// .. ==> 0XF8000008[15:0] = 0x0000DF0DU
// .. ==> MASK : 0x0000FFFFU VAL : 0x0000DF0DU
// ..
EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU ,0x0000DF0DU),
// .. FINISH: SLCR SETTINGS
// .. START: PLL SLCR REGISTERS
// .. .. START: ARM PLL INIT
// .. .. PLL_RES = 0x2
// .. .. ==> 0XF8000110[7:4] = 0x00000002U
// .. .. ==> MASK : 0x000000F0U VAL : 0x00000020U
// .. .. PLL_CP = 0x2
// .. .. ==> 0XF8000110[11:8] = 0x00000002U
// .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
// .. .. LOCK_CNT = 0xfa
// .. .. ==> 0XF8000110[21:12] = 0x000000FAU
// .. .. ==> MASK : 0x003FF000U VAL : 0x000FA000U
// .. ..
EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U ,0x000FA220U),
// .. .. .. START: UPDATE FB_DIV
// .. .. .. PLL_FDIV = 0x28
// .. .. .. ==> 0XF8000100[18:12] = 0x00000028U
// .. .. .. ==> MASK : 0x0007F000U VAL : 0x00028000U
// .. .. ..
EMIT_MASKWRITE(0XF8000100, 0x0007F000U ,0x00028000U),
// .. .. .. FINISH: UPDATE FB_DIV
// .. .. .. START: BY PASS PLL
// .. .. .. PLL_BYPASS_FORCE = 1
// .. .. .. ==> 0XF8000100[4:4] = 0x00000001U
// .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
// .. .. ..
EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000010U),
// .. .. .. FINISH: BY PASS PLL
// .. .. .. START: ASSERT RESET
// .. .. .. PLL_RESET = 1
// .. .. .. ==> 0XF8000100[0:0] = 0x00000001U
// .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. .. ..
EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000001U),
// .. .. .. FINISH: ASSERT RESET
// .. .. .. START: DEASSERT RESET
// .. .. .. PLL_RESET = 0
// .. .. .. ==> 0XF8000100[0:0] = 0x00000000U
// .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
// .. .. ..
EMIT_MASKWRITE(0XF8000100, 0x00000001U ,0x00000000U),
// .. .. .. FINISH: DEASSERT RESET
// .. .. .. START: CHECK PLL STATUS
// .. .. .. ARM_PLL_LOCK = 1
// .. .. .. ==> 0XF800010C[0:0] = 0x00000001U
// .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. .. ..
EMIT_MASKPOLL(0XF800010C, 0x00000001U),
// .. .. .. FINISH: CHECK PLL STATUS
// .. .. .. START: REMOVE PLL BY PASS
// .. .. .. PLL_BYPASS_FORCE = 0
// .. .. .. ==> 0XF8000100[4:4] = 0x00000000U
// .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
// .. .. ..
EMIT_MASKWRITE(0XF8000100, 0x00000010U ,0x00000000U),
// .. .. .. FINISH: REMOVE PLL BY PASS
// .. .. .. SRCSEL = 0x0
// .. .. .. ==> 0XF8000120[5:4] = 0x00000000U
// .. .. .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. .. .. DIVISOR = 0x2
// .. .. .. ==> 0XF8000120[13:8] = 0x00000002U
// .. .. .. ==> MASK : 0x00003F00U VAL : 0x00000200U
// .. .. .. CPU_6OR4XCLKACT = 0x1
// .. .. .. ==> 0XF8000120[24:24] = 0x00000001U
// .. .. .. ==> MASK : 0x01000000U VAL : 0x01000000U
// .. .. .. CPU_3OR2XCLKACT = 0x1
// .. .. .. ==> 0XF8000120[25:25] = 0x00000001U
// .. .. .. ==> MASK : 0x02000000U VAL : 0x02000000U
// .. .. .. CPU_2XCLKACT = 0x1
// .. .. .. ==> 0XF8000120[26:26] = 0x00000001U
// .. .. .. ==> MASK : 0x04000000U VAL : 0x04000000U
// .. .. .. CPU_1XCLKACT = 0x1
// .. .. .. ==> 0XF8000120[27:27] = 0x00000001U
// .. .. .. ==> MASK : 0x08000000U VAL : 0x08000000U
// .. .. .. CPU_PERI_CLKACT = 0x1
// .. .. .. ==> 0XF8000120[28:28] = 0x00000001U
// .. .. .. ==> MASK : 0x10000000U VAL : 0x10000000U
// .. .. ..
EMIT_MASKWRITE(0XF8000120, 0x1F003F30U ,0x1F000200U),
// .. .. FINISH: ARM PLL INIT
// .. .. START: DDR PLL INIT
// .. .. PLL_RES = 0x2
// .. .. ==> 0XF8000114[7:4] = 0x00000002U
// .. .. ==> MASK : 0x000000F0U VAL : 0x00000020U
// .. .. PLL_CP = 0x2
// .. .. ==> 0XF8000114[11:8] = 0x00000002U
// .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
// .. .. LOCK_CNT = 0x12c
// .. .. ==> 0XF8000114[21:12] = 0x0000012CU
// .. .. ==> MASK : 0x003FF000U VAL : 0x0012C000U
// .. ..
EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U ,0x0012C220U),
// .. .. .. START: UPDATE FB_DIV
// .. .. .. PLL_FDIV = 0x20
// .. .. .. ==> 0XF8000104[18:12] = 0x00000020U
// .. .. .. ==> MASK : 0x0007F000U VAL : 0x00020000U
// .. .. ..
EMIT_MASKWRITE(0XF8000104, 0x0007F000U ,0x00020000U),
// .. .. .. FINISH: UPDATE FB_DIV
// .. .. .. START: BY PASS PLL
// .. .. .. PLL_BYPASS_FORCE = 1
// .. .. .. ==> 0XF8000104[4:4] = 0x00000001U
// .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
// .. .. ..
EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000010U),
// .. .. .. FINISH: BY PASS PLL
// .. .. .. START: ASSERT RESET
// .. .. .. PLL_RESET = 1
// .. .. .. ==> 0XF8000104[0:0] = 0x00000001U
// .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. .. ..
EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000001U),
// .. .. .. FINISH: ASSERT RESET
// .. .. .. START: DEASSERT RESET
// .. .. .. PLL_RESET = 0
// .. .. .. ==> 0XF8000104[0:0] = 0x00000000U
// .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
// .. .. ..
EMIT_MASKWRITE(0XF8000104, 0x00000001U ,0x00000000U),
// .. .. .. FINISH: DEASSERT RESET
// .. .. .. START: CHECK PLL STATUS
// .. .. .. DDR_PLL_LOCK = 1
// .. .. .. ==> 0XF800010C[1:1] = 0x00000001U
// .. .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
// .. .. ..
EMIT_MASKPOLL(0XF800010C, 0x00000002U),
// .. .. .. FINISH: CHECK PLL STATUS
// .. .. .. START: REMOVE PLL BY PASS
// .. .. .. PLL_BYPASS_FORCE = 0
// .. .. .. ==> 0XF8000104[4:4] = 0x00000000U
// .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
// .. .. ..
EMIT_MASKWRITE(0XF8000104, 0x00000010U ,0x00000000U),
// .. .. .. FINISH: REMOVE PLL BY PASS
// .. .. .. DDR_3XCLKACT = 0x1
// .. .. .. ==> 0XF8000124[0:0] = 0x00000001U
// .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. .. .. DDR_2XCLKACT = 0x1
// .. .. .. ==> 0XF8000124[1:1] = 0x00000001U
// .. .. .. ==> MASK : 0x00000002U VAL : 0x00000002U
// .. .. .. DDR_3XCLK_DIVISOR = 0x2
// .. .. .. ==> 0XF8000124[25:20] = 0x00000002U
// .. .. .. ==> MASK : 0x03F00000U VAL : 0x00200000U
// .. .. .. DDR_2XCLK_DIVISOR = 0x3
// .. .. .. ==> 0XF8000124[31:26] = 0x00000003U
// .. .. .. ==> MASK : 0xFC000000U VAL : 0x0C000000U
// .. .. ..
EMIT_MASKWRITE(0XF8000124, 0xFFF00003U ,0x0C200003U),
// .. .. FINISH: DDR PLL INIT
// .. .. START: IO PLL INIT
// .. .. PLL_RES = 0xc
// .. .. ==> 0XF8000118[7:4] = 0x0000000CU
// .. .. ==> MASK : 0x000000F0U VAL : 0x000000C0U
// .. .. PLL_CP = 0x2
// .. .. ==> 0XF8000118[11:8] = 0x00000002U
// .. .. ==> MASK : 0x00000F00U VAL : 0x00000200U
// .. .. LOCK_CNT = 0x145
// .. .. ==> 0XF8000118[21:12] = 0x00000145U
// .. .. ==> MASK : 0x003FF000U VAL : 0x00145000U
// .. ..
EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U ,0x001452C0U),
// .. .. .. START: UPDATE FB_DIV
// .. .. .. PLL_FDIV = 0x1e
// .. .. .. ==> 0XF8000108[18:12] = 0x0000001EU
// .. .. .. ==> MASK : 0x0007F000U VAL : 0x0001E000U
// .. .. ..
EMIT_MASKWRITE(0XF8000108, 0x0007F000U ,0x0001E000U),
// .. .. .. FINISH: UPDATE FB_DIV
// .. .. .. START: BY PASS PLL
// .. .. .. PLL_BYPASS_FORCE = 1
// .. .. .. ==> 0XF8000108[4:4] = 0x00000001U
// .. .. .. ==> MASK : 0x00000010U VAL : 0x00000010U
// .. .. ..
EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000010U),
// .. .. .. FINISH: BY PASS PLL
// .. .. .. START: ASSERT RESET
// .. .. .. PLL_RESET = 1
// .. .. .. ==> 0XF8000108[0:0] = 0x00000001U
// .. .. .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. .. ..
EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000001U),
// .. .. .. FINISH: ASSERT RESET
// .. .. .. START: DEASSERT RESET
// .. .. .. PLL_RESET = 0
// .. .. .. ==> 0XF8000108[0:0] = 0x00000000U
// .. .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
// .. .. ..
EMIT_MASKWRITE(0XF8000108, 0x00000001U ,0x00000000U),
// .. .. .. FINISH: DEASSERT RESET
// .. .. .. START: CHECK PLL STATUS
// .. .. .. IO_PLL_LOCK = 1
// .. .. .. ==> 0XF800010C[2:2] = 0x00000001U
// .. .. .. ==> MASK : 0x00000004U VAL : 0x00000004U
// .. .. ..
EMIT_MASKPOLL(0XF800010C, 0x00000004U),
// .. .. .. FINISH: CHECK PLL STATUS
// .. .. .. START: REMOVE PLL BY PASS
// .. .. .. PLL_BYPASS_FORCE = 0
// .. .. .. ==> 0XF8000108[4:4] = 0x00000000U
// .. .. .. ==> MASK : 0x00000010U VAL : 0x00000000U
// .. .. ..
EMIT_MASKWRITE(0XF8000108, 0x00000010U ,0x00000000U),
// .. .. .. FINISH: REMOVE PLL BY PASS
// .. .. FINISH: IO PLL INIT
// .. FINISH: PLL SLCR REGISTERS
// .. START: LOCK IT BACK
// .. LOCK_KEY = 0X767B
// .. ==> 0XF8000004[15:0] = 0x0000767BU
// .. ==> MASK : 0x0000FFFFU VAL : 0x0000767BU
// ..
EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU ,0x0000767BU),
// .. FINISH: LOCK IT BACK
// FINISH: top
//
EMIT_EXIT(),
//
};
unsigned long ps7_clock_init_data[] = {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -