Re: [TEGRA194_CPUFREQ Patch v3 1/4] dt-bindings: arm: Add t194 ccplex compatible and bpmp property

From: Sumit Gupta
Date: Tue Jun 23 2020 - 02:05:41 EST




On 22/06/20 12:52 PM, Viresh Kumar wrote:
External email: Use caution opening links or attachments


On 22-06-20, 03:04, Sumit Gupta wrote:
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.

You shouldn't be putting how linux is going to use this information and entries
shouldn't be made just so cpufreq can bind to a driver.

Though I see that this is a real hardware register which you can use to interact
with the firmware ? And so it makes sense to have it, maybe in different form
though.

CPUFREQ driver doesn't communicate directly with BPMP firmware. It uses BPMP node's reference to call api's exported by BPMP driver which communicates with BPMP firmware.

I will let Rob explain what would be the right way of doing this though.

This is already discussed by Thierry with Rob.
Please refer https://marc.info/?l=linux-arm-kernel&m=158999171528418&w=2


Signed-off-by: Sumit Gupta <sumitg@xxxxxxxxxx>
---
Documentation/devicetree/bindings/arm/cpus.yaml | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
index a018147..737b55e 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-ccplex
- qcom,krait
- qcom,kryo
- qcom,kryo260
@@ -255,6 +256,14 @@ properties:

where voltage is in V, frequency is in MHz.

+ nvidia,bpmp:
+ $ref: '/schemas/types.yaml#/definitions/phandle'
+ descrption: |
+ Specifies the bpmp node that needs to be queried to get
+ operating point data for all CPUs.
+
+ Optional for NVIDIA Tegra194 Carmel CPUs
+
power-domains:
$ref: '/schemas/types.yaml#/definitions/phandle-array'
description:
--
2.7.4

--
viresh