@@ -728,6 +728,41 @@ static struct clk_rcg2 blsp1_uart6_apps_clk_src = {
728728 },
729729};
730730
731+ static const struct freq_tbl ftbl_gcc_crypto_clk_src [] = {
732+ F (160000000 , P_GPLL0 , 5 , 0 , 0 ),
733+ { }
734+ };
735+
736+ static struct clk_rcg2 gcc_crypto_clk_src = {
737+ .cmd_rcgr = 0x16004 ,
738+ .freq_tbl = ftbl_gcc_crypto_clk_src ,
739+ .hid_width = 5 ,
740+ .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map ,
741+ .clkr .hw .init = & (const struct clk_init_data ) {
742+ .name = "gcc_crypto_clk_src" ,
743+ .parent_data = gcc_xo_gpll0_gpll0_out_main_div2 ,
744+ .num_parents = ARRAY_SIZE (gcc_xo_gpll0_gpll0_out_main_div2 ),
745+ .ops = & clk_rcg2_ops ,
746+ },
747+ };
748+
749+ static struct clk_branch gcc_crypto_clk = {
750+ .halt_reg = 0x1600c ,
751+ .halt_check = BRANCH_HALT_VOTED ,
752+ .clkr = {
753+ .enable_reg = 0x0b004 ,
754+ .enable_mask = BIT (14 ),
755+ .hw .init = & (const struct clk_init_data ) {
756+ .name = "gcc_crypto_clk" ,
757+ .parent_hws = (const struct clk_hw * []) {
758+ & gcc_crypto_clk_src .clkr .hw },
759+ .num_parents = 1 ,
760+ .flags = CLK_SET_RATE_PARENT ,
761+ .ops = & clk_branch2_ops ,
762+ },
763+ },
764+ };
765+
731766static struct clk_branch gcc_apss_ahb_clk = {
732767 .halt_reg = 0x24018 ,
733768 .halt_check = BRANCH_HALT_VOTED ,
@@ -2071,6 +2106,38 @@ static struct clk_rcg2 pcnoc_bfdcd_clk_src = {
20712106 },
20722107};
20732108
2109+ static struct clk_branch gcc_crypto_axi_clk = {
2110+ .halt_reg = 0x16010 ,
2111+ .clkr = {
2112+ .enable_reg = 0x16010 ,
2113+ .enable_mask = BIT (0 ),
2114+ .hw .init = & (const struct clk_init_data ) {
2115+ .name = "gcc_crypto_axi_clk" ,
2116+ .parent_hws = (const struct clk_hw * []) {
2117+ & pcnoc_bfdcd_clk_src .clkr .hw },
2118+ .num_parents = 1 ,
2119+ .flags = CLK_SET_RATE_PARENT ,
2120+ .ops = & clk_branch2_ops ,
2121+ },
2122+ },
2123+ };
2124+
2125+ static struct clk_branch gcc_crypto_ahb_clk = {
2126+ .halt_reg = 0x16014 ,
2127+ .clkr = {
2128+ .enable_reg = 0x16014 ,
2129+ .enable_mask = BIT (0 ),
2130+ .hw .init = & (const struct clk_init_data ) {
2131+ .name = "gcc_crypto_ahb_clk" ,
2132+ .parent_hws = (const struct clk_hw * []) {
2133+ & pcnoc_bfdcd_clk_src .clkr .hw },
2134+ .num_parents = 1 ,
2135+ .flags = CLK_SET_RATE_PARENT ,
2136+ .ops = & clk_branch2_ops ,
2137+ },
2138+ },
2139+ };
2140+
20742141static struct clk_branch gcc_nsscfg_clk = {
20752142 .halt_reg = 0x1702c ,
20762143 .clkr = {
@@ -3880,6 +3947,10 @@ static struct clk_regmap *gcc_ipq9574_clks[] = {
38803947 [GCC_BLSP1_UART4_APPS_CLK ] = & gcc_blsp1_uart4_apps_clk .clkr ,
38813948 [GCC_BLSP1_UART5_APPS_CLK ] = & gcc_blsp1_uart5_apps_clk .clkr ,
38823949 [GCC_BLSP1_UART6_APPS_CLK ] = & gcc_blsp1_uart6_apps_clk .clkr ,
3950+ [GCC_CRYPTO_AHB_CLK ] = & gcc_crypto_ahb_clk .clkr ,
3951+ [GCC_CRYPTO_AXI_CLK ] = & gcc_crypto_axi_clk .clkr ,
3952+ [GCC_CRYPTO_CLK ] = & gcc_crypto_clk .clkr ,
3953+ [GCC_CRYPTO_CLK_SRC ] = & gcc_crypto_clk_src .clkr ,
38833954 [PCIE0_AXI_M_CLK_SRC ] = & pcie0_axi_m_clk_src .clkr ,
38843955 [GCC_PCIE0_AXI_M_CLK ] = & gcc_pcie0_axi_m_clk .clkr ,
38853956 [PCIE1_AXI_M_CLK_SRC ] = & pcie1_axi_m_clk_src .clkr ,
@@ -4063,6 +4134,7 @@ static const struct qcom_reset_map gcc_ipq9574_resets[] = {
40634134 [GCC_CMN_BLK_AHB_ARES ] = { 0x3a010 , 0 },
40644135 [GCC_CMN_BLK_SYS_ARES ] = { 0x3a010 , 1 },
40654136 [GCC_CMN_BLK_APU_ARES ] = { 0x3a010 , 2 },
4137+ [GCC_CRYPTO_BCR ] = { 0x16000 , 0 },
40664138 [GCC_DCC_BCR ] = { 0x35000 , 0 },
40674139 [GCC_DDRSS_BCR ] = { 0x11000 , 0 },
40684140 [GCC_IMEM_BCR ] = { 0x0e000 , 0 },
0 commit comments