Received: by 10.223.185.116 with SMTP id b49csp5989243wrg; Wed, 7 Mar 2018 23:19:41 -0800 (PST) X-Google-Smtp-Source: AG47ELtpShRIW0kL3o92B+MOncFRPIHGOUEqg6evTPWB6nK3T3bos4zOpN8H8fSSrriUiHGcXK/6 X-Received: by 10.101.97.175 with SMTP id i15mr19982537pgv.55.1520493581284; Wed, 07 Mar 2018 23:19:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520493581; cv=none; d=google.com; s=arc-20160816; b=MD5QHgHkFK2/UTW5pZJqvhRgKaIDMWYgjs+Q3KQ4u/vgY0u0Vc9WxTtsBYZohHKkhg BELN0CErIF7QefkejD7y0e7lGtHPULudozEIMRbYRdI1KYbuI2KWsGlR61QFuUyifF+V yV2hzPEJGXk0N737zBlPX7b7wnbFlGscRU10gu6EuMZ5eePDHBFT8w/7AjUnOtTftyh5 DmfBmU0M7pD3Zn0hMaE4IZtn71+By2VOj1OCEe9RdWJne/A/gXka2PDYEcR7wl5wzt9K JRtJxPn3TUV68XSOfP26c30U+ad+5sj6UOj7vraIjwoqW08fibSNHS23U+qxNVVhViaT BL6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dmarc-filter:dkim-signature:dkim-signature :arc-authentication-results; bh=geIEIl7GSrIvWt26PhR2N+Y8ewtbaMO7Mn9DyLSouOo=; b=rDGotjohX6JmsK0MfO2N0h5UxyNJ93YlgCTwn4nv91ywzL+cvP/XGaSwysQ7RzpSqk lU0fLRaDDuV91pcfB66TtAfG04w0z9kVtBMCJxNTcMzckHTY85W2DyMPHzyXaH4eQmVX LypebDq71pMqyvlTloRwxC//rmWEDjyIYDJ2b8AxDizI4CtD0dkVIJdZSGcXYyttmtPk UfV55t2di+GpF9eemQ1gbo64n+ME8mmhtlA60/qu8fT+9Y0iN92Q7onW40uaflRaTtaU i8qhW5DBUdIAWFOmzG9U5hzM/mfGmxLQMONL4kjCNhEm78f8qHay062VUpIH+ZtkoVKB SIwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=d6eT7Nei; dkim=pass header.i=@codeaurora.org header.s=default header.b=iz1fLTpO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m11-v6si8039341plt.60.2018.03.07.23.19.26; Wed, 07 Mar 2018 23:19:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=d6eT7Nei; dkim=pass header.i=@codeaurora.org header.s=default header.b=iz1fLTpO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755030AbeCHHSb (ORCPT + 99 others); Thu, 8 Mar 2018 02:18:31 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:59794 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751377AbeCHHS2 (ORCPT ); Thu, 8 Mar 2018 02:18:28 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 582436022C; Thu, 8 Mar 2018 07:18:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1520493508; bh=4GYhJhwYhWzZJNs4yL4N7Qew7HE/yi7mU6MIzq4fdhw=; h=From:To:Cc:Subject:Date:From; b=d6eT7Nein+O1+UUD0DNFqNJZGANhx8z3lxZWJDYysE5NmMyp2u36mPUVjFIsiXKeZ W7/p64YQKqA5apVjc/p3bmKfhTzfdycLVh6x4INxWMIcJgCZ62wKZQPdC/qwssrVRn 0ILgR1esi/zHQ4EkMFFp/2y5wcXXLCOPaDXdaEqM= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from anischal-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: anischal@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id CF0DE601D3; Thu, 8 Mar 2018 07:18:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1520493507; bh=4GYhJhwYhWzZJNs4yL4N7Qew7HE/yi7mU6MIzq4fdhw=; h=From:To:Cc:Subject:Date:From; b=iz1fLTpO2p/4fb/AxEvom4TC+7L9xBD9HvmQXg7QbuzIgzkqzfe8Z1x6b3AsDqgV9 +Ws3jrxNCDj+z8XKVpm30JBYhZHrNte7LHNURzvOLRoQwX5w+/QPaMcQ1yM+OjuR+5 myhzPHI7oe1Blm7uJLVaPHL2VpBVm652QZACwd/s= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org CF0DE601D3 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=anischal@codeaurora.org From: Amit Nischal To: Stephen Boyd , Michael Turquette Cc: Andy Gross , David Brown , Rajendra Nayak , Odelu Kukatla , Taniya Das , linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Amit Nischal Subject: [PATCH v2 0/4] Misc patches to support clocks for SDM845 Date: Thu, 8 Mar 2018 12:48:11 +0530 Message-Id: <1520493495-3084-1-git-send-email-anischal@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Changes in v2: Fixup for recalc_rate ops for clk_rcg2_shared_ops: There could be few scenarios where shared clocks are configured at rate other than CXO by boot. In those cases there would be a mismatch between the rate calculated by the recalc shared ops and the actual HW register configuration. Fix the same by adding an additional check to read current src from CFG register and make a decision based on that. Changes in v1: https://lkml.org/lkml/2018/1/31/209 This patch series does the miscellaneous changes to support clock nodes for SDM845. Below are the major changes for which the existing code does not have support. 1. Clear hardware clock control bit of RCGs where HW clock control bit is set by default so that software can control those root clocks. 2. Introduces clk_rcg2_shared_ops to support clock controller drivers for SDM845. With new shared ops, RCGs with shared branches will be configured to a safe source in disable path and actual RCG update configuration will be done in enable path instead of doing config update in set_rate. In set_rate(), just cache the rate instead of doing actual configuration update. Also each RCG in clock controller driver will have their own safe configuration frequency table to switch to safe frequency. 3. Add support for controlling Fabia PLL for which the support is not available in existing alpha PLL code. 4. Add Global Clock controller (GCC) driver for SDM845. This should allow most non-multimedia device drivers to probe and control their clocks. Amit Nischal (3): clk: qcom: Clear hardware clock control bit of RCG clk: qcom: Configure the RCGs to a safe source as needed clk: qcom: Add support for controlling Fabia PLL Taniya Das (1): clk: qcom: Add Global Clock controller (GCC) driver for SDM845 .../devicetree/bindings/clock/qcom,gcc.txt | 1 + drivers/clk/qcom/Kconfig | 11 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/clk-alpha-pll.c | 324 +- drivers/clk/qcom/clk-alpha-pll.h | 18 +- drivers/clk/qcom/clk-rcg.h | 8 +- drivers/clk/qcom/clk-rcg2.c | 160 +- drivers/clk/qcom/gcc-sdm845.c | 3619 ++++++++++++++++++++ include/dt-bindings/clock/qcom,gcc-sdm845.h | 242 ++ 9 files changed, 4373 insertions(+), 11 deletions(-) create mode 100644 drivers/clk/qcom/gcc-sdm845.c create mode 100644 include/dt-bindings/clock/qcom,gcc-sdm845.h -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation