1*de778115SLey Foon Tan /* 2*de778115SLey Foon Tan * Copyright (C) 2013-2017 Altera Corporation <www.altera.com> 3*de778115SLey Foon Tan * 4*de778115SLey Foon Tan * SPDX-License-Identifier: GPL-2.0+ 5*de778115SLey Foon Tan */ 6*de778115SLey Foon Tan 7*de778115SLey Foon Tan #ifndef _CLOCK_MANAGER_GEN5_H_ 8*de778115SLey Foon Tan #define _CLOCK_MANAGER_GEN5_H_ 9*de778115SLey Foon Tan 10*de778115SLey Foon Tan #ifndef __ASSEMBLER__ 11*de778115SLey Foon Tan 12*de778115SLey Foon Tan struct cm_config { 13*de778115SLey Foon Tan /* main group */ 14*de778115SLey Foon Tan u32 main_vco_base; 15*de778115SLey Foon Tan u32 mpuclk; 16*de778115SLey Foon Tan u32 mainclk; 17*de778115SLey Foon Tan u32 dbgatclk; 18*de778115SLey Foon Tan u32 mainqspiclk; 19*de778115SLey Foon Tan u32 mainnandsdmmcclk; 20*de778115SLey Foon Tan u32 cfg2fuser0clk; 21*de778115SLey Foon Tan u32 maindiv; 22*de778115SLey Foon Tan u32 dbgdiv; 23*de778115SLey Foon Tan u32 tracediv; 24*de778115SLey Foon Tan u32 l4src; 25*de778115SLey Foon Tan 26*de778115SLey Foon Tan /* peripheral group */ 27*de778115SLey Foon Tan u32 peri_vco_base; 28*de778115SLey Foon Tan u32 emac0clk; 29*de778115SLey Foon Tan u32 emac1clk; 30*de778115SLey Foon Tan u32 perqspiclk; 31*de778115SLey Foon Tan u32 pernandsdmmcclk; 32*de778115SLey Foon Tan u32 perbaseclk; 33*de778115SLey Foon Tan u32 s2fuser1clk; 34*de778115SLey Foon Tan u32 perdiv; 35*de778115SLey Foon Tan u32 gpiodiv; 36*de778115SLey Foon Tan u32 persrc; 37*de778115SLey Foon Tan 38*de778115SLey Foon Tan /* sdram pll group */ 39*de778115SLey Foon Tan u32 sdram_vco_base; 40*de778115SLey Foon Tan u32 ddrdqsclk; 41*de778115SLey Foon Tan u32 ddr2xdqsclk; 42*de778115SLey Foon Tan u32 ddrdqclk; 43*de778115SLey Foon Tan u32 s2fuser2clk; 44*de778115SLey Foon Tan 45*de778115SLey Foon Tan /* altera group */ 46*de778115SLey Foon Tan u32 altera_grp_mpuclk; 47*de778115SLey Foon Tan }; 48*de778115SLey Foon Tan 49*de778115SLey Foon Tan struct socfpga_clock_manager_main_pll { 50*de778115SLey Foon Tan u32 vco; 51*de778115SLey Foon Tan u32 misc; 52*de778115SLey Foon Tan u32 mpuclk; 53*de778115SLey Foon Tan u32 mainclk; 54*de778115SLey Foon Tan u32 dbgatclk; 55*de778115SLey Foon Tan u32 mainqspiclk; 56*de778115SLey Foon Tan u32 mainnandsdmmcclk; 57*de778115SLey Foon Tan u32 cfgs2fuser0clk; 58*de778115SLey Foon Tan u32 en; 59*de778115SLey Foon Tan u32 maindiv; 60*de778115SLey Foon Tan u32 dbgdiv; 61*de778115SLey Foon Tan u32 tracediv; 62*de778115SLey Foon Tan u32 l4src; 63*de778115SLey Foon Tan u32 stat; 64*de778115SLey Foon Tan u32 _pad_0x38_0x40[2]; 65*de778115SLey Foon Tan }; 66*de778115SLey Foon Tan 67*de778115SLey Foon Tan struct socfpga_clock_manager_per_pll { 68*de778115SLey Foon Tan u32 vco; 69*de778115SLey Foon Tan u32 misc; 70*de778115SLey Foon Tan u32 emac0clk; 71*de778115SLey Foon Tan u32 emac1clk; 72*de778115SLey Foon Tan u32 perqspiclk; 73*de778115SLey Foon Tan u32 pernandsdmmcclk; 74*de778115SLey Foon Tan u32 perbaseclk; 75*de778115SLey Foon Tan u32 s2fuser1clk; 76*de778115SLey Foon Tan u32 en; 77*de778115SLey Foon Tan u32 div; 78*de778115SLey Foon Tan u32 gpiodiv; 79*de778115SLey Foon Tan u32 src; 80*de778115SLey Foon Tan u32 stat; 81*de778115SLey Foon Tan u32 _pad_0x34_0x40[3]; 82*de778115SLey Foon Tan }; 83*de778115SLey Foon Tan 84*de778115SLey Foon Tan struct socfpga_clock_manager_sdr_pll { 85*de778115SLey Foon Tan u32 vco; 86*de778115SLey Foon Tan u32 ctrl; 87*de778115SLey Foon Tan u32 ddrdqsclk; 88*de778115SLey Foon Tan u32 ddr2xdqsclk; 89*de778115SLey Foon Tan u32 ddrdqclk; 90*de778115SLey Foon Tan u32 s2fuser2clk; 91*de778115SLey Foon Tan u32 en; 92*de778115SLey Foon Tan u32 stat; 93*de778115SLey Foon Tan }; 94*de778115SLey Foon Tan 95*de778115SLey Foon Tan struct socfpga_clock_manager_altera { 96*de778115SLey Foon Tan u32 mpuclk; 97*de778115SLey Foon Tan u32 mainclk; 98*de778115SLey Foon Tan }; 99*de778115SLey Foon Tan 100*de778115SLey Foon Tan struct socfpga_clock_manager { 101*de778115SLey Foon Tan u32 ctrl; 102*de778115SLey Foon Tan u32 bypass; 103*de778115SLey Foon Tan u32 inter; 104*de778115SLey Foon Tan u32 intren; 105*de778115SLey Foon Tan u32 dbctrl; 106*de778115SLey Foon Tan u32 stat; 107*de778115SLey Foon Tan u32 _pad_0x18_0x3f[10]; 108*de778115SLey Foon Tan struct socfpga_clock_manager_main_pll main_pll; 109*de778115SLey Foon Tan struct socfpga_clock_manager_per_pll per_pll; 110*de778115SLey Foon Tan struct socfpga_clock_manager_sdr_pll sdr_pll; 111*de778115SLey Foon Tan struct socfpga_clock_manager_altera altera; 112*de778115SLey Foon Tan u32 _pad_0xe8_0x200[70]; 113*de778115SLey Foon Tan }; 114*de778115SLey Foon Tan 115*de778115SLey Foon Tan /* Clock speed accessors */ 116*de778115SLey Foon Tan unsigned long cm_get_mpu_clk_hz(void); 117*de778115SLey Foon Tan unsigned long cm_get_sdram_clk_hz(void); 118*de778115SLey Foon Tan unsigned int cm_get_l4_sp_clk_hz(void); 119*de778115SLey Foon Tan unsigned int cm_get_mmc_controller_clk_hz(void); 120*de778115SLey Foon Tan unsigned int cm_get_qspi_controller_clk_hz(void); 121*de778115SLey Foon Tan unsigned int cm_get_spi_controller_clk_hz(void); 122*de778115SLey Foon Tan const unsigned int cm_get_osc_clk_hz(const int osc); 123*de778115SLey Foon Tan const unsigned int cm_get_f2s_per_ref_clk_hz(void); 124*de778115SLey Foon Tan const unsigned int cm_get_f2s_sdr_ref_clk_hz(void); 125*de778115SLey Foon Tan 126*de778115SLey Foon Tan /* Clock configuration accessors */ 127*de778115SLey Foon Tan int cm_basic_init(const struct cm_config * const cfg); 128*de778115SLey Foon Tan const struct cm_config * const cm_get_default_config(void); 129*de778115SLey Foon Tan #endif /* __ASSEMBLER__ */ 130*de778115SLey Foon Tan 131*de778115SLey Foon Tan #define LOCKED_MASK \ 132*de778115SLey Foon Tan (CLKMGR_INTER_SDRPLLLOCKED_MASK | \ 133*de778115SLey Foon Tan CLKMGR_INTER_PERPLLLOCKED_MASK | \ 134*de778115SLey Foon Tan CLKMGR_INTER_MAINPLLLOCKED_MASK) 135*de778115SLey Foon Tan 136*de778115SLey Foon Tan #define CLKMGR_CTRL_SAFEMODE BIT(0) 137*de778115SLey Foon Tan #define CLKMGR_CTRL_SAFEMODE_OFFSET 0 138*de778115SLey Foon Tan 139*de778115SLey Foon Tan #define CLKMGR_BYPASS_PERPLLSRC BIT(4) 140*de778115SLey Foon Tan #define CLKMGR_BYPASS_PERPLLSRC_OFFSET 4 141*de778115SLey Foon Tan #define CLKMGR_BYPASS_PERPLL BIT(3) 142*de778115SLey Foon Tan #define CLKMGR_BYPASS_PERPLL_OFFSET 3 143*de778115SLey Foon Tan #define CLKMGR_BYPASS_SDRPLLSRC BIT(2) 144*de778115SLey Foon Tan #define CLKMGR_BYPASS_SDRPLLSRC_OFFSET 2 145*de778115SLey Foon Tan #define CLKMGR_BYPASS_SDRPLL BIT(1) 146*de778115SLey Foon Tan #define CLKMGR_BYPASS_SDRPLL_OFFSET 1 147*de778115SLey Foon Tan #define CLKMGR_BYPASS_MAINPLL BIT(0) 148*de778115SLey Foon Tan #define CLKMGR_BYPASS_MAINPLL_OFFSET 0 149*de778115SLey Foon Tan 150*de778115SLey Foon Tan #define CLKMGR_INTER_MAINPLLLOST_MASK BIT(3) 151*de778115SLey Foon Tan #define CLKMGR_INTER_PERPLLLOST_MASK BIT(4) 152*de778115SLey Foon Tan #define CLKMGR_INTER_SDRPLLLOST_MASK BIT(5) 153*de778115SLey Foon Tan #define CLKMGR_INTER_MAINPLLLOCKED_MASK BIT(6) 154*de778115SLey Foon Tan #define CLKMGR_INTER_PERPLLLOCKED_MASK BIT(7) 155*de778115SLey Foon Tan #define CLKMGR_INTER_SDRPLLLOCKED_MASK BIT(8) 156*de778115SLey Foon Tan 157*de778115SLey Foon Tan #define CLKMGR_STAT_BUSY BIT(0) 158*de778115SLey Foon Tan 159*de778115SLey Foon Tan /* Main PLL */ 160*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_BGPWRDN BIT(0) 161*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_BGPWRDN_OFFSET 0 162*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_DENOM_OFFSET 16 163*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_DENOM_MASK 0x003f0000 164*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_EN BIT(1) 165*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_EN_OFFSET 1 166*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_NUMER_OFFSET 3 167*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_NUMER_MASK 0x0000fff8 168*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_OUTRESETALL_MASK 0x01000000 169*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_PWRDN BIT(2) 170*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_PWRDN_OFFSET 2 171*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_REGEXTSEL_MASK 0x80000000 172*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_RESET_VALUE 0x8001000d 173*de778115SLey Foon Tan 174*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MPUCLK_CNT_OFFSET 0 175*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MPUCLK_CNT_MASK 0x000001ff 176*de778115SLey Foon Tan 177*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINCLK_CNT_OFFSET 0 178*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINCLK_CNT_MASK 0x000001ff 179*de778115SLey Foon Tan 180*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGATCLK_CNT_OFFSET 0 181*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGATCLK_CNT_MASK 0x000001ff 182*de778115SLey Foon Tan 183*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_OFFSET 0 184*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_MASK 0x000001ff 185*de778115SLey Foon Tan 186*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINNANDSDMMCCLK_CNT_OFFSET 0 187*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINNANDSDMMCCLK_CNT_MASK 0x000001ff 188*de778115SLey Foon Tan 189*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_OFFSET 0 190*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_MASK 0x000001ff 191*de778115SLey Foon Tan 192*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_L4MPCLK_MASK BIT(2) 193*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_DBGATCLK_MASK BIT(4) 194*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_DBGCLK_MASK BIT(5) 195*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_DBGTRACECLK_MASK BIT(6) 196*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_DBGTIMERCLK_MASK BIT(7) 197*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_S2FUSER0CLK_MASK BIT(9) 198*de778115SLey Foon Tan 199*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_OFFSET 0 200*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_MASK 0x00000003 201*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_OFFSET 2 202*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_MASK 0x0000000c 203*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_OFFSET 4 204*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_MASK 0x00000070 205*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_OFFSET 7 206*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_MASK 0x00000380 207*de778115SLey Foon Tan 208*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_OFFSET 0 209*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_MASK 0x00000003 210*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_OFFSET 2 211*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_MASK 0x0000000c 212*de778115SLey Foon Tan 213*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_OFFSET 0 214*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_MASK 0x00000007 215*de778115SLey Foon Tan 216*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_L4MP BIT(0) 217*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_L4MP_OFFSET 0 218*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_L4SP BIT(1) 219*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_L4SP_OFFSET 1 220*de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_RESET_VALUE 0x00000000 221*de778115SLey Foon Tan #define CLKMGR_L4_SP_CLK_SRC_MAINPLL 0x0 222*de778115SLey Foon Tan #define CLKMGR_L4_SP_CLK_SRC_PERPLL 0x1 223*de778115SLey Foon Tan 224*de778115SLey Foon Tan /* Per PLL */ 225*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_DENOM_OFFSET 16 226*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_DENOM_MASK 0x003f0000 227*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_NUMER_OFFSET 3 228*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_NUMER_MASK 0x0000fff8 229*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_OUTRESETALL_MASK 0x01000000 230*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_PSRC_OFFSET 22 231*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_PSRC_MASK 0x00c00000 232*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_REGEXTSEL_MASK 0x80000000 233*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_RESET_VALUE 0x8001000d 234*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_SSRC_OFFSET 22 235*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_SSRC_MASK 0x00c00000 236*de778115SLey Foon Tan 237*de778115SLey Foon Tan #define CLKMGR_VCO_SSRC_EOSC1 0x0 238*de778115SLey Foon Tan #define CLKMGR_VCO_SSRC_EOSC2 0x1 239*de778115SLey Foon Tan #define CLKMGR_VCO_SSRC_F2S 0x2 240*de778115SLey Foon Tan 241*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EMAC0CLK_CNT_OFFSET 0 242*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EMAC0CLK_CNT_MASK 0x000001ff 243*de778115SLey Foon Tan 244*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EMAC1CLK_CNT_OFFSET 0 245*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EMAC1CLK_CNT_MASK 0x000001ff 246*de778115SLey Foon Tan 247*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERQSPICLK_CNT_OFFSET 0 248*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERQSPICLK_CNT_MASK 0x000001ff 249*de778115SLey Foon Tan 250*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_OFFSET 0 251*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_MASK 0x000001ff 252*de778115SLey Foon Tan 253*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERBASECLK_CNT_OFFSET 0 254*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERBASECLK_CNT_MASK 0x000001ff 255*de778115SLey Foon Tan 256*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_OFFSET 0 257*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_MASK 0x000001ff 258*de778115SLey Foon Tan 259*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EN_NANDCLK_MASK 0x00000400 260*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EN_SDMMCCLK_MASK 0x00000100 261*de778115SLey Foon Tan 262*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_CAN0CLK_OFFSET 6 263*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_CAN0CLK_MASK 0x000001c0 264*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_CAN1CLK_OFFSET 9 265*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_CAN1CLK_MASK 0x00000e00 266*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_SPIMCLK_OFFSET 3 267*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_SPIMCLK_OFFSET 3 268*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_USBCLK_OFFSET 0 269*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_USBCLK_MASK 0x00000007 270*de778115SLey Foon Tan 271*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_OFFSET 0 272*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_MASK 0x00ffffff 273*de778115SLey Foon Tan 274*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_NAND_OFFSET 2 275*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_NAND_MASK 0x0000000c 276*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_QSPI_OFFSET 4 277*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_QSPI_MASK 0x00000030 278*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_RESET_VALUE 0x00000015 279*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_SDMMC_OFFSET 0 280*de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_SDMMC_MASK 0x00000003 281*de778115SLey Foon Tan #define CLKMGR_SDMMC_CLK_SRC_F2S 0x0 282*de778115SLey Foon Tan #define CLKMGR_SDMMC_CLK_SRC_MAIN 0x1 283*de778115SLey Foon Tan #define CLKMGR_SDMMC_CLK_SRC_PER 0x2 284*de778115SLey Foon Tan #define CLKMGR_QSPI_CLK_SRC_F2S 0x0 285*de778115SLey Foon Tan #define CLKMGR_QSPI_CLK_SRC_MAIN 0x1 286*de778115SLey Foon Tan #define CLKMGR_QSPI_CLK_SRC_PER 0x2 287*de778115SLey Foon Tan 288*de778115SLey Foon Tan /* SDR PLL */ 289*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_DENOM_OFFSET 16 290*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_DENOM_MASK 0x003f0000 291*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_NUMER_OFFSET 3 292*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_NUMER_MASK 0x0000fff8 293*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_OUTRESETALL BIT(24) 294*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_OFFSET 24 295*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_OUTRESET_OFFSET 25 296*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_OUTRESET_MASK 0x7e000000 297*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_REGEXTSEL_MASK BIT(31) 298*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_RESET_VALUE 0x8001000d 299*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_SSRC_OFFSET 22 300*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_SSRC_MASK 0x00c00000 301*de778115SLey Foon Tan 302*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_OFFSET 0 303*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_MASK 0x000001ff 304*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_OFFSET 9 305*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_MASK 0x00000e00 306*de778115SLey Foon Tan 307*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_OFFSET 0 308*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_MASK 0x000001ff 309*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_OFFSET 9 310*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_MASK 0x00000e00 311*de778115SLey Foon Tan 312*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_OFFSET 0 313*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_MASK 0x000001ff 314*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_OFFSET 9 315*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_MASK 0x00000e00 316*de778115SLey Foon Tan 317*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_OFFSET 0 318*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_MASK 0x000001ff 319*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_OFFSET 9 320*de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_MASK 0x00000e00 321*de778115SLey Foon Tan 322*de778115SLey Foon Tan #endif /* _CLOCK_MANAGER_GEN5_H_ */ 323