Re: [TEGRA194_CPUFREQ Patch v3 1/4] dt-bindings: arm: Add t194 ccplex compatible and bpmp property
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 --- 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
Re: [TEGRA194_CPUFREQ Patch v3 1/4] dt-bindings: arm: Add t194 ccplex compatible and bpmp property
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. I will let Rob explain what would be the right way of doing this though. > > Signed-off-by: Sumit Gupta > --- > 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
[TEGRA194_CPUFREQ Patch v3 1/4] dt-bindings: arm: Add t194 ccplex compatible and bpmp property
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 --- 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