ARM: kernel: document ARM CPUs clock-frequency property
PATCH 1/1 ARM: kernel: document ARM CPUs clock-frequency property
ARM CPU device tree nodes may contain an optional clock-frequency property, when set, this property must contain the CPU frequency in Hz, which is then used by the topology parsing code in arch/arm/kernel/topology.c to infer the CPU capacity.
Document this property to avoid any possible confusion on the clock-frequency unit.
--- Documentation/devicetree/bindings/arm/cpus.txt | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/arm/cpus.txt +2 -0
@@ -45,6 +45,8 @@ For the ARM architecture every CPU node must contain the following properties: "marvell,xsc3" "marvell,xscale" +- clock-frequency : The frequency of the CPU, in Hz. Optional. + Example: cpus {
Signature · 1 line
1.8.1.2
PATCH 1/1 ARM: kernel: document ARM CPUs clock-frequency property
Quoted 4 lines · Florian Fainelli
ARM CPU device tree nodes may contain an optional clock-frequency property, when set, this property must contain the CPU frequency in Hz, which is then used by the topology parsing code in
arch/arm/kernel/topology.cto infer the CPU capacity.
I see that arch/arm/kernel/topology.c does a pr_err when clock-frequency isn't present. If we're documenting it as optional, should we not downgrade that or remove it entirely?
Thanks,
Mark.
Quoted 32 lines
Document this property to avoid any possible confusion on the clock-frequency unit.
Signed-off-by Florian Fainelli <[email protected]>--- Documentation/devicetree/bindings/arm/cpus.txt | 2 ++ 1 file changed, 2 insertions(+)Documentation/devicetree/bindings/arm/cpus.txt +2
-0@@ -45,6 +45,8 @@ For the ARM architecture every CPU node must contain the following properties: "marvell,xsc3" "marvell,xscale" +- clock-frequency : The frequency of the CPU, in Hz. Optional. + Example: cpus {Signature · 8 lines
1.8.1.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
PATCH 1/1 ARM: kernel: document ARM CPUs clock-frequency property
Hello Mark,
2013/6/19 Mark Rutland <[email protected]>:
Quoted 9 lines · Florian Fainelli
Quoted 4 lines
ARM CPU device tree nodes may contain an optional clock-frequency property, when set, this property must contain the CPU frequency in Hz, which is then used by the topology parsing code in
arch/arm/kernel/topology.cto infer the CPU capacity.I see that
arch/arm/kernel/topology.cdoes apr_errwhen clock-frequency isn't present. If we're documenting it as optional, should we not downgrade that or remove it entirely?
Good question. I think it might be good to just dowgrade the error to a simple warning, we should clearly be fixing the binding if we have a device_type = "cpu" property but no clock-frequency property. --
Florian
PATCH 1/1 ARM: kernel: document ARM CPUs clock-frequency property
Quoted 9 lines · Florian Fainelli
Hello Mark,
2013/6/19 Mark Rutland <[email protected]>:
Quoted 6 lines · Florian Fainelli
Quoted 4 lines
ARM CPU device tree nodes may contain an optional clock-frequency property, when set, this property must contain the CPU frequency in Hz, which is then used by the topology parsing code in
arch/arm/kernel/topology.cto infer the CPU capacity.
Quoted 7 lines
Quoted 3 lines
I see that
arch/arm/kernel/topology.cdoes apr_errwhen clock-frequency isn't present. If we're documenting it as optional, should we not downgrade that or remove it entirely?Good question. I think it might be good to just dowgrade the error to a simple warning, we should clearly be fixing the binding if we have a
device_type= "cpu" property but no clock-frequency property.
Well, this means that that pr_err will trigger as soon as the dts updates hit the mainline, now probably it is silent because cpu nodes for architectures with "arm,cortex-a15" as cpus miss device_type = "cpu". ePAPR defines "clock-frequency" as required.
So either we downgrade it to optional or we are in for another slew of dts updates, I am really looking forward to that. Certainly it has to be added to the bindings.
Thoughts ?
Lorenzo
PATCH 1/1 ARM: kernel: document ARM CPUs clock-frequency property
2013/6/19 Lorenzo Pieralisi <[email protected]>:
Quoted 14 lines · Florian Fainelli
Quoted 13 lines
Hello Mark,
2013/6/19 Mark Rutland <[email protected]>:
Quoted 9 lines · Florian Fainelli
Quoted 4 lines
ARM CPU device tree nodes may contain an optional clock-frequency property, when set, this property must contain the CPU frequency in Hz, which is then used by the topology parsing code in
arch/arm/kernel/topology.cto infer the CPU capacity.I see that
arch/arm/kernel/topology.cdoes apr_errwhen clock-frequency isn't present. If we're documenting it as optional, should we not downgrade that or remove it entirely?
Quoted 8 lines
Quoted 3 lines
Good question. I think it might be good to just dowgrade the error to a simple warning, we should clearly be fixing the binding if we have a
device_type= "cpu" property but no clock-frequency property.Well, this means that that
pr_errwill trigger as soon as the dts updates hit the mainline, now probably it is silent because cpu nodes for architectures with "arm,cortex-a15" as cpus missdevice_type= "cpu". ePAPR defines "clock-frequency" as required.
Correct. I am also fine with documenting this property as mandatory.
Quoted 6 lines
So either we downgrade it to optional or we are in for another slew of dts updates, I am really looking forward to that. Certainly it has to be added to the bindings.
Thoughts ?
Well, the fix would be twofold:
- for platforms which already have an "arm,cortex-a15" CPU nodes but lack a clock phandle or a clock-frequency add it
- update arch/arm/kernel/toplogy.c to fetch the clock phandle and rate if specified (e.g: ecx-2000)
Here is a list of platforms/DTS that would appear to need fixing:
- exynos5440.dtsi
- tegra114.dtsi
- vexpress-v2p-ca15-tc1.dts
- vexpress-v2p-ca15_a7.dts
- xenvm-4.2.dts
As far as I am concerned, the DTB passed to my kernel is already okay, but certainly this needs fixing for in-tree DTS files.
--
Florian