Received: by 10.213.65.68 with SMTP id h4csp1957938imn; Thu, 29 Mar 2018 14:28:17 -0700 (PDT) X-Google-Smtp-Source: AIpwx49hnC6du5EFmtV7CPP3xAFM96IVDvQrhNT7K1Gdm6hMYh1fdPhPpoeJ6nn2YO2NzPIx5eMH X-Received: by 2002:a17:902:5501:: with SMTP id f1-v6mr9961559pli.50.1522358897215; Thu, 29 Mar 2018 14:28:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522358897; cv=none; d=google.com; s=arc-20160816; b=j2FKBwd8ZiRm+lrg7wRJ7MrJ0pktMD1vpsxF+4fYnh3/yrP3wCLhqHSFMghRQOYEv6 MXZ05f6smFEHZfhJNhDF4EVDlmmXDmhFg+iP2P7UyTM3Xp0O/Q+TF691cv+7XlC0z3/g RG07GxuF4O/iTTIYUQaiZeZITFzL8rwztLzCzOXZFHyUKaJXfK48ea8Hyp3+8hZiyzJr OVVA9j3AS8ty+GcFl7dmt/Wqc7CzXgpuokOyadOVGRqZnBQlLo2c/EDzCdL9sgt61Gzp 4gw6Zxc7M2FOvTqvr67P6l9jCZi1pPyFVK9QELFNrlIklQeR1XgypGTktt6/zWQ5TGGR SxiA== 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=LLNDBQ+MwCYN6QfASyCgiZrZfNH1N50RgVgu5v6+4hk=; b=QW6vKoky+vNBsbTU8rRf7HREkpfr0vPtllge3viv7GoiMeZMwZbRbLzHqpxdW6xCp5 fBoKOl0g5xMiFkHwUD/tO54eQNGyBN1dyFSAM2GuX1IrfL5cGRAjn/aZt/YC9+IGPOAY 51r/flxoSukR8e216PaNYulmiT8q9q2UfTeIyMWIrpRwPzO1JbgKQ3SxhIGTLept/pxK jeLxhQ9/I4XL6S1QqkXRJmy9HF1TiwnWTi7V/2sJVMaXN8OnsJDg8QpiXE0CKbLaU6QW Go3IqfCBTcwxnYSGqwTiFRx3dnhodpdygAsK3UWxOpgAeQ9F06po3Z/80pDvSNbWEA3o 90Bg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=VONKQt4K; dkim=pass header.i=@codeaurora.org header.s=default header.b=dtfFnHPD; 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 y14si5126396pff.54.2018.03.29.14.28.03; Thu, 29 Mar 2018 14:28:17 -0700 (PDT) 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=VONKQt4K; dkim=pass header.i=@codeaurora.org header.s=default header.b=dtfFnHPD; 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 S1752043AbeC2V1B (ORCPT + 99 others); Thu, 29 Mar 2018 17:27:01 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:60286 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751182AbeC2V06 (ORCPT ); Thu, 29 Mar 2018 17:26:58 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 1DE0060F61; Thu, 29 Mar 2018 21:26:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1522358818; bh=dTf2LEQ2eh4BB5bYAk5GuhzgvV9kRgtJynFBcJ0yfVg=; h=From:To:Cc:Subject:Date:From; b=VONKQt4KnK4UpAmzVSTB+rTgfPNXCAQaBXtAbuuk2/J2XlGuvWuRiXoFTmk2qirEW M1laY8y51o2W50FGvDbLC3eXQDR+Ipm7uN5rSqV1Y9NML2r0oayS0ApHUeb6wgyrl6 YNKoTCfaVrzQWycM9wOvQUxN2eljNwcVh1eGfWGs= 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 lx-ilial.mea.qualcomm.com (unknown [185.23.60.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: ilialin@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id AF02D6028D; Thu, 29 Mar 2018 21:26:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1522358817; bh=dTf2LEQ2eh4BB5bYAk5GuhzgvV9kRgtJynFBcJ0yfVg=; h=From:To:Cc:Subject:Date:From; b=dtfFnHPD4VRr8CssE4dC7EWZdvevWzFsV46EjUN9H7KWkS9SygqbxTROKa4FmW/7Z 2Hr5rQe4PosRcTrxYgNF3SXV0bpwSY/wMX06z/jG7YjTe2xkDhP2jOPJHLejbH4ndq bO64ieKbMhmj/2i8QJmFFAZy/kY/Kc3Q8JrrFGbI= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org AF02D6028D 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=ilialin@codeaurora.org From: Ilia Lin To: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, mark.rutland@arm.com, rjw@rjwysocki.net, viresh.kumar@linaro.org, lgirdwood@gmail.com, broonie@kernel.org, andy.gross@linaro.org, david.brown@linaro.org, catalin.marinas@arm.com, will.deacon@arm.com, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: rnayak@codeaurora.org, ilialin@codeaurora.org, amit.kucheria@linaro.org, nicolas.dechesne@linaro.org, celster@codeaurora.org, tfinkel@codeaurora.org Subject: [PATCH v4 00/14] CPU scaling support for msm8996 Date: Fri, 30 Mar 2018 00:26:33 +0300 Message-Id: <1522358807-10413-1-git-send-email-ilialin@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 [v4] * Adressed comments from Stephen * Added CPU regulator support * Added qcom-cpufreq-kryo driver [v3] * Rebased on top of the latest PLL driver changes * Addressed comment from Rob Herring for bindings [v2] * Addressed comments from Rob Herring for bindings * Addressed comments from Mark Rutland for memory barrier * Addressed comments from Julien Thierry for clock reenabling condition * Tuned the HW configuration for clock frequencies below 600MHz Clocks: This series adds support for the CPU clocks on msm8996 devices. The driver uses the existing PLL drivers and is required to control the CPU frequency scaling on the MSM8996. Regulators: Added SAW regulator support to the SPMI regulator driver. The SAW regulators will be controlled through special CPU registers instead of direct SPMI accesses. Cpufreq: The qcom-cpufreq-kryo driver is aimed to support different SOC versions. The driver reads eFuse information and chooses the required OPP subset by passing the OPP supported-hw parameter. A previous post of RFC can be found here: https://patchwork.kernel.org/patch/10218991/ Ilia Lin (10): soc: qcom: Separate kryo l2 accessors from PMU driver clk: qcom: Add DT bindings for CPU clock driver for msm8996 clk: qcom: Add ACD path to CPU clock driver for msm8996 dt: qcom: Add opp and thermal to the msm8996 regulator: qcom_spmi: Add support for SAW dt-bindings: Add support for SAW documentation dt: qcom: Add SAW regulator for 8x96 CPUs cpufreq: Add Kryo CPU scaling driver dt-bindings: cpufreq: Document operating-points-v2-kryo-cpu dt: qcom: Add qcom-cpufreq-kryo driver configuration Rajendra Nayak (4): clk: qcom: Make clk_alpha_pll_configure available to modules clk: qcom: Add CPU clock driver for msm8996 clk: qcom: cpu-8996: Add support to switch to alternate PLL clk: qcom: cpu-8996: Add support to switch below 600Mhz .../devicetree/bindings/clock/qcom,kryocc.txt | 17 + .../devicetree/bindings/cpufreq/kryo-cpufreq.txt | 693 +++++++++++++++++++++ .../bindings/regulator/qcom,spmi-regulator.txt | 45 ++ arch/arm64/boot/dts/qcom/apq8096-db820c.dts | 2 +- arch/arm64/boot/dts/qcom/msm8996.dtsi | 658 ++++++++++++++++++- drivers/clk/clk-fixed-factor.c | 2 +- drivers/clk/qcom/Kconfig | 8 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/clk-alpha-pll.c | 1 + drivers/clk/qcom/clk-alpha-pll.h | 6 + drivers/clk/qcom/clk-cpu-8996.c | 520 ++++++++++++++++ drivers/cpufreq/Kconfig.arm | 11 + drivers/cpufreq/Makefile | 1 + drivers/cpufreq/cpufreq-dt-platdev.c | 3 + drivers/cpufreq/qcom-cpufreq-kryo.c | 147 +++++ drivers/perf/qcom_l2_pmu.c | 44 +- drivers/regulator/qcom_spmi-regulator.c | 133 +++- drivers/soc/qcom/Makefile | 2 + drivers/soc/qcom/kryo-l2-accessors.c | 66 ++ include/soc/qcom/kryo-l2-accessors.h | 20 + 20 files changed, 2324 insertions(+), 56 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/qcom,kryocc.txt create mode 100644 Documentation/devicetree/bindings/cpufreq/kryo-cpufreq.txt create mode 100644 drivers/clk/qcom/clk-cpu-8996.c create mode 100644 drivers/cpufreq/qcom-cpufreq-kryo.c create mode 100644 drivers/soc/qcom/kryo-l2-accessors.c create mode 100644 include/soc/qcom/kryo-l2-accessors.h -- 1.9.1