Re: [PATCH 3/6] mfd: devicetree: bindings: 88pm800: Add DT property for 32KHz output enable

From: Vaibhav Hiremath
Date: Mon Jul 13 2015 - 03:38:26 EST




On Monday 13 July 2015 01:01 PM, Krzysztof Kozlowski wrote:
On 13.07.2015 16:24, Vaibhav Hiremath wrote:


On Saturday 11 July 2015 12:41 PM, Krzysztof Kozlowski wrote:
W dniu 09.07.2015 o 20:47, Vaibhav Hiremath pisze:
88PM800 family of device supports output of 32KHz clock (low jitter)
on CLK32K2/3 pin which can be supplied to other peripherals on the
board.

This patch adds the devicetree binding to enable this feature.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx>
---
Documentation/devicetree/bindings/mfd/88pm800.txt | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/88pm800.txt
b/Documentation/devicetree/bindings/mfd/88pm800.txt
index dec842f..ae1311c 100644
--- a/Documentation/devicetree/bindings/mfd/88pm800.txt
+++ b/Documentation/devicetree/bindings/mfd/88pm800.txt
@@ -9,6 +9,12 @@ Required parent device properties:
- #interrupt-cells : should be 1.
The cell is the 88pm80x local IRQ number

+Optional properties :
+ - marvell,88pm800-32khz-xolj-out-en : If set, driver will enable
low jitter
+ version of 32Khz clock output on

I am not sure if I understand it correctly. The hardware always has such
clocks and you only want to enable/disable it in DT? Any reasons why
these should not be enabled always?


Small amount of Power savings...
Although currently I do not have power numbers to justify this.

As per spec, (it only talks about power consumption in power down state)

Power-down State => VSYS > 2.8 => 4.5 ÎA
CLK32K2 = 0 => 18 ÎW

This would be a power saving if it could be enabled/disabled runtime.
But with DT you will either:
1. enable it always so there won't be any power saving,
2. disable it always so there won't be such clock.

I can find a use case - when on some boards the clock output is not
wired to anything so it cannot be used. In other cases (there is some
potential user) this should be triggered per-use (runtime enabled/disabled).


Exactly,

Do you have such case? I mean boards where this is not connected at all
and boards where this is used?


The PXA1928 based board which I have,

CLK32K1 (G3 pad) = Used by Wireless chip
CLK32K2 (G11 pad) = Not connected to anything, so we need to disable
this output

Enabling it in DT does not look like a job for DT. Maybe you there
should be just a clock driver (clock provider)?


It's init time (and one time) settings, wouldn't clock-provider
be overkill for this?

The clock provider would be a proper way to do it and some PMICs I know
do this. Examples are max77686 and s5m8767/s2mps11. These are PMICs used
for Samsung SoCs. They have two or three 32kHz clocks.


This is good to know.
Let me take a look at these drivers.

Thanks,
Vaibhav

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/