Message ID | 1592775274-27513-2-git-send-email-sumitg@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add cpufreq driver for Tegra194 | expand |
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@nvidia.com> >> --- >> 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 >
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:
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. Signed-off-by: Sumit Gupta <sumitg@nvidia.com> --- Documentation/devicetree/bindings/arm/cpus.yaml | 9 +++++++++ 1 file changed, 9 insertions(+)