@ -18,6 +18,7 @@
# include "clk-mtk.h"
# include "clk-mtk.h"
# include "clk-gate.h"
# include "clk-gate.h"
# include "clk-cpumux.h"
# include <dt-bindings/clock/mt8173-clk.h>
# include <dt-bindings/clock/mt8173-clk.h>
@ -525,6 +526,25 @@ static const char * const i2s3_b_ck_parents[] __initconst = {
" apll2_div5 "
" apll2_div5 "
} ;
} ;
static const char * const ca53_parents [ ] __initconst = {
" clk26m " ,
" armca7pll " ,
" mainpll " ,
" univpll "
} ;
static const char * const ca57_parents [ ] __initconst = {
" clk26m " ,
" armca15pll " ,
" mainpll " ,
" univpll "
} ;
static const struct mtk_composite cpu_muxes [ ] __initconst = {
MUX ( CLK_INFRA_CA53SEL , " infra_ca53_sel " , ca53_parents , 0x0000 , 0 , 2 ) ,
MUX ( CLK_INFRA_CA57SEL , " infra_ca57_sel " , ca57_parents , 0x0000 , 2 , 2 ) ,
} ;
static const struct mtk_composite top_muxes [ ] __initconst = {
static const struct mtk_composite top_muxes [ ] __initconst = {
/* CLK_CFG_0 */
/* CLK_CFG_0 */
MUX ( CLK_TOP_AXI_SEL , " axi_sel " , axi_parents , 0x0040 , 0 , 3 ) ,
MUX ( CLK_TOP_AXI_SEL , " axi_sel " , axi_parents , 0x0040 , 0 , 3 ) ,
@ -948,6 +968,9 @@ static void __init mtk_infrasys_init(struct device_node *node)
clk_data ) ;
clk_data ) ;
mtk_clk_register_factors ( infra_divs , ARRAY_SIZE ( infra_divs ) , clk_data ) ;
mtk_clk_register_factors ( infra_divs , ARRAY_SIZE ( infra_divs ) , clk_data ) ;
mtk_clk_register_cpumuxes ( node , cpu_muxes , ARRAY_SIZE ( cpu_muxes ) ,
clk_data ) ;
r = of_clk_add_provider ( node , of_clk_src_onecell_get , clk_data ) ;
r = of_clk_add_provider ( node , of_clk_src_onecell_get , clk_data ) ;
if ( r )
if ( r )
pr_err ( " %s(): could not register clock provider: %d \n " ,
pr_err ( " %s(): could not register clock provider: %d \n " ,