diff mbox

[v3,1/2] ARM: at91/dt: shdwc binding: add new shutdown controller documentation

Message ID 1443630121-13912-2-git-send-email-nicolas.ferre@atmel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Nicolas Ferre Sept. 30, 2015, 4:22 p.m. UTC
The new shutdown controller compatible with sama5d2 has a new binding
documentation and properties.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
---

Changes in v3:
- get and use slow clock and specify its handler in binding

Changes in v2: None

 .../devicetree/bindings/arm/atmel-at91.txt         | 54 ++++++++++++++++++++++
 1 file changed, 54 insertions(+)

Comments

Alexandre Belloni Oct. 3, 2015, 5:02 p.m. UTC | #1
On 30/09/2015 at 18:22:00 +0200, Nicolas Ferre wrote :
> +SHDWC Shutdown Controller (Alternative)
> +
> +1) shdwc node
> +
> +required properties:
> +- compatible: should be "atmel,sama5d2-shdwc".
> +- reg: should contain registers location and length
> +- clocks: phandle to input clock.
> +- #address-cells: should be one. The cell is the wake-up input index.
> +- #size-cells: should be zero.
> +
> +optional properties:
> +
> +- atmel,wakeup-debouncer: minimum wake-up inputs debouncer period in

Shouldn't that property be called atmel,wakeup-debouncer-ms ?

> +
> +2) input nodes
> +
> +Wake-up input nodes are usually described in the "board" part of the Device
> +Tree. Note also that input 0 is linked to the wake-up pin and is frequently
> +used.
> +
> +Required properties:
> +- reg: should contain the wake-up input index [0 - 15].
> +
> +Optional properties:
> +- atmel,wakeup-type: string, operation mode of the input described by the child
> +  node. Supported values are: "high" or "low".
> +

Maybe we could avoid parsing string and use an integer with a few defines
Nicolas Ferre March 7, 2016, 2:31 p.m. UTC | #2
Le 03/10/2015 19:02, Alexandre Belloni a écrit :
> On 30/09/2015 at 18:22:00 +0200, Nicolas Ferre wrote :
>> +SHDWC Shutdown Controller (Alternative)
>> +
>> +1) shdwc node
>> +
>> +required properties:
>> +- compatible: should be "atmel,sama5d2-shdwc".
>> +- reg: should contain registers location and length
>> +- clocks: phandle to input clock.
>> +- #address-cells: should be one. The cell is the wake-up input index.
>> +- #size-cells: should be zero.
>> +
>> +optional properties:
>> +
>> +- atmel,wakeup-debouncer: minimum wake-up inputs debouncer period in
> 
> Shouldn't that property be called atmel,wakeup-debouncer-ms ?

Well, as it's microseconds, it should be "-us", according to the file:
Documentation/devicetree/bindings/property-units.txt.

Reworking on this I realised that a kind "generic" property exists for
this type: "debounce-delay-ms", without a vendor prefix.

So, for the DT people, what do you think if I change my private property
to this one that seems to be used in a bunch of bindings already in its
milliseconds variant:
gpio-matrix-keypad.txt, tc3589x.txt, extcon-palmas.txt or with a vendor
prefix in nvidia,tegra20-kbc.txt or lpc32xx-key.txt

and if I diversify it to a "debounce-delay-us" variant and use it in
this driver?

>> +
>> +2) input nodes
>> +
>> +Wake-up input nodes are usually described in the "board" part of the Device
>> +Tree. Note also that input 0 is linked to the wake-up pin and is frequently
>> +used.
>> +
>> +Required properties:
>> +- reg: should contain the wake-up input index [0 - 15].
>> +
>> +Optional properties:
>> +- atmel,wakeup-type: string, operation mode of the input described by the child
>> +  node. Supported values are: "high" or "low".
>> +
> 
> Maybe we could avoid parsing string and use an integer with a few defines

Yes, even a boolean should do the trick. What about:

- atmel,wakeup-active-high: boolean, the corresponding wake-up
  input described by the child, forces the wake-up of the core power
  supply on a high level. The default is to be active low.

Thanks for your insights. Best regards,
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.txt b/Documentation/devicetree/bindings/arm/atmel-at91.txt
index 7fd64ec9ee1d..253e573f28c4 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.txt
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.txt
@@ -147,6 +147,60 @@  Example:
 		clocks = <&clk32k>;
 	};
 
+SHDWC Shutdown Controller (Alternative)
+
+1) shdwc node
+
+required properties:
+- compatible: should be "atmel,sama5d2-shdwc".
+- reg: should contain registers location and length
+- clocks: phandle to input clock.
+- #address-cells: should be one. The cell is the wake-up input index.
+- #size-cells: should be zero.
+
+optional properties:
+
+- atmel,wakeup-debouncer: minimum wake-up inputs debouncer period in
+  micro-seconds. It's usually a board-related property.
+- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
+
+The node contains child nodes for each wake-up input that the platform uses.
+
+2) input nodes
+
+Wake-up input nodes are usually described in the "board" part of the Device
+Tree. Note also that input 0 is linked to the wake-up pin and is frequently
+used.
+
+Required properties:
+- reg: should contain the wake-up input index [0 - 15].
+
+Optional properties:
+- atmel,wakeup-type: string, operation mode of the input described by the child
+  node. Supported values are: "high" or "low".
+
+Example:
+
+On the SoC side:
+	shdwc@f8048010 {
+		compatible = "atmel,sama5d2-shdwc";
+		reg = <0xf8048010 0x10>;
+		clocks = <&clk32k>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		atmel,wakeup-rtc-timer;
+	};
+
+On the board side:
+	shdwc@f8048010 {
+		atmel,shdwc-debouncer = <976>;
+
+		input@0 {
+			reg = <0>;
+			atmel,wakeup-type = "low";
+		};
+	};
+
 Special Function Registers (SFR)
 
 Special Function Registers (SFR) manage specific aspects of the integrated