Re: [TEGRA194_CPUFREQ PATCH v5 1/4] dt-bindings: arm: Add t194 ccplex compatible and bpmp property
From: Rob Herring <robh@kernel.org>
Date: 2020-07-14 13:46:35
Also in:
linux-devicetree, linux-pm, linux-tegra, lkml
On Tue, Jul 14, 2020 at 5:44 AM Sumit Gupta [off-list ref] wrote:
quoted
On Mon, Jul 13, 2020 at 07:36:46PM +0530, Sumit Gupta wrote:quoted
To do frequency scaling on all CPUs within T194 CPU Complex, we need to query BPMP for data on valid operating points. Document a compatible string under 'cpus' node to represent the CPU Complex for binding drivers like cpufreq which don't have their node or CPU Complex node to bind to. Also, document a property to point to the BPMP device that can be queried for all CPUs.The cpus.yaml binding documents what's in 'cpu' nodes, not 'cpus' node. AIUI, the latter is what you want. You should do your own schema file here.Do you mean to change existing file name from 'cpus.yaml' to 'cpu.yaml' and create new 'cpus.yaml' file? I think it's better to incorporate the change in existing 'cpus.yaml' file to keep both cpu@X and cpus node details together. Please suggest.
No, I'm suggesting you create nvidia,tegra194-ccplex.yaml.
quoted
quoted
Signed-off-by: Sumit Gupta <sumitg@nvidia.com> --- Documentation/devicetree/bindings/arm/cpus.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+)diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml index a018147..9b328e3 100644 --- a/Documentation/devicetree/bindings/arm/cpus.yaml +++ b/Documentation/devicetree/bindings/arm/cpus.yaml@@ -162,6 +162,7 @@ properties: - nvidia,tegra132-denver - nvidia,tegra186-denver - nvidia,tegra194-carmel + - nvidia,tegra194-ccplexTegra194 has 2 different CPUs?No, T194 SOC has homogeneous architecture with four clusters where each cluster has two symmetric cores. 'nvidia,tegra194-carmel' compatible string represents each cpu. 'nvidia,tegra194-ccplex' string represents the CPU Complex to bind cpufreq driver. The change was done as per discussion [1]
You are adding the compatible string to the cpu@N node compatible.
quoted
quoted
- qcom,krait - qcom,kryo - qcom,kryo260@@ -255,6 +256,15 @@ properties: where voltage is in V, frequency is in MHz. + nvidia,bpmp: + $ref: '/schemas/types.yaml#/definitions/phandle' + description: | + Specifies the bpmp node that needs to be queried to get + operating point data for all CPUs. + + Optional for systems that have a "compatible" + property value of "nvidia,tegra194-ccplex". + power-domains: $ref: '/schemas/types.yaml#/definitions/phandle-array' description:@@ -340,6 +350,7 @@ required: dependencies: rockchip,pmu: [enable-method] + nvidia,bpmp: [compatible] examples: - | --2.7.4[1] https://marc.info/?l=linux-arm-kernel&m=158999171528418&w=2
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel