📄 ps7_init.c
字号:
// 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: CLOCK CONTROL SLCR REGISTERS
// .. CLKACT = 0x0
// .. ==> 0XF8000128[0:0] = 0x00000000U
// .. ==> MASK : 0x00000001U VAL : 0x00000000U
// .. DIVISOR0 = 0x23
// .. ==> 0XF8000128[13:8] = 0x00000023U
// .. ==> MASK : 0x00003F00U VAL : 0x00002300U
// .. DIVISOR1 = 0x3
// .. ==> 0XF8000128[25:20] = 0x00000003U
// .. ==> MASK : 0x03F00000U VAL : 0x00300000U
// ..
EMIT_MASKWRITE(0XF8000128, 0x03F03F01U ,0x00302300U),
// .. CLKACT = 0x1
// .. ==> 0XF8000138[0:0] = 0x00000001U
// .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. SRCSEL = 0x0
// .. ==> 0XF8000138[4:4] = 0x00000000U
// .. ==> MASK : 0x00000010U VAL : 0x00000000U
// ..
EMIT_MASKWRITE(0XF8000138, 0x00000011U ,0x00000001U),
// .. CLKACT = 0x1
// .. ==> 0XF8000140[0:0] = 0x00000001U
// .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. SRCSEL = 0x0
// .. ==> 0XF8000140[6:4] = 0x00000000U
// .. ==> MASK : 0x00000070U VAL : 0x00000000U
// .. DIVISOR = 0x8
// .. ==> 0XF8000140[13:8] = 0x00000008U
// .. ==> MASK : 0x00003F00U VAL : 0x00000800U
// .. DIVISOR1 = 0x5
// .. ==> 0XF8000140[25:20] = 0x00000005U
// .. ==> MASK : 0x03F00000U VAL : 0x00500000U
// ..
EMIT_MASKWRITE(0XF8000140, 0x03F03F71U ,0x00500801U),
// .. CLKACT = 0x1
// .. ==> 0XF800014C[0:0] = 0x00000001U
// .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. SRCSEL = 0x2
// .. ==> 0XF800014C[5:4] = 0x00000002U
// .. ==> MASK : 0x00000030U VAL : 0x00000020U
// .. DIVISOR = 0x7
// .. ==> 0XF800014C[13:8] = 0x00000007U
// .. ==> MASK : 0x00003F00U VAL : 0x00000700U
// ..
EMIT_MASKWRITE(0XF800014C, 0x00003F31U ,0x00000721U),
// .. CLKACT0 = 0x1
// .. ==> 0XF8000150[0:0] = 0x00000001U
// .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. CLKACT1 = 0x0
// .. ==> 0XF8000150[1:1] = 0x00000000U
// .. ==> MASK : 0x00000002U VAL : 0x00000000U
// .. SRCSEL = 0x0
// .. ==> 0XF8000150[5:4] = 0x00000000U
// .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. DIVISOR = 0x14
// .. ==> 0XF8000150[13:8] = 0x00000014U
// .. ==> MASK : 0x00003F00U VAL : 0x00001400U
// ..
EMIT_MASKWRITE(0XF8000150, 0x00003F33U ,0x00001401U),
// .. CLKACT0 = 0x0
// .. ==> 0XF8000154[0:0] = 0x00000000U
// .. ==> MASK : 0x00000001U VAL : 0x00000000U
// .. CLKACT1 = 0x1
// .. ==> 0XF8000154[1:1] = 0x00000001U
// .. ==> MASK : 0x00000002U VAL : 0x00000002U
// .. SRCSEL = 0x0
// .. ==> 0XF8000154[5:4] = 0x00000000U
// .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. DIVISOR = 0x14
// .. ==> 0XF8000154[13:8] = 0x00000014U
// .. ==> MASK : 0x00003F00U VAL : 0x00001400U
// ..
EMIT_MASKWRITE(0XF8000154, 0x00003F33U ,0x00001402U),
// .. CLKACT0 = 0x1
// .. ==> 0XF800015C[0:0] = 0x00000001U
// .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. CLKACT1 = 0x0
// .. ==> 0XF800015C[1:1] = 0x00000000U
// .. ==> MASK : 0x00000002U VAL : 0x00000000U
// .. SRCSEL = 0x0
// .. ==> 0XF800015C[5:4] = 0x00000000U
// .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. DIVISOR0 = 0x2a
// .. ==> 0XF800015C[13:8] = 0x0000002AU
// .. ==> MASK : 0x00003F00U VAL : 0x00002A00U
// .. DIVISOR1 = 0x1
// .. ==> 0XF800015C[25:20] = 0x00000001U
// .. ==> MASK : 0x03F00000U VAL : 0x00100000U
// ..
EMIT_MASKWRITE(0XF800015C, 0x03F03F33U ,0x00102A01U),
// .. CAN0_MUX = 0x0
// .. ==> 0XF8000160[5:0] = 0x00000000U
// .. ==> MASK : 0x0000003FU VAL : 0x00000000U
// .. CAN0_REF_SEL = 0x0
// .. ==> 0XF8000160[6:6] = 0x00000000U
// .. ==> MASK : 0x00000040U VAL : 0x00000000U
// .. CAN1_MUX = 0x0
// .. ==> 0XF8000160[21:16] = 0x00000000U
// .. ==> MASK : 0x003F0000U VAL : 0x00000000U
// .. CAN1_REF_SEL = 0x0
// .. ==> 0XF8000160[22:22] = 0x00000000U
// .. ==> MASK : 0x00400000U VAL : 0x00000000U
// ..
EMIT_MASKWRITE(0XF8000160, 0x007F007FU ,0x00000000U),
// .. CLKACT = 0x1
// .. ==> 0XF8000168[0:0] = 0x00000001U
// .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. SRCSEL = 0x0
// .. ==> 0XF8000168[5:4] = 0x00000000U
// .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. DIVISOR = 0x5
// .. ==> 0XF8000168[13:8] = 0x00000005U
// .. ==> MASK : 0x00003F00U VAL : 0x00000500U
// ..
EMIT_MASKWRITE(0XF8000168, 0x00003F31U ,0x00000501U),
// .. SRCSEL = 0x0
// .. ==> 0XF8000170[5:4] = 0x00000000U
// .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. DIVISOR0 = 0x14
// .. ==> 0XF8000170[13:8] = 0x00000014U
// .. ==> MASK : 0x00003F00U VAL : 0x00001400U
// .. DIVISOR1 = 0x1
// .. ==> 0XF8000170[25:20] = 0x00000001U
// .. ==> MASK : 0x03F00000U VAL : 0x00100000U
// ..
EMIT_MASKWRITE(0XF8000170, 0x03F03F30U ,0x00101400U),
// .. SRCSEL = 0x0
// .. ==> 0XF8000180[5:4] = 0x00000000U
// .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. DIVISOR0 = 0x14
// .. ==> 0XF8000180[13:8] = 0x00000014U
// .. ==> MASK : 0x00003F00U VAL : 0x00001400U
// .. DIVISOR1 = 0x1
// .. ==> 0XF8000180[25:20] = 0x00000001U
// .. ==> MASK : 0x03F00000U VAL : 0x00100000U
// ..
EMIT_MASKWRITE(0XF8000180, 0x03F03F30U ,0x00101400U),
// .. SRCSEL = 0x0
// .. ==> 0XF8000190[5:4] = 0x00000000U
// .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. DIVISOR0 = 0x14
// .. ==> 0XF8000190[13:8] = 0x00000014U
// .. ==> MASK : 0x00003F00U VAL : 0x00001400U
// .. DIVISOR1 = 0x1
// .. ==> 0XF8000190[25:20] = 0x00000001U
// .. ==> MASK : 0x03F00000U VAL : 0x00100000U
// ..
EMIT_MASKWRITE(0XF8000190, 0x03F03F30U ,0x00101400U),
// .. SRCSEL = 0x0
// .. ==> 0XF80001A0[5:4] = 0x00000000U
// .. ==> MASK : 0x00000030U VAL : 0x00000000U
// .. DIVISOR0 = 0x14
// .. ==> 0XF80001A0[13:8] = 0x00000014U
// .. ==> MASK : 0x00003F00U VAL : 0x00001400U
// .. DIVISOR1 = 0x1
// .. ==> 0XF80001A0[25:20] = 0x00000001U
// .. ==> MASK : 0x03F00000U VAL : 0x00100000U
// ..
EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U ,0x00101400U),
// .. CLK_621_TRUE = 0x1
// .. ==> 0XF80001C4[0:0] = 0x00000001U
// .. ==> MASK : 0x00000001U VAL : 0x00000001U
// ..
EMIT_MASKWRITE(0XF80001C4, 0x00000001U ,0x00000001U),
// .. DMA_CPU_2XCLKACT = 0x1
// .. ==> 0XF800012C[0:0] = 0x00000001U
// .. ==> MASK : 0x00000001U VAL : 0x00000001U
// .. USB0_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[2:2] = 0x00000001U
// .. ==> MASK : 0x00000004U VAL : 0x00000004U
// .. USB1_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[3:3] = 0x00000001U
// .. ==> MASK : 0x00000008U VAL : 0x00000008U
// .. GEM0_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[6:6] = 0x00000001U
// .. ==> MASK : 0x00000040U VAL : 0x00000040U
// .. GEM1_CPU_1XCLKACT = 0x0
// .. ==> 0XF800012C[7:7] = 0x00000000U
// .. ==> MASK : 0x00000080U VAL : 0x00000000U
// .. SDI0_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[10:10] = 0x00000001U
// .. ==> MASK : 0x00000400U VAL : 0x00000400U
// .. SDI1_CPU_1XCLKACT = 0x0
// .. ==> 0XF800012C[11:11] = 0x00000000U
// .. ==> MASK : 0x00000800U VAL : 0x00000000U
// .. SPI0_CPU_1XCLKACT = 0x0
// .. ==> 0XF800012C[14:14] = 0x00000000U
// .. ==> MASK : 0x00004000U VAL : 0x00000000U
// .. SPI1_CPU_1XCLKACT = 0x0
// .. ==> 0XF800012C[15:15] = 0x00000000U
// .. ==> MASK : 0x00008000U VAL : 0x00000000U
// .. CAN0_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[16:16] = 0x00000001U
// .. ==> MASK : 0x00010000U VAL : 0x00010000U
// .. CAN1_CPU_1XCLKACT = 0x0
// .. ==> 0XF800012C[17:17] = 0x00000000U
// .. ==> MASK : 0x00020000U VAL : 0x00000000U
// .. I2C0_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[18:18] = 0x00000001U
// .. ==> MASK : 0x00040000U VAL : 0x00040000U
// .. I2C1_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[19:19] = 0x00000001U
// .. ==> MASK : 0x00080000U VAL : 0x00080000U
// .. UART0_CPU_1XCLKACT = 0x0
// .. ==> 0XF800012C[20:20] = 0x00000000U
// .. ==> MASK : 0x00100000U VAL : 0x00000000U
// .. UART1_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[21:21] = 0x00000001U
// .. ==> MASK : 0x00200000U VAL : 0x00200000U
// .. GPIO_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[22:22] = 0x00000001U
// .. ==> MASK : 0x00400000U VAL : 0x00400000U
// .. LQSPI_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[23:23] = 0x00000001U
// .. ==> MASK : 0x00800000U VAL : 0x00800000U
// .. SMC_CPU_1XCLKACT = 0x1
// .. ==> 0XF800012C[24:24] = 0x00000001U
// .. ==> MASK : 0x01000000U VAL : 0x01000000U
// ..
EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU ,0x01ED044DU),
// .. SEL = 0x0
// .. ==> 0XF8000304[0:0] = 0x00000000U
// .. ==> MASK : 0x00000001U VAL : 0x00000000U
// ..
EMIT_MASKWRITE(0XF8000304, 0x00000001U ,0x00000000U),
// .. FINISH: CLOCK CONTROL SLCR REGISTERS
// .. START: THIS SHOULD BE BLANK
// .. FINISH: THIS SHOULD BE BLANK
// .. 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_ddr_init_data[] = {
// START: top
// .. START: DDR INITIALIZATION
// .. .. START: LOCK DDR
// .. .. reg_ddrc_soft_rstb = 0
// .. .. ==> 0XF8006000[0:0] = 0x00000000U
// .. .. ==> MASK : 0x00000001U VAL : 0x00000000U
// .. .. reg_ddrc_powerdown_en = 0x0
// .. .. ==> 0XF8006000[1:1] = 0x00000000U
// .. .. ==> MASK : 0x00000002U VAL : 0x00000000U
// .. .. reg_ddrc_data_bus_width = 0x0
// .. .. ==> 0XF8006000[3:2] = 0x00000000U
// .. .. ==> MASK : 0x0000000CU VAL : 0x00000000U
// .. .. reg_ddrc_burst8_refresh = 0x0
// .. .. ==> 0XF8006000[6:4] = 0x00000000U
// .. .. ==> MASK : 0x00000070U VAL : 0x00000000U
// .. .. reg_ddrc_rdwr_idle_gap = 0x1
// .. .. ==> 0XF8006000[13:7] = 0x00000001U
// .. .. ==> MASK : 0x00003F80U VAL : 0x00000080U
// .. .. reg_ddrc_dis_rd_bypass = 0x0
// .. .. ==> 0XF8006000[14:14] = 0x00000000U
// .. .. ==> MASK : 0x00004000U VAL : 0x00000000U
// .. .. reg_ddrc_dis_act_bypass = 0x0
// .. .. ==> 0XF8006000[15:15] = 0x00000000U
// .. .. ==> MASK : 0x00008000U VAL : 0x00000000U
// .. .. reg_ddrc_dis_auto_refresh = 0x0
// .. .. ==> 0XF8006000[16:16] = 0x00000000U
// .. .. ==> MASK : 0x00010000U VAL : 0x00000000U
// .. ..
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -