Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4338955imm; Mon, 14 May 2018 06:14:52 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoA9wJ/1eh1hxAhY4+uMPKhn6xQka/tW+ppzaFCL5siH0uEuWZ1nNCZfhJQW1mo6LH6HTYR X-Received: by 2002:a17:902:b585:: with SMTP id a5-v6mr10053548pls.53.1526303692362; Mon, 14 May 2018 06:14:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526303692; cv=none; d=google.com; s=arc-20160816; b=t/L24Me/n2B8yMx25nUBMnm10r5HKgOT1REuai1xlccyxttHq8uvrSB5rn9Aq+ag8V ZV5Klse8bHGVPmQ9IUCmF0CTZFHBA/E7IDvq4W3TjZTwj0716JAYO2TzBHjFHCFSySZ8 TckhAku/HrbXpBpi+lckatmr3318zDl9fkx75d3GMlfYG7rb9DyHBmMl1/r6AJh/6SIh WUa47Fj6NrV2GII1YOxZBz4pTQ0oCu61g7JuoxklbQcP0UZnDCoBabOws3xXlFb9wnCl Nil0PAwooMAcbmL7q8brvVlbBaL1xt+jDWK/jLFov6EFtUdvXxRp84pCo/CpkFaUrz0m uMxA== 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=C2eFhQLTXL1EWCajT/rqEiySY8SaAf44SfM6pT4zc/w=; b=ZVXP30PogHaawRNu7FYwL8RicvQRqcZ5y8ZXlegFK2W/0HcRW4H3I3mIUByfDf9Roc 4SyKI6lUghTb+q+N/7IQcemNb2eWY+Hd38qWhGcjC9MOd2dBx/S1gBMkrvi1joV6m5To aogdB6ClXLy9bkiFWLS7DHBjwhdjPRa5YWpPjvO7IV2s7FFvic0wxl/gAIZkOqbA4R5r XnN5i7A8iXqFAFw85TcDhp0zPCf/Bw5a9tZenvEPZka62/aFS1cVcwTkpJkFvybzGSyi Ra/Ov2rjXQHWhATe8qm9abdduv5nHaXMi/N6neM+20aZrRXD6MrWhJ2u+YvrxTDOBCGJ aw+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=gh4AgaCY; dkim=pass header.i=@codeaurora.org header.s=default header.b=Z13SAg7A; 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 u7-v6si9376433plr.553.2018.05.14.06.14.35; Mon, 14 May 2018 06:14:52 -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=gh4AgaCY; dkim=pass header.i=@codeaurora.org header.s=default header.b=Z13SAg7A; 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 S932186AbeENNMN (ORCPT + 99 others); Mon, 14 May 2018 09:12:13 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:43238 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932123AbeENNMK (ORCPT ); Mon, 14 May 2018 09:12:10 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 5240560C64; Mon, 14 May 2018 13:12:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1526303529; bh=Uv+X/rN72wps9hNoZgYuX9xSmoGpe0/llhCUXkAqveM=; h=From:To:Cc:Subject:Date:From; b=gh4AgaCY2iiMzoxpBm2iuEhR6mWuTYq8i+e+czykALZmHbXPonqGti6dunRDvfcMO Og0MaeZFdDGlMUNVI1vdN2rYmumJL6+aZoE1aGUfsrYcWnDIVD4pvt/2G6PZCGMsgA kyXAeY+xF7/nBz7Sfb0moHMrhDUHcyGEUbPCgAeM= 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 D4F1560A00; Mon, 14 May 2018 13:12:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1526303528; bh=Uv+X/rN72wps9hNoZgYuX9xSmoGpe0/llhCUXkAqveM=; h=From:To:Cc:Subject:Date:From; b=Z13SAg7ACu9roQZB341yDZAk1NdEvC0leUmzoQwqSnDwli/M4QbRUDSJIPFAbsUuW e8mRxgk3m1D5urYZ/RedHEy3kZxIhboEu71nVhJ0ScJWkL6TKTOdOf/zBkz6bHgn0J cMzleDiNr9kL0+uHJoG/xaVH02eK81kmsnOmwtu4= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org D4F1560A00 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, viresh.kumar@linaro.org, nm@ti.com, lgirdwood@gmail.com, broonie@kernel.org, andy.gross@linaro.org, david.brown@linaro.org, catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net, linux-clk@vger.kernel.org Cc: 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, rnayak@codeaurora.org, ilialin@codeaurora.org, amit.kucheria@linaro.org, nicolas.dechesne@linaro.org, celster@codeaurora.org, tfinkel@codeaurora.org Subject: [PATCH v6 00/14] CPU scaling support for msm8996 Date: Mon, 14 May 2018 16:11:46 +0300 Message-Id: <1526303520-5843-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 [v6] * Addressed comments from Viresh about: ** Comments style ** Kconfig bool instead of tristate ** DT and documentation style ** Resourses deallocation on an error ** Typos [v5] * Rebased * Addressed comments from Bjorn about SPDX style, functions and parameters naming * Addressed comments from Viresh DT properties and style, comments style, resourses deallocation, documentation placement * Addressed comments from Sricharan about unnessesary include * Addressed comments from Nicolas * Addressed comments from Rob about the commit messages and acks * Addressed comments from Mark [v4] * Adressed all 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/10377887/ Ilia Lin (11): soc: qcom: Separate kryo l2 accessors from PMU driver clk: qcom: Add CPU clock driver for msm8996 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: qcom_spmi: 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 (3): clk: qcom: Make clk_alpha_pll_configure available to modules 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/opp/kryo-cpufreq.txt | 680 +++++++++++++++++++++ .../bindings/regulator/qcom,spmi-regulator.txt | 45 ++ arch/arm64/boot/dts/qcom/apq8096-db820c.dts | 2 +- arch/arm64/boot/dts/qcom/msm8996.dtsi | 650 +++++++++++++++++++- drivers/clk/clk-fixed-factor.c | 2 +- drivers/clk/qcom/Kconfig | 9 + 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 | 519 ++++++++++++++++ drivers/cpufreq/Kconfig.arm | 11 + drivers/cpufreq/Makefile | 1 + drivers/cpufreq/cpufreq-dt-platdev.c | 3 + drivers/cpufreq/qcom-cpufreq-kryo.c | 148 +++++ drivers/perf/Kconfig | 1 + drivers/perf/qcom_l2_pmu.c | 90 +-- drivers/regulator/qcom_spmi-regulator.c | 133 +++- drivers/soc/qcom/Kconfig | 3 + drivers/soc/qcom/Makefile | 1 + drivers/soc/qcom/kryo-l2-accessors.c | 65 ++ include/soc/qcom/kryo-l2-accessors.h | 21 + 22 files changed, 2329 insertions(+), 80 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/qcom,kryocc.txt create mode 100644 Documentation/devicetree/bindings/opp/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