Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3647651ybt; Sun, 5 Jul 2020 02:19:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzOlZeSMFwxGGUNzm+cWqJbuiml4xnnD5UU+nSTmjQfBd0qnbKt0GFa/n7CqfLrXYp9Copn X-Received: by 2002:a50:f9c9:: with SMTP id a9mr51935136edq.89.1593940740428; Sun, 05 Jul 2020 02:19:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593940740; cv=none; d=google.com; s=arc-20160816; b=xkHA3hdQl1qN5YBmXen10+JIqoQcQSE3SYqwHn3sOrzxxUIKsyu6d6eTrA+uZWD8Hh fD08Ab0Pqoj6GcYPnO2yFjZ4l4beH78iBnSa/5Ld91jde8glawaeeBjEZAQTT03h0MvW hJzM9+y17BZyWg10zw3Gf3BMSZkZA8G/TABfafjnsFPQzJOOdSbhSglJH1gpCfWMn3Z7 k7qCpTecETSPyVZBv5MHeUYQT/od0zA7a/H3kXjB7gx7fOol2VTdkShTHkpohIX5uaaO BmczUkh7VUkT9VGNoXvwhkGp/XgwlqVbAILeT+pDQNXY7O0JkcmZN0/7vAkZHawO/vex bmTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=eWKPzzI+YUZeKD1zZgQHIVmYw3I2ssxv3o6rIsOvRqY=; b=BqoT0LvvyqtngkZzHNO2wvG0oony6mGIm4JxqbknbDVDGJTlNKFu/7GH0ybPQmUduo TC744kOQ2PYkiG0zNB2bBDWUcrPz3gnEmQHz0JfTZ1as2zs1FPYNDn3acGhm0PJU73eO 9aKgEiLoClM/Ob7r6JziR6AEZV1ZFbrSPu6/UM0QbGvhyFMCXw22H9kLiY2bEJ0Zpcgk zafP3rxbAiCEx7ughg0ARGjbmnCS2nXCyO1L2NQCuPFXj4bzCc363ZWiKyF3aKm7eZLM ANB1fYFfJrjD0FVay5NQ1qXaQVP+rrVQhKoxz798M5D6BXl2sEh0JbKuxpCLDGvhP/XL JtDA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y13si13245842ede.144.2020.07.05.02.18.32; Sun, 05 Jul 2020 02:19:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726745AbgGEJSU (ORCPT + 99 others); Sun, 5 Jul 2020 05:18:20 -0400 Received: from alexa-out-sd-01.qualcomm.com ([199.106.114.38]:46998 "EHLO alexa-out-sd-01.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726496AbgGEJSS (ORCPT ); Sun, 5 Jul 2020 05:18:18 -0400 Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-01.qualcomm.com with ESMTP; 05 Jul 2020 02:18:17 -0700 Received: from sivaprak-linux.qualcomm.com ([10.201.3.202]) by ironmsg03-sd.qualcomm.com with ESMTP; 05 Jul 2020 02:18:11 -0700 Received: by sivaprak-linux.qualcomm.com (Postfix, from userid 459349) id A85DB213B5; Sun, 5 Jul 2020 14:48:09 +0530 (IST) From: Sivaprakash Murugesan To: agross@kernel.org, bjorn.andersson@linaro.org, bhelgaas@google.com, robh+dt@kernel.org, kishon@ti.com, vkoul@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, svarbanov@mm-sol.com, lorenzo.pieralisi@arm.com, p.zabel@pengutronix.de, sivaprak@codeaurora.org, mgautam@codeaurora.org, smuthayy@codeaurora.org, varada@codeaurora.org, linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org Cc: Selvam Sathappan Periakaruppan Subject: [PATCH 4/9] clk: qcom: ipq8074: Add missing clocks for pcie Date: Sun, 5 Jul 2020 14:47:55 +0530 Message-Id: <1593940680-2363-5-git-send-email-sivaprak@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1593940680-2363-1-git-send-email-sivaprak@codeaurora.org> References: <1593940680-2363-1-git-send-email-sivaprak@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add missing clocks and resets for pcie port0 of ipq8074 devices. Co-developed-by: Selvam Sathappan Periakaruppan Signed-off-by: Selvam Sathappan Periakaruppan Signed-off-by: Sivaprakash Murugesan --- drivers/clk/qcom/gcc-ipq8074.c | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c index e01f5f591d1e..443e28cda8ed 100644 --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c @@ -4316,6 +4316,62 @@ static struct clk_branch gcc_gp3_clk = { }, }; +struct freq_tbl ftbl_pcie_rchng_clk_src[] = { + F(19200000, P_XO, 1, 0, 0), + F(100000000, P_GPLL0, 8, 0, 0), + { } +}; + +struct clk_rcg2 pcie0_rchng_clk_src = { + .cmd_rcgr = 0x75070, + .freq_tbl = ftbl_pcie_rchng_clk_src, + .hid_width = 5, + .parent_map = gcc_xo_gpll0_map, + .clkr.hw.init = &(struct clk_init_data){ + .name = "pcie0_rchng_clk_src", + .parent_hws = (const struct clk_hw *[]) { + &gpll0.clkr.hw }, + .num_parents = 2, + .ops = &clk_rcg2_ops, + }, +}; + +static struct clk_branch gcc_pcie0_rchng_clk = { + .halt_reg = 0x75070, + .halt_bit = 31, + .clkr = { + .enable_reg = 0x75070, + .enable_mask = BIT(1), + .hw.init = &(struct clk_init_data){ + .name = "gcc_pcie0_rchng_clk", + .parent_hws = (const struct clk_hw *[]){ + &pcie0_rchng_clk_src.clkr.hw, + }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, + .ops = &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie0_axi_s_bridge_clk = { + .halt_reg = 0x75048, + .halt_bit = 31, + .clkr = { + .enable_reg = 0x75048, + .enable_mask = BIT(0), + .hw.init = &(struct clk_init_data){ + .name = "gcc_pcie0_axi_s_bridge_clk", + .parent_hws = (const struct clk_hw *[]){ + &pcie0_axi_clk_src.clkr.hw, + }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, + .ops = &clk_branch2_ops, + }, + }, +}; + static struct clk_hw *gcc_ipq8074_hws[] = { &gpll0_out_main_div2.hw, &gpll6_out_main_div2.hw, @@ -4551,6 +4607,9 @@ static struct clk_regmap *gcc_ipq8074_clks[] = { [GCC_GP1_CLK] = &gcc_gp1_clk.clkr, [GCC_GP2_CLK] = &gcc_gp2_clk.clkr, [GCC_GP3_CLK] = &gcc_gp3_clk.clkr, + [GCC_PCIE0_RCHNG_CLK_SRC] = &pcie0_rchng_clk_src.clkr, + [GCC_PCIE0_RCHNG_CLK] = &gcc_pcie0_rchng_clk.clkr, + [GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr, }; static const struct qcom_reset_map gcc_ipq8074_resets[] = { @@ -4678,6 +4737,7 @@ static const struct qcom_reset_map gcc_ipq8074_resets[] = { [GCC_PCIE0_AXI_SLAVE_ARES] = { 0x75040, 4 }, [GCC_PCIE0_AHB_ARES] = { 0x75040, 5 }, [GCC_PCIE0_AXI_MASTER_STICKY_ARES] = { 0x75040, 6 }, + [GCC_PCIE0_AXI_SLAVE_STICKY_ARES] = { 0x75040, 7 }, [GCC_PCIE1_PIPE_ARES] = { 0x76040, 0 }, [GCC_PCIE1_SLEEP_ARES] = { 0x76040, 1 }, [GCC_PCIE1_CORE_STICKY_ARES] = { 0x76040, 2 }, -- 2.7.4