diff mbox

[4/4] Documentation: atmel-at91: add DT bindings for fast startup

Message ID 1453976356-24391-5-git-send-email-wenyou.yang@atmel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wenyou Yang Jan. 28, 2016, 10:19 a.m. UTC
Add DT bindings to configurate the PMC_FSMR and PMC_FSPR registers
to trigger a fast restart signal to PMC.

Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
---

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

Comments

Rob Herring (Arm) Jan. 29, 2016, 4:20 p.m. UTC | #1
On Thu, Jan 28, 2016 at 06:19:16PM +0800, Wenyou Yang wrote:
> Add DT bindings to configurate the PMC_FSMR and PMC_FSPR registers
> to trigger a fast restart signal to PMC.
> 
> Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
> ---
> 
>  .../devicetree/bindings/arm/atmel-pmc.txt          |   74 ++++++++++++++++++++
>  1 file changed, 74 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/atmel-pmc.txt b/Documentation/devicetree/bindings/arm/atmel-pmc.txt
> index 795cc78..8d45ff9f 100644
> --- a/Documentation/devicetree/bindings/arm/atmel-pmc.txt
> +++ b/Documentation/devicetree/bindings/arm/atmel-pmc.txt
> @@ -12,3 +12,77 @@ Examples:
>  		compatible = "atmel,at91rm9200-pmc";
>  		reg = <0xfffffc00 0x100>;
>  	};
> +
> +PMC Fast Startup Signals
> +
> +The PMC Fast Start Signals are used as the wake up source to trigger the PMC
> +to wake up the system from the ULP1 mode.
> +
> +required properties:
> +- compatible: Should be "atmel,sama5d2-pmc-fast-startup".

Why the compatible? Does this correspond to some h/w block rather than 
features of the PMC? If it is simply because you want to have a separate 
driver, that is not a good reason.

> +
> +optional properties:
> +- atmel,fast-startup-wake-up: boolean to enable the WKUP pin to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-secumod: boolean to enable the Security Mode to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-piobu0: boolean to enable the PIOBU0 Input to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-piobu1: boolean to enable the PIOBU1 Input to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-piobu2: boolean to enable the PIOBU2 Input to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-piobu3: boolean to enable the PIOBU3 Input to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-piobu4: boolean to enable the PIOBU4 Input to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-piobu5: boolean to enable the PIOBU5 Input to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-piobu6: boolean to enable the PIOBU6 Input to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-piobu7: boolean to enable the PIOBU7 Input to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-gmac-wol: boolean to enable the GMAC Wake-up On LAN
> +  to trigger a fast restart signal to the PMC.
> +- atmel,fast-startup-rtc-alarm: boolean to enable the RTC Alarm to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-usb-resume: boolean to enable the USB Resume to trigger
> +  a fast restart signal to the PMC.
> +- atmel,fast-startup-sdmmc-cd: boolean to enable the SDMMC Card Detect
> +  to trigger a fast restart signal to the PMC.
> +- atmel,fast-startup-rxlp-match: boolean to enable the Backuo UART Receive
> +  Match Condition to trigger a fast restart signal to the PMC.
> +- atmel,fast-startup-acc-comparison: boolean to enable the Analog Comparator
> +  Controller (ACC) Comparison to to trigger a fast restart signal to the PMC.
> +
> +- atmel,fast-startup-wkup-pin-high: boolean to indicate if the WKUP Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.

Perhaps just make the above bool properties take a value to indicate 
high or low triggered.

> +- atmel,fast-startup-piobu0-high: boolean to indicate if the PIOBU0 Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.
> +- atmel,fast-startup-piobu1-high: boolean to indicate if the PIOBU1 Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.
> +- atmel,fast-startup-piobu2-high: boolean to indicate if the PIOBU2 Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.
> +- atmel,fast-startup-piobu3-high: boolean to indicate if the PIOBU3 Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.
> +- atmel,fast-startup-piobu4-high: boolean to indicate if the PIOBU4 Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.
> +- atmel,fast-startup-piobu5-high: boolean to indicate if the PIOBU5 Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.
> +- atmel,fast-startup-piobu6-high: boolean to indicate if the PIOBU6 Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.
> +- atmel,fast-startup-piobu7-high: boolean to indicate if the PIOBU7 Pin is
> +  in the high level to trigger fast restart signal, otherwise low level.

This would be a long list in the DT if you set all these properties. 
Perhaps this should all be expressed in a more compact form.

> +
> +Example:
> +
> +	pmc: pmc@f0014000 {
> +		compatible = "atmel,sama5d2-pmc";
> +		reg = <0xf0014000 0x160>;
> +
> +		pmc_fast_restart {
> +			compatible = "atmel,sama5d2-pmc-fast-startup";
> +			atmel,fast-startup-wake-up;
> +			atmel,fast-startup-rtc-alarm;
> +		};
> +	};
> -- 
> 1.7.9.5
>
Wenyou Yang Feb. 1, 2016, 6:22 a.m. UTC | #2
Hi Rob,

Thank you for your review.

> -----Original Message-----

> From: Rob Herring [mailto:robh@kernel.org]

> Sent: 2016?1?30? 0:20

> To: Yang, Wenyou <Wenyou.Yang@atmel.com>

> Cc: Ferre, Nicolas <Nicolas.FERRE@atmel.com>; Alexandre Belloni

> <alexandre.belloni@free-electrons.com>; Jean-Christophe Plagniol-Villard

> <plagnioj@jcrosoft.com>; Russell King <linux@arm.linux.org.uk>; linux-

> clk@vger.kernel.org; Pawel Moll <pawel.moll@arm.com>; Mark Brown

> <broonie@kernel.org>; Ian Campbell <ijc+devicetree@hellion.org.uk>; Kumar

> Gala <galak@codeaurora.org>; linux-arm-kernel@lists.infradead.org; linux-

> kernel@vger.kernel.org; devicetree@vger.kernel.org

> Subject: Re: [PATCH 4/4] Documentation: atmel-at91: add DT bindings for fast

> startup

> 

> On Thu, Jan 28, 2016 at 06:19:16PM +0800, Wenyou Yang wrote:

> > Add DT bindings to configurate the PMC_FSMR and PMC_FSPR registers to

> > trigger a fast restart signal to PMC.

> >

> > Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>

> > ---

> >

> >  .../devicetree/bindings/arm/atmel-pmc.txt          |   74

> ++++++++++++++++++++

> >  1 file changed, 74 insertions(+)

> >

> > diff --git a/Documentation/devicetree/bindings/arm/atmel-pmc.txt

> > b/Documentation/devicetree/bindings/arm/atmel-pmc.txt

> > index 795cc78..8d45ff9f 100644

> > --- a/Documentation/devicetree/bindings/arm/atmel-pmc.txt

> > +++ b/Documentation/devicetree/bindings/arm/atmel-pmc.txt

> > @@ -12,3 +12,77 @@ Examples:

> >  		compatible = "atmel,at91rm9200-pmc";

> >  		reg = <0xfffffc00 0x100>;

> >  	};

> > +

> > +PMC Fast Startup Signals

> > +

> > +The PMC Fast Start Signals are used as the wake up source to trigger

> > +the PMC to wake up the system from the ULP1 mode.

> > +

> > +required properties:

> > +- compatible: Should be "atmel,sama5d2-pmc-fast-startup".

> 

> Why the compatible? Does this correspond to some h/w block rather than features

> of the PMC? If it is simply because you want to have a separate driver, that is not

> a good reason.


The PMC is regarded as an MFD device.

The Fast Startup function is a sub-device, the driver access the register
through regmap returned from the syscon helper API syscon_node_to_regmap().

> 

> > +

> > +optional properties:

> > +- atmel,fast-startup-wake-up: boolean to enable the WKUP pin to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-secumod: boolean to enable the Security Mode to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-piobu0: boolean to enable the PIOBU0 Input to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-piobu1: boolean to enable the PIOBU1 Input to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-piobu2: boolean to enable the PIOBU2 Input to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-piobu3: boolean to enable the PIOBU3 Input to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-piobu4: boolean to enable the PIOBU4 Input to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-piobu5: boolean to enable the PIOBU5 Input to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-piobu6: boolean to enable the PIOBU6 Input to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-piobu7: boolean to enable the PIOBU7 Input to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-gmac-wol: boolean to enable the GMAC Wake-up On

> > +LAN

> > +  to trigger a fast restart signal to the PMC.

> > +- atmel,fast-startup-rtc-alarm: boolean to enable the RTC Alarm to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-usb-resume: boolean to enable the USB Resume to

> > +trigger

> > +  a fast restart signal to the PMC.

> > +- atmel,fast-startup-sdmmc-cd: boolean to enable the SDMMC Card

> > +Detect

> > +  to trigger a fast restart signal to the PMC.

> > +- atmel,fast-startup-rxlp-match: boolean to enable the Backuo UART

> > +Receive

> > +  Match Condition to trigger a fast restart signal to the PMC.

> > +- atmel,fast-startup-acc-comparison: boolean to enable the Analog

> > +Comparator

> > +  Controller (ACC) Comparison to to trigger a fast restart signal to the PMC.

> > +

> > +- atmel,fast-startup-wkup-pin-high: boolean to indicate if the WKUP

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> 

> Perhaps just make the above bool properties take a value to indicate high or low

> triggered.


Agreed. 

How about the following changes? And a more compact form.

atmel,fs-wkup-pin-level = <1>; to indicated the WKUP Pin is in the high level trigged.
atmel,fs-wkup-pin-level = <0>; to indicated the WKUP Pin is in the low level trigged.

> 

> > +- atmel,fast-startup-piobu0-high: boolean to indicate if the PIOBU0

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> > +- atmel,fast-startup-piobu1-high: boolean to indicate if the PIOBU1

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> > +- atmel,fast-startup-piobu2-high: boolean to indicate if the PIOBU2

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> > +- atmel,fast-startup-piobu3-high: boolean to indicate if the PIOBU3

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> > +- atmel,fast-startup-piobu4-high: boolean to indicate if the PIOBU4

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> > +- atmel,fast-startup-piobu5-high: boolean to indicate if the PIOBU5

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> > +- atmel,fast-startup-piobu6-high: boolean to indicate if the PIOBU6

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> > +- atmel,fast-startup-piobu7-high: boolean to indicate if the PIOBU7

> > +Pin is

> > +  in the high level to trigger fast restart signal, otherwise low level.

> 

> This would be a long list in the DT if you set all these properties.

> Perhaps this should all be expressed in a more compact form.

> 


Yes, change as above.

> > +

> > +Example:

> > +

> > +	pmc: pmc@f0014000 {

> > +		compatible = "atmel,sama5d2-pmc";

> > +		reg = <0xf0014000 0x160>;

> > +

> > +		pmc_fast_restart {

> > +			compatible = "atmel,sama5d2-pmc-fast-startup";

> > +			atmel,fast-startup-wake-up;

> > +			atmel,fast-startup-rtc-alarm;

> > +		};

> > +	};

> > --

> > 1.7.9.5

> >



Best Regards,
Wenyou Yang
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/arm/atmel-pmc.txt b/Documentation/devicetree/bindings/arm/atmel-pmc.txt
index 795cc78..8d45ff9f 100644
--- a/Documentation/devicetree/bindings/arm/atmel-pmc.txt
+++ b/Documentation/devicetree/bindings/arm/atmel-pmc.txt
@@ -12,3 +12,77 @@  Examples:
 		compatible = "atmel,at91rm9200-pmc";
 		reg = <0xfffffc00 0x100>;
 	};
+
+PMC Fast Startup Signals
+
+The PMC Fast Start Signals are used as the wake up source to trigger the PMC
+to wake up the system from the ULP1 mode.
+
+required properties:
+- compatible: Should be "atmel,sama5d2-pmc-fast-startup".
+
+optional properties:
+- atmel,fast-startup-wake-up: boolean to enable the WKUP pin to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-secumod: boolean to enable the Security Mode to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-piobu0: boolean to enable the PIOBU0 Input to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-piobu1: boolean to enable the PIOBU1 Input to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-piobu2: boolean to enable the PIOBU2 Input to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-piobu3: boolean to enable the PIOBU3 Input to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-piobu4: boolean to enable the PIOBU4 Input to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-piobu5: boolean to enable the PIOBU5 Input to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-piobu6: boolean to enable the PIOBU6 Input to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-piobu7: boolean to enable the PIOBU7 Input to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-gmac-wol: boolean to enable the GMAC Wake-up On LAN
+  to trigger a fast restart signal to the PMC.
+- atmel,fast-startup-rtc-alarm: boolean to enable the RTC Alarm to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-usb-resume: boolean to enable the USB Resume to trigger
+  a fast restart signal to the PMC.
+- atmel,fast-startup-sdmmc-cd: boolean to enable the SDMMC Card Detect
+  to trigger a fast restart signal to the PMC.
+- atmel,fast-startup-rxlp-match: boolean to enable the Backuo UART Receive
+  Match Condition to trigger a fast restart signal to the PMC.
+- atmel,fast-startup-acc-comparison: boolean to enable the Analog Comparator
+  Controller (ACC) Comparison to to trigger a fast restart signal to the PMC.
+
+- atmel,fast-startup-wkup-pin-high: boolean to indicate if the WKUP Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+- atmel,fast-startup-piobu0-high: boolean to indicate if the PIOBU0 Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+- atmel,fast-startup-piobu1-high: boolean to indicate if the PIOBU1 Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+- atmel,fast-startup-piobu2-high: boolean to indicate if the PIOBU2 Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+- atmel,fast-startup-piobu3-high: boolean to indicate if the PIOBU3 Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+- atmel,fast-startup-piobu4-high: boolean to indicate if the PIOBU4 Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+- atmel,fast-startup-piobu5-high: boolean to indicate if the PIOBU5 Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+- atmel,fast-startup-piobu6-high: boolean to indicate if the PIOBU6 Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+- atmel,fast-startup-piobu7-high: boolean to indicate if the PIOBU7 Pin is
+  in the high level to trigger fast restart signal, otherwise low level.
+
+Example:
+
+	pmc: pmc@f0014000 {
+		compatible = "atmel,sama5d2-pmc";
+		reg = <0xf0014000 0x160>;
+
+		pmc_fast_restart {
+			compatible = "atmel,sama5d2-pmc-fast-startup";
+			atmel,fast-startup-wake-up;
+			atmel,fast-startup-rtc-alarm;
+		};
+	};