From 8ad90a90e52e2970a01cc18b6c68c7e0004fd743 Mon Sep 17 00:00:00 2001 From: Zhiqiang Tu Date: Mon, 11 Dec 2017 16:54:05 +0800 Subject: clk: msm: virtual clock adds support for usb, lpass and modem Support usb, lpass and modem clocks in msm8996 virtual clock frontend driver. Change-Id: I5ee4f2d951f133a8403442707e633563efdc5c65 Signed-off-by: Zhiqiang Tu --- drivers/clk/msm/virtclk-front-8996.c | 144 +++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) diff --git a/drivers/clk/msm/virtclk-front-8996.c b/drivers/clk/msm/virtclk-front-8996.c index 84cd55bd85bf..2e978cd3a456 100644 --- a/drivers/clk/msm/virtclk-front-8996.c +++ b/drivers/clk/msm/virtclk-front-8996.c @@ -337,6 +337,134 @@ static struct virtclk_front gcc_sdcc2_apps_clk = { }, }; +static struct virtclk_front gcc_usb3_phy_pipe_clk = { + .c = { + .dbg_name = "gcc_usb3_phy_pipe_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_usb3_phy_pipe_clk.c), + }, +}; + +static struct virtclk_front gcc_usb3_phy_aux_clk = { + .c = { + .dbg_name = "gcc_usb3_phy_aux_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_usb3_phy_aux_clk.c), + }, +}; + +static struct virtclk_front gcc_usb30_mock_utmi_clk = { + .c = { + .dbg_name = "gcc_usb30_mock_utmi_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_usb30_mock_utmi_clk.c), + }, +}; + +static struct virtclk_front gcc_aggre2_usb3_axi_clk = { + .c = { + .dbg_name = "gcc_aggre2_usb3_axi_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_aggre2_usb3_axi_clk.c), + }, +}; + +static struct virtclk_front gcc_sys_noc_usb3_axi_clk = { + .c = { + .dbg_name = "gcc_sys_noc_usb3_axi_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_sys_noc_usb3_axi_clk.c), + }, +}; + +static struct virtclk_front gcc_usb30_master_clk = { + .c = { + .dbg_name = "gcc_usb30_master_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_usb30_master_clk.c), + }, +}; + +static struct virtclk_front gcc_usb30_sleep_clk = { + .c = { + .dbg_name = "gcc_usb30_sleep_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_usb30_sleep_clk.c), + }, +}; + +static struct virtclk_front gcc_usb_phy_cfg_ahb2phy_clk = { + .c = { + .dbg_name = "gcc_usb_phy_cfg_ahb2phy_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_usb_phy_cfg_ahb2phy_clk.c), + }, +}; + +static struct virtclk_front gcc_usb3_clkref_clk = { + .c = { + .dbg_name = "gcc_usb3_clkref_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_usb3_clkref_clk.c), + }, +}; + +static struct virtclk_front hlos1_vote_lpass_adsp_smmu_clk = { + .c = { + .dbg_name = "gcc_lpass_adsp_smmu_clk", + .ops = &virtclk_front_ops, + CLK_INIT(hlos1_vote_lpass_adsp_smmu_clk.c), + }, +}; + +static struct virtclk_front gcc_mss_cfg_ahb_clk = { + .c = { + .dbg_name = "gcc_mss_cfg_ahb_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_mss_cfg_ahb_clk.c), + }, +}; + +static struct virtclk_front gcc_mss_q6_bimc_axi_clk = { + .c = { + .dbg_name = "gcc_mss_q6_bimc_axi_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_mss_q6_bimc_axi_clk.c), + }, +}; + +static struct virtclk_front gcc_boot_rom_ahb_clk = { + .c = { + .dbg_name = "gcc_boot_rom_ahb_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_boot_rom_ahb_clk.c), + }, +}; + +static struct virtclk_front gpll0_out_msscc = { + .c = { + .dbg_name = "gcc_mss_gpll0_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gpll0_out_msscc.c), + }, +}; + +static struct virtclk_front gcc_mss_snoc_axi_clk = { + .c = { + .dbg_name = "gcc_mss_snoc_axi_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_mss_snoc_axi_clk.c), + }, +}; + +static struct virtclk_front gcc_mss_mnoc_bimc_axi_clk = { + .c = { + .dbg_name = "gcc_mss_mnoc_bimc_axi_clk", + .ops = &virtclk_front_ops, + CLK_INIT(gcc_mss_mnoc_bimc_axi_clk.c), + }, +}; + static struct clk_lookup msm_clocks_8996[] = { CLK_LIST(gcc_blsp1_ahb_clk), CLK_LIST(gcc_blsp1_qup1_spi_apps_clk), @@ -378,6 +506,22 @@ static struct clk_lookup msm_clocks_8996[] = { CLK_LIST(gcc_blsp2_uart6_apps_clk), CLK_LIST(gcc_sdcc2_ahb_clk), CLK_LIST(gcc_sdcc2_apps_clk), + CLK_LIST(gcc_usb3_phy_pipe_clk), + CLK_LIST(gcc_usb3_phy_aux_clk), + CLK_LIST(gcc_usb30_mock_utmi_clk), + CLK_LIST(gcc_aggre2_usb3_axi_clk), + CLK_LIST(gcc_sys_noc_usb3_axi_clk), + CLK_LIST(gcc_usb30_master_clk), + CLK_LIST(gcc_usb30_sleep_clk), + CLK_LIST(gcc_usb_phy_cfg_ahb2phy_clk), + CLK_LIST(gcc_usb3_clkref_clk), + CLK_LIST(hlos1_vote_lpass_adsp_smmu_clk), + CLK_LIST(gcc_mss_cfg_ahb_clk), + CLK_LIST(gcc_mss_q6_bimc_axi_clk), + CLK_LIST(gcc_boot_rom_ahb_clk), + CLK_LIST(gpll0_out_msscc), + CLK_LIST(gcc_mss_snoc_axi_clk), + CLK_LIST(gcc_mss_mnoc_bimc_axi_clk), }; static const struct of_device_id msm8996_virtclk_front_match_table[] = { -- cgit v1.2.3