Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: rockchip: fix rk3066 pll status register location

The register providing the pll lock status is at a different address on the
rk3066. The error became apparent while working on cpufreq support for
the rockchip SoCs.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>

+7 -3
+7 -3
drivers/clk/rockchip/clk-rk3188.c
··· 19 19 #include <dt-bindings/clock/rk3188-cru-common.h> 20 20 #include "clk.h" 21 21 22 + #define RK3066_GRF_SOC_STATUS 0x15c 22 23 #define RK3188_GRF_SOC_STATUS 0xac 23 24 24 25 enum rk3188_plls { ··· 630 629 pr_warn("%s: could not register clock usb480m: %ld\n", 631 630 __func__, PTR_ERR(clk)); 632 631 633 - rockchip_clk_register_plls(rk3188_pll_clks, 634 - ARRAY_SIZE(rk3188_pll_clks), 635 - RK3188_GRF_SOC_STATUS); 636 632 rockchip_clk_register_branches(common_clk_branches, 637 633 ARRAY_SIZE(common_clk_branches)); 638 634 rockchip_clk_protect_critical(rk3188_critical_clocks, ··· 642 644 static void __init rk3066a_clk_init(struct device_node *np) 643 645 { 644 646 rk3188_common_clk_init(np); 647 + rockchip_clk_register_plls(rk3188_pll_clks, 648 + ARRAY_SIZE(rk3188_pll_clks), 649 + RK3066_GRF_SOC_STATUS); 645 650 rockchip_clk_register_branches(rk3066a_clk_branches, 646 651 ARRAY_SIZE(rk3066a_clk_branches)); 647 652 } ··· 653 652 static void __init rk3188a_clk_init(struct device_node *np) 654 653 { 655 654 rk3188_common_clk_init(np); 655 + rockchip_clk_register_plls(rk3188_pll_clks, 656 + ARRAY_SIZE(rk3188_pll_clks), 657 + RK3188_GRF_SOC_STATUS); 656 658 rockchip_clk_register_branches(rk3188_clk_branches, 657 659 ARRAY_SIZE(rk3188_clk_branches)); 658 660 }