.. | .. |
---|
1 | 1 | // SPDX-License-Identifier: GPL-2.0 |
---|
2 | 2 | /* |
---|
3 | 3 | * Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd |
---|
4 | | - * Author: Elaine Zhang <zhangqing@rock-chips.com> |
---|
| 4 | + * Author: Joseph Chen <chenjh@rock-chips.com> |
---|
5 | 5 | */ |
---|
6 | 6 | |
---|
7 | 7 | #include <common.h> |
---|
.. | .. |
---|
1160 | 1160 | |
---|
1161 | 1161 | switch (clk_id) { |
---|
1162 | 1162 | case CLK_PWM1: |
---|
1163 | | - sel = (con & CLK_PWM1_SEL_MASK) >> CLK_PWM3_SEL_SHIFT; |
---|
| 1163 | + sel = (con & CLK_PWM1_SEL_MASK) >> CLK_PWM1_SEL_SHIFT; |
---|
1164 | 1164 | break; |
---|
1165 | 1165 | case CLK_PWM2: |
---|
1166 | 1166 | sel = (con & CLK_PWM2_SEL_MASK) >> CLK_PWM2_SEL_SHIFT; |
---|
.. | .. |
---|
1850 | 1850 | rockchip_pll_set_rate(&rk3568_pll_clks[VPLL], |
---|
1851 | 1851 | priv->cru, VPLL, div * rate); |
---|
1852 | 1852 | } else { |
---|
1853 | | - for (i = 0; i <= DCLK_VOP_SEL_CPLL; i++) { |
---|
| 1853 | + for (i = sel; i <= DCLK_VOP_SEL_CPLL; i++) { |
---|
1854 | 1854 | switch (i) { |
---|
1855 | 1855 | case DCLK_VOP_SEL_GPLL: |
---|
1856 | 1856 | pll_rate = priv->gpll_hz; |
---|
.. | .. |
---|
3107 | 3107 | if (parent->id == PLL_VPLL) { |
---|
3108 | 3108 | rk_clrsetreg(&cru->clksel_con[con_id], DCLK0_VOP_SEL_MASK, |
---|
3109 | 3109 | DCLK_VOP_SEL_VPLL << DCLK0_VOP_SEL_SHIFT); |
---|
3110 | | - } else { |
---|
| 3110 | + } else if (parent->id == PLL_HPLL) { |
---|
3111 | 3111 | rk_clrsetreg(&cru->clksel_con[con_id], DCLK0_VOP_SEL_MASK, |
---|
3112 | 3112 | DCLK_VOP_SEL_HPLL << DCLK0_VOP_SEL_SHIFT); |
---|
| 3113 | + } else if (parent->id == PLL_CPLL) { |
---|
| 3114 | + rk_clrsetreg(&cru->clksel_con[con_id], DCLK0_VOP_SEL_MASK, |
---|
| 3115 | + DCLK_VOP_SEL_CPLL << DCLK0_VOP_SEL_SHIFT); |
---|
| 3116 | + } else { |
---|
| 3117 | + rk_clrsetreg(&cru->clksel_con[con_id], DCLK0_VOP_SEL_MASK, |
---|
| 3118 | + DCLK_VOP_SEL_GPLL << DCLK0_VOP_SEL_SHIFT); |
---|
3113 | 3119 | } |
---|
3114 | 3120 | |
---|
3115 | 3121 | return 0; |
---|