1*66229b20SAlex Deucher /* 2*66229b20SAlex Deucher * Copyright 2011 Advanced Micro Devices, Inc. 3*66229b20SAlex Deucher * 4*66229b20SAlex Deucher * Permission is hereby granted, free of charge, to any person obtaining a 5*66229b20SAlex Deucher * copy of this software and associated documentation files (the "Software"), 6*66229b20SAlex Deucher * to deal in the Software without restriction, including without limitation 7*66229b20SAlex Deucher * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*66229b20SAlex Deucher * and/or sell copies of the Software, and to permit persons to whom the 9*66229b20SAlex Deucher * Software is furnished to do so, subject to the following conditions: 10*66229b20SAlex Deucher * 11*66229b20SAlex Deucher * The above copyright notice and this permission notice shall be included in 12*66229b20SAlex Deucher * all copies or substantial portions of the Software. 13*66229b20SAlex Deucher * 14*66229b20SAlex Deucher * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*66229b20SAlex Deucher * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*66229b20SAlex Deucher * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*66229b20SAlex Deucher * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18*66229b20SAlex Deucher * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19*66229b20SAlex Deucher * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20*66229b20SAlex Deucher * OTHER DEALINGS IN THE SOFTWARE. 21*66229b20SAlex Deucher * 22*66229b20SAlex Deucher */ 23*66229b20SAlex Deucher #ifndef RV740_H 24*66229b20SAlex Deucher #define RV740_H 25*66229b20SAlex Deucher 26*66229b20SAlex Deucher #define CG_SPLL_FUNC_CNTL 0x600 27*66229b20SAlex Deucher #define SPLL_RESET (1 << 0) 28*66229b20SAlex Deucher #define SPLL_SLEEP (1 << 1) 29*66229b20SAlex Deucher #define SPLL_BYPASS_EN (1 << 3) 30*66229b20SAlex Deucher #define SPLL_REF_DIV(x) ((x) << 4) 31*66229b20SAlex Deucher #define SPLL_REF_DIV_MASK (0x3f << 4) 32*66229b20SAlex Deucher #define SPLL_PDIV_A(x) ((x) << 20) 33*66229b20SAlex Deucher #define SPLL_PDIV_A_MASK (0x7f << 20) 34*66229b20SAlex Deucher #define CG_SPLL_FUNC_CNTL_2 0x604 35*66229b20SAlex Deucher #define SCLK_MUX_SEL(x) ((x) << 0) 36*66229b20SAlex Deucher #define SCLK_MUX_SEL_MASK (0x1ff << 0) 37*66229b20SAlex Deucher #define CG_SPLL_FUNC_CNTL_3 0x608 38*66229b20SAlex Deucher #define SPLL_FB_DIV(x) ((x) << 0) 39*66229b20SAlex Deucher #define SPLL_FB_DIV_MASK (0x3ffffff << 0) 40*66229b20SAlex Deucher #define SPLL_DITHEN (1 << 28) 41*66229b20SAlex Deucher 42*66229b20SAlex Deucher #define MPLL_CNTL_MODE 0x61c 43*66229b20SAlex Deucher #define SS_SSEN (1 << 24) 44*66229b20SAlex Deucher 45*66229b20SAlex Deucher #define MPLL_AD_FUNC_CNTL 0x624 46*66229b20SAlex Deucher #define CLKF(x) ((x) << 0) 47*66229b20SAlex Deucher #define CLKF_MASK (0x7f << 0) 48*66229b20SAlex Deucher #define CLKR(x) ((x) << 7) 49*66229b20SAlex Deucher #define CLKR_MASK (0x1f << 7) 50*66229b20SAlex Deucher #define CLKFRAC(x) ((x) << 12) 51*66229b20SAlex Deucher #define CLKFRAC_MASK (0x1f << 12) 52*66229b20SAlex Deucher #define YCLK_POST_DIV(x) ((x) << 17) 53*66229b20SAlex Deucher #define YCLK_POST_DIV_MASK (3 << 17) 54*66229b20SAlex Deucher #define IBIAS(x) ((x) << 20) 55*66229b20SAlex Deucher #define IBIAS_MASK (0x3ff << 20) 56*66229b20SAlex Deucher #define RESET (1 << 30) 57*66229b20SAlex Deucher #define PDNB (1 << 31) 58*66229b20SAlex Deucher #define MPLL_AD_FUNC_CNTL_2 0x628 59*66229b20SAlex Deucher #define BYPASS (1 << 19) 60*66229b20SAlex Deucher #define BIAS_GEN_PDNB (1 << 24) 61*66229b20SAlex Deucher #define RESET_EN (1 << 25) 62*66229b20SAlex Deucher #define VCO_MODE (1 << 29) 63*66229b20SAlex Deucher #define MPLL_DQ_FUNC_CNTL 0x62c 64*66229b20SAlex Deucher #define MPLL_DQ_FUNC_CNTL_2 0x630 65*66229b20SAlex Deucher 66*66229b20SAlex Deucher #define MCLK_PWRMGT_CNTL 0x648 67*66229b20SAlex Deucher #define DLL_SPEED(x) ((x) << 0) 68*66229b20SAlex Deucher #define DLL_SPEED_MASK (0x1f << 0) 69*66229b20SAlex Deucher # define MPLL_PWRMGT_OFF (1 << 5) 70*66229b20SAlex Deucher # define DLL_READY (1 << 6) 71*66229b20SAlex Deucher # define MC_INT_CNTL (1 << 7) 72*66229b20SAlex Deucher # define MRDCKA0_SLEEP (1 << 8) 73*66229b20SAlex Deucher # define MRDCKA1_SLEEP (1 << 9) 74*66229b20SAlex Deucher # define MRDCKB0_SLEEP (1 << 10) 75*66229b20SAlex Deucher # define MRDCKB1_SLEEP (1 << 11) 76*66229b20SAlex Deucher # define MRDCKC0_SLEEP (1 << 12) 77*66229b20SAlex Deucher # define MRDCKC1_SLEEP (1 << 13) 78*66229b20SAlex Deucher # define MRDCKD0_SLEEP (1 << 14) 79*66229b20SAlex Deucher # define MRDCKD1_SLEEP (1 << 15) 80*66229b20SAlex Deucher # define MRDCKA0_RESET (1 << 16) 81*66229b20SAlex Deucher # define MRDCKA1_RESET (1 << 17) 82*66229b20SAlex Deucher # define MRDCKB0_RESET (1 << 18) 83*66229b20SAlex Deucher # define MRDCKB1_RESET (1 << 19) 84*66229b20SAlex Deucher # define MRDCKC0_RESET (1 << 20) 85*66229b20SAlex Deucher # define MRDCKC1_RESET (1 << 21) 86*66229b20SAlex Deucher # define MRDCKD0_RESET (1 << 22) 87*66229b20SAlex Deucher # define MRDCKD1_RESET (1 << 23) 88*66229b20SAlex Deucher # define DLL_READY_READ (1 << 24) 89*66229b20SAlex Deucher # define USE_DISPLAY_GAP (1 << 25) 90*66229b20SAlex Deucher # define USE_DISPLAY_URGENT_NORMAL (1 << 26) 91*66229b20SAlex Deucher # define MPLL_TURNOFF_D2 (1 << 28) 92*66229b20SAlex Deucher #define DLL_CNTL 0x64c 93*66229b20SAlex Deucher # define MRDCKA0_BYPASS (1 << 24) 94*66229b20SAlex Deucher # define MRDCKA1_BYPASS (1 << 25) 95*66229b20SAlex Deucher # define MRDCKB0_BYPASS (1 << 26) 96*66229b20SAlex Deucher # define MRDCKB1_BYPASS (1 << 27) 97*66229b20SAlex Deucher # define MRDCKC0_BYPASS (1 << 28) 98*66229b20SAlex Deucher # define MRDCKC1_BYPASS (1 << 29) 99*66229b20SAlex Deucher # define MRDCKD0_BYPASS (1 << 30) 100*66229b20SAlex Deucher # define MRDCKD1_BYPASS (1 << 31) 101*66229b20SAlex Deucher 102*66229b20SAlex Deucher #define CG_SPLL_SPREAD_SPECTRUM 0x790 103*66229b20SAlex Deucher #define SSEN (1 << 0) 104*66229b20SAlex Deucher #define CLK_S(x) ((x) << 4) 105*66229b20SAlex Deucher #define CLK_S_MASK (0xfff << 4) 106*66229b20SAlex Deucher #define CG_SPLL_SPREAD_SPECTRUM_2 0x794 107*66229b20SAlex Deucher #define CLK_V(x) ((x) << 0) 108*66229b20SAlex Deucher #define CLK_V_MASK (0x3ffffff << 0) 109*66229b20SAlex Deucher 110*66229b20SAlex Deucher #define MPLL_SS1 0x85c 111*66229b20SAlex Deucher #define CLKV(x) ((x) << 0) 112*66229b20SAlex Deucher #define CLKV_MASK (0x3ffffff << 0) 113*66229b20SAlex Deucher #define MPLL_SS2 0x860 114*66229b20SAlex Deucher #define CLKS(x) ((x) << 0) 115*66229b20SAlex Deucher #define CLKS_MASK (0xfff << 0) 116*66229b20SAlex Deucher 117*66229b20SAlex Deucher #endif 118