1 /******************************************************************************* 2 * Copyright 2019-2021 Microchip FPGA Embedded Systems Solutions. 3 * 4 * SPDX-License-Identifier: MIT 5 * 6 * @file hw_clk_mss_pll.h 7 * @author Microchip-FPGA Embedded Systems Solutions 8 * 9 * 10 * Note 1: This file should not be edited. If you need to modify a parameter 11 * without going through regenerating using the MSS Configurator Libero flow 12 * or editing the associated xml file 13 * the following method is recommended: 14 15 * 1. edit the following file 16 * boards/your_board/platform_config/mpfs_hal_config/mss_sw_config.h 17 18 * 2. define the value you want to override there. 19 * (Note: There is a commented example in the platform directory) 20 21 * Note 2: The definition in mss_sw_config.h takes precedence, as 22 * mss_sw_config.h is included prior to the generated header files located in 23 * boards/your_board/fpga_design_config 24 * 25 */ 26 27 #ifndef HW_CLK_MSS_PLL_H_ 28 #define HW_CLK_MSS_PLL_H_ 29 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 #if !defined (LIBERO_SETTING_MSS_PLL_CTRL) 36 /*PLL control register */ 37 #define LIBERO_SETTING_MSS_PLL_CTRL 0x01000037UL 38 /* REG_POWERDOWN_B [0:1] RW value= 0x1 */ 39 /* REG_RFDIV_EN [1:1] RW value= 0x1 */ 40 /* REG_DIVQ0_EN [2:1] RW value= 0x1 */ 41 /* REG_DIVQ1_EN [3:1] RW value= 0x0 */ 42 /* REG_DIVQ2_EN [4:1] RW value= 0x1 */ 43 /* REG_DIVQ3_EN [5:1] RW value= 0x1 */ 44 /* REG_RFCLK_SEL [6:1] RW value= 0x0 */ 45 /* RESETONLOCK [7:1] RW value= 0x0 */ 46 /* BYPCK_SEL [8:4] RW value= 0x0 */ 47 /* REG_BYPASS_GO_B [12:1] RW value= 0x0 */ 48 /* RESERVE10 [13:3] RSVD */ 49 /* REG_BYPASSPRE [16:4] RW value= 0x0 */ 50 /* REG_BYPASSPOST [20:4] RW value= 0x0 */ 51 /* LP_REQUIRES_LOCK [24:1] RW value= 0x1 */ 52 /* LOCK [25:1] RO */ 53 /* LOCK_INT_EN [26:1] RW value= 0x0 */ 54 /* UNLOCK_INT_EN [27:1] RW value= 0x0 */ 55 /* LOCK_INT [28:1] SW1C */ 56 /* UNLOCK_INT [29:1] SW1C */ 57 /* RESERVE11 [30:1] RSVD */ 58 /* LOCK_B [31:1] RO */ 59 #endif 60 #if !defined (LIBERO_SETTING_MSS_PLL_REF_FB) 61 /*PLL reference and feedback registers */ 62 #define LIBERO_SETTING_MSS_PLL_REF_FB 0x00000500UL 63 /* FSE_B [0:1] RW value= 0x0 */ 64 /* FBCK_SEL [1:2] RW value= 0x0 */ 65 /* FOUTFB_SELMUX_EN [3:1] RW value= 0x0 */ 66 /* RESERVE12 [4:4] RSVD */ 67 /* RFDIV [8:6] RW value= 0x5 */ 68 /* RESERVE13 [14:2] RSVD */ 69 /* RESERVE14 [16:12] RSVD */ 70 /* RESERVE15 [28:4] RSVD */ 71 #endif 72 #if !defined (LIBERO_SETTING_MSS_PLL_FRACN) 73 /*PLL fractional register */ 74 #define LIBERO_SETTING_MSS_PLL_FRACN 0x00000000UL 75 /* FRACN_EN [0:1] RW value= 0x0 */ 76 /* FRACN_DAC_EN [1:1] RW value= 0x0 */ 77 /* RESERVE16 [2:6] RSVD */ 78 /* RESERVE17 [8:24] RSVD */ 79 #endif 80 #if !defined (LIBERO_SETTING_MSS_PLL_DIV_0_1) 81 /*PLL 0/1 division registers */ 82 #define LIBERO_SETTING_MSS_PLL_DIV_0_1 0x01000200UL 83 /* VCO0PH_SEL [0:3] RO */ 84 /* DIV0_START [3:3] RW value= 0x0 */ 85 /* RESERVE18 [6:2] RSVD */ 86 /* POST0DIV [8:7] RW value= 0x2 */ 87 /* RESERVE19 [15:1] RSVD */ 88 /* VCO1PH_SEL [16:3] RO */ 89 /* DIV1_START [19:3] RW value= 0x0 */ 90 /* RESERVE20 [22:2] RSVD */ 91 /* POST1DIV [24:7] RW value= 0x1 */ 92 /* RESERVE21 [31:1] RSVD */ 93 #endif 94 #if !defined (LIBERO_SETTING_MSS_PLL_DIV_2_3) 95 /*PLL 2/3 division registers */ 96 #define LIBERO_SETTING_MSS_PLL_DIV_2_3 0x0F000600UL 97 /* VCO2PH_SEL [0:3] RO */ 98 /* DIV2_START [3:3] RW value= 0x0 */ 99 /* RESERVE22 [6:2] RSVD */ 100 /* POST2DIV [8:7] RW value= 0x6 */ 101 /* RESERVE23 [15:1] RSVD */ 102 /* VCO3PH_SEL [16:3] RO */ 103 /* DIV3_START [19:3] RW value= 0x0 */ 104 /* RESERVE24 [22:2] RSVD */ 105 /* POST3DIV [24:7] RW value= 0xF */ 106 /* CKPOST3_SEL [31:1] RW value= 0x0 */ 107 #endif 108 #if !defined (LIBERO_SETTING_MSS_PLL_CTRL2) 109 /*PLL control register */ 110 #define LIBERO_SETTING_MSS_PLL_CTRL2 0x00001020UL 111 /* BWI [0:2] RW value= 0x0 */ 112 /* BWP [2:2] RW value= 0x0 */ 113 /* IREF_EN [4:1] RW value= 0x0 */ 114 /* IREF_TOGGLE [5:1] RW value= 0x1 */ 115 /* RESERVE25 [6:3] RSVD */ 116 /* LOCKCNT [9:4] RW value= 0x8 */ 117 /* RESERVE26 [13:4] RSVD */ 118 /* ATEST_EN [17:1] RW value= 0x0 */ 119 /* ATEST_SEL [18:3] RW value= 0x0 */ 120 /* RESERVE27 [21:11] RSVD */ 121 #endif 122 #if !defined (LIBERO_SETTING_MSS_PLL_CAL) 123 /*PLL calibration register */ 124 #define LIBERO_SETTING_MSS_PLL_CAL 0x00000D06UL 125 /* DSKEWCALCNT [0:3] RW value= 0x6 */ 126 /* DSKEWCAL_EN [3:1] RW value= 0x0 */ 127 /* DSKEWCALBYP [4:1] RW value= 0x0 */ 128 /* RESERVE28 [5:3] RSVD */ 129 /* DSKEWCALIN [8:7] RW value= 0xd */ 130 /* RESERVE29 [15:1] RSVD */ 131 /* DSKEWCALOUT [16:7] RO */ 132 /* RESERVE30 [23:9] RSVD */ 133 #endif 134 #if !defined (LIBERO_SETTING_MSS_PLL_PHADJ) 135 /*PLL phase registers */ 136 #define LIBERO_SETTING_MSS_PLL_PHADJ 0x00004003UL 137 /* PLL_REG_SYNCREFDIV_EN [0:1] RW value= 0x1 */ 138 /* PLL_REG_ENABLE_SYNCREFDIV [1:1] RW value= 0x1 */ 139 /* REG_OUT0_PHSINIT [2:3] RW value= 0x0 */ 140 /* REG_OUT1_PHSINIT [5:3] RW value= 0x0 */ 141 /* REG_OUT2_PHSINIT [8:3] RW value= 0x0 */ 142 /* REG_OUT3_PHSINIT [11:3] RW value= 0x8 */ 143 /* REG_LOADPHS_B [14:1] RW value= 0x0 */ 144 /* RESERVE31 [15:17] RSVD */ 145 #endif 146 #if !defined (LIBERO_SETTING_MSS_SSCG_REG_0) 147 /*SSCG registers 0 */ 148 #define LIBERO_SETTING_MSS_SSCG_REG_0 0x00000000UL 149 /* DIVVAL [0:6] RW value= 0x0 */ 150 /* FRACIN [6:24] RW value= 0x0 */ 151 /* RESERVE00 [30:2] RSVD */ 152 #endif 153 #if !defined (LIBERO_SETTING_MSS_SSCG_REG_1) 154 /*SSCG registers 1 */ 155 #define LIBERO_SETTING_MSS_SSCG_REG_1 0x00000000UL 156 /* DOWNSPREAD [0:1] RW value= 0x0 */ 157 /* SSMD [1:5] RW value= 0x0 */ 158 /* FRACMOD [6:24] RO */ 159 /* RESERVE01 [30:2] RSVD */ 160 #endif 161 #if !defined (LIBERO_SETTING_MSS_SSCG_REG_2) 162 /*SSCG registers 2 */ 163 #define LIBERO_SETTING_MSS_SSCG_REG_2 0x000000C0UL 164 /* INTIN [0:12] RW value= 0xC0 */ 165 /* INTMOD [12:12] RO */ 166 /* RESERVE02 [24:8] RSVD */ 167 #endif 168 #if !defined (LIBERO_SETTING_MSS_SSCG_REG_3) 169 /*SSCG registers 3 */ 170 #define LIBERO_SETTING_MSS_SSCG_REG_3 0x00000001UL 171 /* SSE_B [0:1] RW value= 0x1 */ 172 /* SEL_EXTWAVE [1:2] RW value= 0x0 */ 173 /* EXT_MAXADDR [3:8] RW value= 0x0 */ 174 /* TBLADDR [11:8] RO */ 175 /* RANDOM_FILTER [19:1] RW value= 0x0 */ 176 /* RANDOM_SEL [20:2] RW value= 0x0 */ 177 /* RESERVE03 [22:1] RSVD */ 178 /* RESERVE04 [23:9] RSVD */ 179 #endif 180 181 #ifdef __cplusplus 182 } 183 #endif 184 185 186 #endif /* #ifdef HW_CLK_MSS_PLL_H_ */ 187 188