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

clk: qcom: gcc: Add missing UFS clocks for SM8150

Add the missing ufs card and ufs phy clocks for SM8150. They were missed
in earlier addition of clock driver.

Fixes: 2a1d7eb854bb ("clk: qcom: gcc: Add global clock controller driver for SM8150")
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Link: https://lkml.kernel.org/r/20200513065420.32735-2-vkoul@kernel.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Vinod Koul and committed by
Stephen Boyd
37c72e4c f73a4230

+84
+84
drivers/clk/qcom/gcc-sm8150.c
··· 2873 2873 }, 2874 2874 }; 2875 2875 2876 + /* external clocks so add BRANCH_HALT_SKIP */ 2877 + static struct clk_branch gcc_ufs_card_rx_symbol_0_clk = { 2878 + .halt_check = BRANCH_HALT_SKIP, 2879 + .clkr = { 2880 + .enable_reg = 0x7501c, 2881 + .enable_mask = BIT(0), 2882 + .hw.init = &(struct clk_init_data){ 2883 + .name = "gcc_ufs_card_rx_symbol_0_clk", 2884 + .ops = &clk_branch2_ops, 2885 + }, 2886 + }, 2887 + }; 2888 + 2889 + /* external clocks so add BRANCH_HALT_SKIP */ 2890 + static struct clk_branch gcc_ufs_card_rx_symbol_1_clk = { 2891 + .halt_check = BRANCH_HALT_SKIP, 2892 + .clkr = { 2893 + .enable_reg = 0x750ac, 2894 + .enable_mask = BIT(0), 2895 + .hw.init = &(struct clk_init_data){ 2896 + .name = "gcc_ufs_card_rx_symbol_1_clk", 2897 + .ops = &clk_branch2_ops, 2898 + }, 2899 + }, 2900 + }; 2901 + 2902 + /* external clocks so add BRANCH_HALT_SKIP */ 2903 + static struct clk_branch gcc_ufs_card_tx_symbol_0_clk = { 2904 + .halt_check = BRANCH_HALT_SKIP, 2905 + .clkr = { 2906 + .enable_reg = 0x75018, 2907 + .enable_mask = BIT(0), 2908 + .hw.init = &(struct clk_init_data){ 2909 + .name = "gcc_ufs_card_tx_symbol_0_clk", 2910 + .ops = &clk_branch2_ops, 2911 + }, 2912 + }, 2913 + }; 2914 + 2876 2915 static struct clk_branch gcc_ufs_card_unipro_core_clk = { 2877 2916 .halt_reg = 0x75058, 2878 2917 .halt_check = BRANCH_HALT, ··· 3088 3049 .num_parents = 1, 3089 3050 .flags = CLK_SET_RATE_PARENT, 3090 3051 .ops = &clk_branch_simple_ops, 3052 + }, 3053 + }, 3054 + }; 3055 + 3056 + /* external clocks so add BRANCH_HALT_SKIP */ 3057 + static struct clk_branch gcc_ufs_phy_rx_symbol_0_clk = { 3058 + .halt_check = BRANCH_HALT_SKIP, 3059 + .clkr = { 3060 + .enable_reg = 0x7701c, 3061 + .enable_mask = BIT(0), 3062 + .hw.init = &(struct clk_init_data){ 3063 + .name = "gcc_ufs_phy_rx_symbol_0_clk", 3064 + .ops = &clk_branch2_ops, 3065 + }, 3066 + }, 3067 + }; 3068 + 3069 + /* external clocks so add BRANCH_HALT_SKIP */ 3070 + static struct clk_branch gcc_ufs_phy_rx_symbol_1_clk = { 3071 + .halt_check = BRANCH_HALT_SKIP, 3072 + .clkr = { 3073 + .enable_reg = 0x770ac, 3074 + .enable_mask = BIT(0), 3075 + .hw.init = &(struct clk_init_data){ 3076 + .name = "gcc_ufs_phy_rx_symbol_1_clk", 3077 + .ops = &clk_branch2_ops, 3078 + }, 3079 + }, 3080 + }; 3081 + 3082 + /* external clocks so add BRANCH_HALT_SKIP */ 3083 + static struct clk_branch gcc_ufs_phy_tx_symbol_0_clk = { 3084 + .halt_check = BRANCH_HALT_SKIP, 3085 + .clkr = { 3086 + .enable_reg = 0x77018, 3087 + .enable_mask = BIT(0), 3088 + .hw.init = &(struct clk_init_data){ 3089 + .name = "gcc_ufs_phy_tx_symbol_0_clk", 3090 + .ops = &clk_branch2_ops, 3091 3091 }, 3092 3092 }, 3093 3093 }; ··· 3627 3549 [GCC_UFS_CARD_PHY_AUX_CLK_SRC] = &gcc_ufs_card_phy_aux_clk_src.clkr, 3628 3550 [GCC_UFS_CARD_PHY_AUX_HW_CTL_CLK] = 3629 3551 &gcc_ufs_card_phy_aux_hw_ctl_clk.clkr, 3552 + [GCC_UFS_CARD_RX_SYMBOL_0_CLK] = &gcc_ufs_card_rx_symbol_0_clk.clkr, 3553 + [GCC_UFS_CARD_RX_SYMBOL_1_CLK] = &gcc_ufs_card_rx_symbol_1_clk.clkr, 3554 + [GCC_UFS_CARD_TX_SYMBOL_0_CLK] = &gcc_ufs_card_tx_symbol_0_clk.clkr, 3630 3555 [GCC_UFS_CARD_UNIPRO_CORE_CLK] = &gcc_ufs_card_unipro_core_clk.clkr, 3631 3556 [GCC_UFS_CARD_UNIPRO_CORE_CLK_SRC] = 3632 3557 &gcc_ufs_card_unipro_core_clk_src.clkr, ··· 3647 3566 [GCC_UFS_PHY_PHY_AUX_CLK] = &gcc_ufs_phy_phy_aux_clk.clkr, 3648 3567 [GCC_UFS_PHY_PHY_AUX_CLK_SRC] = &gcc_ufs_phy_phy_aux_clk_src.clkr, 3649 3568 [GCC_UFS_PHY_PHY_AUX_HW_CTL_CLK] = &gcc_ufs_phy_phy_aux_hw_ctl_clk.clkr, 3569 + [GCC_UFS_PHY_RX_SYMBOL_0_CLK] = &gcc_ufs_phy_rx_symbol_0_clk.clkr, 3570 + [GCC_UFS_PHY_RX_SYMBOL_1_CLK] = &gcc_ufs_phy_rx_symbol_1_clk.clkr, 3571 + [GCC_UFS_PHY_TX_SYMBOL_0_CLK] = &gcc_ufs_phy_tx_symbol_0_clk.clkr, 3650 3572 [GCC_UFS_PHY_UNIPRO_CORE_CLK] = &gcc_ufs_phy_unipro_core_clk.clkr, 3651 3573 [GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC] = 3652 3574 &gcc_ufs_phy_unipro_core_clk_src.clkr,