Tegra234 cpufreq driver support
From: | Sumit Gupta <sumitg-AT-nvidia.com> | |
To: | <rafael-AT-kernel.org>, <viresh.kumar-AT-linaro.org>, <robh+dt-AT-kernel.org>, <krzk+dt-AT-kernel.org>, <treding-AT-nvidia.com>, <jonathanh-AT-nvidia.com>, <linux-pm-AT-vger.kernel.org>, <linux-tegra-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org> | |
Subject: | [Patch v3 0/4] Tegra234 cpufreq driver support | |
Date: | Mon, 04 Apr 2022 17:47:09 +0530 | |
Message-ID: | <20220404121713.22461-1-sumitg@nvidia.com> | |
Cc: | <ksitaraman-AT-nvidia.com>, <sanjayc-AT-nvidia.com>, <bbasu-AT-nvidia.com>, <sumitg-AT-nvidia.com> | |
Archive-link: | Article |
This patchset adds driver support for Tegra234 cpufreq. Also, added soc data and ops to support multiple SoC's and variants which have similar logic to {get|set} cpu frequency as Tegra194 in the same driver. From cpufreq point, main difference between Tegra194 and Tegra234 are: 1) Tegra234 uses MMIO for frequency requests and not sysreg like T194. 2) MPIDR affinity info in Tegra234 is different from Tegra194. 3) Register bits of pllp_clk_count and core_clk_count are swapped. So, added ops hooks for Tegra234. --- v2 -> v3: - used CPU COMPLEX CLUSTER name in binding document. - reordered the patches. v1 -> v2: - added nvidia,tegra-ccplex-cluster.yaml binding doc - changed compatible check to 'soc->actmon_cntr_base' field of soc data Sumit Gupta (4): dt-bindings: Document Tegra CCPLEX Cluster cpufreq: tegra194: add soc data to support multiple soc cpufreq: tegra194: Add support for Tegra234 arm64: tegra: add node for tegra234 cpufreq .../tegra/nvidia,tegra-ccplex-cluster.yaml | 52 ++++ arch/arm64/boot/dts/nvidia/tegra234.dtsi | 7 + drivers/cpufreq/tegra194-cpufreq.c | 246 +++++++++++++++--- 3 files changed, 268 insertions(+), 37 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/tegra/nvidia,tegra-ccplex-cluster.yaml -- 2.17.1