Lines Matching +full:mt8195 +full:- +full:topckgen
1 // SPDX-License-Identifier: GPL-2.0-only
4 // Author: Chun-Jie Chen <chun-jie.chen@mediatek.com>
6 #include "clk-gate.h"
7 #include "clk-mtk.h"
8 #include "clk-mux.h"
10 #include <dt-bindings/clock/mt8195-clk.h>
873 * top_spm and top_scp are main clocks in always-on co-processor.
961 * top_pwrmcu is main clock in other co-processor, should not be
1029 * top_mcupm is main clock in other co-processor, should not be
1110 * i2so4_mck is not used in MT8195.
1120 * i2so5_mck and i2si4_mck are not used in MT8195.
1128 * i2si5_mck is not used in MT8195.
1156 * top_ulposc/top_ulposc_core/top_srck are clock source of always on co-processor,
1182 /* apll12_div5 ~ 8 are not used in MT8195. */
1240 { .compatible = "mediatek,mt8195-topckgen", },
1252 return -ENOMEM; in clk_mt8195_reg_mfg_mux_notifier()
1254 mfg_mux_nb->ops = &clk_mux_ops; in clk_mt8195_reg_mfg_mux_notifier()
1255 mfg_mux_nb->bypass_index = 0; /* Bypass to TOP_MFG_CORE_TMP */ in clk_mt8195_reg_mfg_mux_notifier()
1263 struct device_node *node = pdev->dev.of_node; in clk_mt8195_topck_probe()
1270 return -ENOMEM; in clk_mt8195_topck_probe()
1287 r = mtk_clk_register_muxes(&pdev->dev, top_mtk_muxes, in clk_mt8195_topck_probe()
1293 hw = devm_clk_hw_register_mux(&pdev->dev, "mfg_ck_fast_ref", mfg_fast_parents, in clk_mt8195_topck_probe()
1300 top_clk_data->hws[CLK_TOP_MFG_CK_FAST_REF] = hw; in clk_mt8195_topck_probe()
1302 r = clk_mt8195_reg_mfg_mux_notifier(&pdev->dev, in clk_mt8195_topck_probe()
1303 top_clk_data->hws[CLK_TOP_MFG_CK_FAST_REF]->clk); in clk_mt8195_topck_probe()
1307 r = mtk_clk_register_composites(&pdev->dev, top_adj_divs, in clk_mt8195_topck_probe()
1313 r = mtk_clk_register_gates(&pdev->dev, node, top_clks, in clk_mt8195_topck_probe()
1344 struct device_node *node = pdev->dev.of_node; in clk_mt8195_topck_remove()
1359 .name = "clk-mt8195-topck",
1365 MODULE_DESCRIPTION("MediaTek MT8195 top clock generators driver");