2 * Copyright (C) 2016 Socionext Inc.
3 * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
5 * SPDX-License-Identifier: GPL-2.0+
11 #include "../sc64-regs.h"
14 int uniphier_ld20_pll_init(const struct uniphier_board_data *bd)
16 unsigned int dpll_ssc_rate = UNIPHIER_BD_DPLL_SSC_GET_RATE(bd->flags);
18 uniphier_ld20_sscpll_init(SC_CPLLCTRL, UNIPHIER_PLL_FREQ_DEFAULT, 0, 4);
19 /* do nothing for SPLL */
20 uniphier_ld20_sscpll_init(SC_SPLL2CTRL, UNIPHIER_PLL_FREQ_DEFAULT, 0, 4);
21 uniphier_ld20_sscpll_init(SC_MPLLCTRL, UNIPHIER_PLL_FREQ_DEFAULT, 0, 2);
22 uniphier_ld20_sscpll_init(SC_VPPLLCTRL, UNIPHIER_PLL_FREQ_DEFAULT, 0, 4);
23 uniphier_ld20_sscpll_init(SC_GPPLLCTRL, UNIPHIER_PLL_FREQ_DEFAULT, 0, 2);
27 if (dpll_ssc_rate > 0) {
28 uniphier_ld20_sscpll_ssc_en(SC_DPLL0CTRL);
29 uniphier_ld20_sscpll_ssc_en(SC_DPLL1CTRL);
30 uniphier_ld20_sscpll_ssc_en(SC_DPLL2CTRL);
33 uniphier_ld20_vpll27_init(SC_VPLL27FCTRL);
34 uniphier_ld20_vpll27_init(SC_VPLL27ACTRL);
36 uniphier_ld20_dspll_init(SC_VPLL8KCTRL);
37 uniphier_ld20_dspll_init(SC_A2PLLCTRL);