* [PATCH 1/3] power: reset: at91-poweroff: add RTT wakeup capability
2019-02-14 11:24 [PATCH 0/3] add support for SAM9X60's shutdown controller Claudiu.Beznea
@ 2019-02-14 11:24 ` Claudiu.Beznea
2019-02-18 10:59 ` Nicolas.Ferre
2019-02-14 11:24 ` [PATCH 2/3] power: reset: at91-poweroff: add support for SAM9X60 Claudiu.Beznea
2019-02-14 11:24 ` [PATCH 3/3] dt-bindings: arm: atmel: add binding for SAM9X60 shutdown controller Claudiu.Beznea
2 siblings, 1 reply; 8+ messages in thread
From: Claudiu.Beznea @ 2019-02-14 11:24 UTC (permalink / raw)
To: robh+dt, mark.rutland, Nicolas.Ferre, alexandre.belloni,
Ludovic.Desroches, sre
Cc: devicetree, Claudiu.Beznea, linux-kernel, linux-arm-kernel, linux-pm
From: Claudiu Beznea <claudiu.beznea@microchip.com>
Add RTT wakeup capability.
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
drivers/power/reset/at91-sama5d2_shdwc.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/power/reset/at91-sama5d2_shdwc.c b/drivers/power/reset/at91-sama5d2_shdwc.c
index 2b686c55b717..0747e0cdf350 100644
--- a/drivers/power/reset/at91-sama5d2_shdwc.c
+++ b/drivers/power/reset/at91-sama5d2_shdwc.c
@@ -57,15 +57,21 @@
#define SHDW_WK_PIN(reg, cfg) ((reg) & AT91_SHDW_WKUPIS((cfg)->wkup_pin_input))
#define SHDW_RTCWK(reg, cfg) (((reg) >> ((cfg)->sr_rtcwk_shift)) & 0x1)
+#define SHDW_RTTWK(reg, cfg) (((reg) >> ((cfg)->sr_rttwk_shift)) & 0x1)
#define SHDW_RTCWKEN(cfg) (1 << ((cfg)->mr_rtcwk_shift))
+#define SHDW_RTTWKEN(cfg) (1 << ((cfg)->mr_rttwk_shift))
#define DBC_PERIOD_US(x) DIV_ROUND_UP_ULL((1000000 * (x)), \
SLOW_CLOCK_FREQ)
+#define SHDW_CFG_NOT_USED (32)
+
struct shdwc_config {
u8 wkup_pin_input;
u8 mr_rtcwk_shift;
+ u8 mr_rttwk_shift;
u8 sr_rtcwk_shift;
+ u8 sr_rttwk_shift;
};
struct shdwc {
@@ -104,6 +110,8 @@ static void __init at91_wakeup_status(struct platform_device *pdev)
reason = "WKUP pin";
else if (SHDW_RTCWK(reg, shdw->cfg))
reason = "RTC";
+ else if (SHDW_RTTWK(reg, shdw->cfg))
+ reason = "RTT";
pr_info("AT91: Wake-Up source: %s\n", reason);
}
@@ -221,6 +229,9 @@ static void at91_shdwc_dt_configure(struct platform_device *pdev)
if (of_property_read_bool(np, "atmel,wakeup-rtc-timer"))
mode |= SHDW_RTCWKEN(shdw->cfg);
+ if (of_property_read_bool(np, "atmel,wakeup-rtt-timer"))
+ mode |= SHDW_RTTWKEN(shdw->cfg);
+
dev_dbg(&pdev->dev, "%s: mode = %#x\n", __func__, mode);
writel(mode, shdw->shdwc_base + AT91_SHDW_MR);
@@ -231,7 +242,10 @@ static void at91_shdwc_dt_configure(struct platform_device *pdev)
static const struct shdwc_config sama5d2_shdwc_config = {
.wkup_pin_input = 0,
.mr_rtcwk_shift = 17,
+ .mr_rttwk_shift = SHDW_CFG_NOT_USED,
.sr_rtcwk_shift = 5,
+ .sr_rttwk_shift = SHDW_CFG_NOT_USED,
+};
};
static const struct of_device_id at91_shdwc_of_match[] = {
--
2.7.4
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] power: reset: at91-poweroff: add RTT wakeup capability
2019-02-14 11:24 ` [PATCH 1/3] power: reset: at91-poweroff: add RTT wakeup capability Claudiu.Beznea
@ 2019-02-18 10:59 ` Nicolas.Ferre
0 siblings, 0 replies; 8+ messages in thread
From: Nicolas.Ferre @ 2019-02-18 10:59 UTC (permalink / raw)
To: Claudiu.Beznea, robh+dt, mark.rutland, alexandre.belloni,
Ludovic.Desroches, sre
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-pm
On 14/02/2019 at 12:24, Claudiu Beznea - M18063 wrote:
> From: Claudiu Beznea <claudiu.beznea@microchip.com>
>
> Add RTT wakeup capability.
>
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
> ---
> drivers/power/reset/at91-sama5d2_shdwc.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/power/reset/at91-sama5d2_shdwc.c b/drivers/power/reset/at91-sama5d2_shdwc.c
> index 2b686c55b717..0747e0cdf350 100644
> --- a/drivers/power/reset/at91-sama5d2_shdwc.c
> +++ b/drivers/power/reset/at91-sama5d2_shdwc.c
> @@ -57,15 +57,21 @@
>
> #define SHDW_WK_PIN(reg, cfg) ((reg) & AT91_SHDW_WKUPIS((cfg)->wkup_pin_input))
> #define SHDW_RTCWK(reg, cfg) (((reg) >> ((cfg)->sr_rtcwk_shift)) & 0x1)
> +#define SHDW_RTTWK(reg, cfg) (((reg) >> ((cfg)->sr_rttwk_shift)) & 0x1)
> #define SHDW_RTCWKEN(cfg) (1 << ((cfg)->mr_rtcwk_shift))
> +#define SHDW_RTTWKEN(cfg) (1 << ((cfg)->mr_rttwk_shift))
>
> #define DBC_PERIOD_US(x) DIV_ROUND_UP_ULL((1000000 * (x)), \
> SLOW_CLOCK_FREQ)
>
> +#define SHDW_CFG_NOT_USED (32)
> +
> struct shdwc_config {
> u8 wkup_pin_input;
> u8 mr_rtcwk_shift;
> + u8 mr_rttwk_shift;
> u8 sr_rtcwk_shift;
> + u8 sr_rttwk_shift;
> };
>
> struct shdwc {
> @@ -104,6 +110,8 @@ static void __init at91_wakeup_status(struct platform_device *pdev)
> reason = "WKUP pin";
> else if (SHDW_RTCWK(reg, shdw->cfg))
> reason = "RTC";
> + else if (SHDW_RTTWK(reg, shdw->cfg))
> + reason = "RTT";
>
> pr_info("AT91: Wake-Up source: %s\n", reason);
> }
> @@ -221,6 +229,9 @@ static void at91_shdwc_dt_configure(struct platform_device *pdev)
> if (of_property_read_bool(np, "atmel,wakeup-rtc-timer"))
> mode |= SHDW_RTCWKEN(shdw->cfg);
>
> + if (of_property_read_bool(np, "atmel,wakeup-rtt-timer"))
> + mode |= SHDW_RTTWKEN(shdw->cfg);
> +
> dev_dbg(&pdev->dev, "%s: mode = %#x\n", __func__, mode);
> writel(mode, shdw->shdwc_base + AT91_SHDW_MR);
>
> @@ -231,7 +242,10 @@ static void at91_shdwc_dt_configure(struct platform_device *pdev)
> static const struct shdwc_config sama5d2_shdwc_config = {
> .wkup_pin_input = 0,
> .mr_rtcwk_shift = 17,
> + .mr_rttwk_shift = SHDW_CFG_NOT_USED,
> .sr_rtcwk_shift = 5,
> + .sr_rttwk_shift = SHDW_CFG_NOT_USED,
> +};
> };
>
> static const struct of_device_id at91_shdwc_of_match[] = {
>
--
Nicolas Ferre
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] power: reset: at91-poweroff: add support for SAM9X60
2019-02-14 11:24 [PATCH 0/3] add support for SAM9X60's shutdown controller Claudiu.Beznea
2019-02-14 11:24 ` [PATCH 1/3] power: reset: at91-poweroff: add RTT wakeup capability Claudiu.Beznea
@ 2019-02-14 11:24 ` Claudiu.Beznea
2019-02-18 10:59 ` Nicolas.Ferre
2019-02-14 11:24 ` [PATCH 3/3] dt-bindings: arm: atmel: add binding for SAM9X60 shutdown controller Claudiu.Beznea
2 siblings, 1 reply; 8+ messages in thread
From: Claudiu.Beznea @ 2019-02-14 11:24 UTC (permalink / raw)
To: robh+dt, mark.rutland, Nicolas.Ferre, alexandre.belloni,
Ludovic.Desroches, sre
Cc: devicetree, Claudiu.Beznea, linux-kernel, linux-arm-kernel, linux-pm
From: Claudiu Beznea <claudiu.beznea@microchip.com>
Add support for SAM9X60 shutdown controller.
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
drivers/power/reset/at91-sama5d2_shdwc.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/power/reset/at91-sama5d2_shdwc.c b/drivers/power/reset/at91-sama5d2_shdwc.c
index 0747e0cdf350..e341cc5c0ea6 100644
--- a/drivers/power/reset/at91-sama5d2_shdwc.c
+++ b/drivers/power/reset/at91-sama5d2_shdwc.c
@@ -246,12 +246,23 @@ static const struct shdwc_config sama5d2_shdwc_config = {
.sr_rtcwk_shift = 5,
.sr_rttwk_shift = SHDW_CFG_NOT_USED,
};
+
+static const struct shdwc_config sam9x60_shdwc_config = {
+ .wkup_pin_input = 0,
+ .mr_rtcwk_shift = 17,
+ .mr_rttwk_shift = 16,
+ .sr_rtcwk_shift = 5,
+ .sr_rttwk_shift = 4,
};
static const struct of_device_id at91_shdwc_of_match[] = {
{
.compatible = "atmel,sama5d2-shdwc",
.data = &sama5d2_shdwc_config,
+ },
+ {
+ .compatible = "microchip,sam9x60-shdwc",
+ .data = &sam9x60_shdwc_config,
}, {
/*sentinel*/
}
--
2.7.4
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] power: reset: at91-poweroff: add support for SAM9X60
2019-02-14 11:24 ` [PATCH 2/3] power: reset: at91-poweroff: add support for SAM9X60 Claudiu.Beznea
@ 2019-02-18 10:59 ` Nicolas.Ferre
0 siblings, 0 replies; 8+ messages in thread
From: Nicolas.Ferre @ 2019-02-18 10:59 UTC (permalink / raw)
To: Claudiu.Beznea, robh+dt, mark.rutland, alexandre.belloni,
Ludovic.Desroches, sre
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-pm
On 14/02/2019 at 12:24, Claudiu Beznea - M18063 wrote:
> From: Claudiu Beznea <claudiu.beznea@microchip.com>
>
> Add support for SAM9X60 shutdown controller.
>
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
> ---
> drivers/power/reset/at91-sama5d2_shdwc.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/power/reset/at91-sama5d2_shdwc.c b/drivers/power/reset/at91-sama5d2_shdwc.c
> index 0747e0cdf350..e341cc5c0ea6 100644
> --- a/drivers/power/reset/at91-sama5d2_shdwc.c
> +++ b/drivers/power/reset/at91-sama5d2_shdwc.c
> @@ -246,12 +246,23 @@ static const struct shdwc_config sama5d2_shdwc_config = {
> .sr_rtcwk_shift = 5,
> .sr_rttwk_shift = SHDW_CFG_NOT_USED,
> };
> +
> +static const struct shdwc_config sam9x60_shdwc_config = {
> + .wkup_pin_input = 0,
> + .mr_rtcwk_shift = 17,
> + .mr_rttwk_shift = 16,
> + .sr_rtcwk_shift = 5,
> + .sr_rttwk_shift = 4,
> };
>
> static const struct of_device_id at91_shdwc_of_match[] = {
> {
> .compatible = "atmel,sama5d2-shdwc",
> .data = &sama5d2_shdwc_config,
> + },
> + {
> + .compatible = "microchip,sam9x60-shdwc",
> + .data = &sam9x60_shdwc_config,
> }, {
> /*sentinel*/
> }
>
--
Nicolas Ferre
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] dt-bindings: arm: atmel: add binding for SAM9X60 shutdown controller
2019-02-14 11:24 [PATCH 0/3] add support for SAM9X60's shutdown controller Claudiu.Beznea
2019-02-14 11:24 ` [PATCH 1/3] power: reset: at91-poweroff: add RTT wakeup capability Claudiu.Beznea
2019-02-14 11:24 ` [PATCH 2/3] power: reset: at91-poweroff: add support for SAM9X60 Claudiu.Beznea
@ 2019-02-14 11:24 ` Claudiu.Beznea
2019-02-18 11:01 ` Nicolas.Ferre
2 siblings, 1 reply; 8+ messages in thread
From: Claudiu.Beznea @ 2019-02-14 11:24 UTC (permalink / raw)
To: robh+dt, mark.rutland, Nicolas.Ferre, alexandre.belloni,
Ludovic.Desroches, sre
Cc: devicetree, Claudiu.Beznea, linux-kernel, linux-arm-kernel, linux-pm
From: Claudiu Beznea <claudiu.beznea@microchip.com>
Add documentation for SAM9X60 shutdown controller.
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
Documentation/devicetree/bindings/arm/atmel-sysregs.txt | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
index 14f319f694b7..9711052c5800 100644
--- a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
+++ b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
@@ -83,7 +83,7 @@ SHDWC SAMA5D2-Compatible Shutdown Controller
1) shdwc node
required properties:
-- compatible: should be "atmel,sama5d2-shdwc".
+- compatible: should be "atmel,sama5d2-shdwc" or "microchip,sam9x60-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.
@@ -95,6 +95,10 @@ optional properties:
microseconds. It's usually a board-related property.
- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
+optional properties for microchip,sam9x60-shdwc:
+- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
+- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up.
+
The node contains child nodes for each wake-up input that the platform uses.
2) input nodes
--
2.7.4
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] dt-bindings: arm: atmel: add binding for SAM9X60 shutdown controller
2019-02-14 11:24 ` [PATCH 3/3] dt-bindings: arm: atmel: add binding for SAM9X60 shutdown controller Claudiu.Beznea
@ 2019-02-18 11:01 ` Nicolas.Ferre
2019-02-18 14:47 ` Claudiu.Beznea
0 siblings, 1 reply; 8+ messages in thread
From: Nicolas.Ferre @ 2019-02-18 11:01 UTC (permalink / raw)
To: Claudiu.Beznea, robh+dt, mark.rutland, alexandre.belloni,
Ludovic.Desroches, sre
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-pm
On 14/02/2019 at 12:24, Claudiu Beznea - M18063 wrote:
> From: Claudiu Beznea <claudiu.beznea@microchip.com>
>
> Add documentation for SAM9X60 shutdown controller.
>
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
> ---
> Documentation/devicetree/bindings/arm/atmel-sysregs.txt | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
> index 14f319f694b7..9711052c5800 100644
> --- a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
> +++ b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
> @@ -83,7 +83,7 @@ SHDWC SAMA5D2-Compatible Shutdown Controller
> 1) shdwc node
>
> required properties:
> -- compatible: should be "atmel,sama5d2-shdwc".
> +- compatible: should be "atmel,sama5d2-shdwc" or "microchip,sam9x60-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.
> @@ -95,6 +95,10 @@ optional properties:
> microseconds. It's usually a board-related property.
> - atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
>
> +optional properties for microchip,sam9x60-shdwc:
is it for sam9x60 only or is the optional property "debounce-delay-us"
applicable to this SoC?
> +- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
> +- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up.
Well, I would make clear that the only additional optional property is
"atmel,wakeup-rtt-timer" while the 2 other optional properties still
apply...
> The node contains child nodes for each wake-up input that the platform uses.
>
> 2) input nodes
>
--
Nicolas Ferre
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] dt-bindings: arm: atmel: add binding for SAM9X60 shutdown controller
2019-02-18 11:01 ` Nicolas.Ferre
@ 2019-02-18 14:47 ` Claudiu.Beznea
0 siblings, 0 replies; 8+ messages in thread
From: Claudiu.Beznea @ 2019-02-18 14:47 UTC (permalink / raw)
To: Nicolas.Ferre, robh+dt, mark.rutland, alexandre.belloni,
Ludovic.Desroches, sre
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-pm
On 18.02.2019 13:01, Nicolas Ferre - M43238 wrote:
> On 14/02/2019 at 12:24, Claudiu Beznea - M18063 wrote:
>> From: Claudiu Beznea <claudiu.beznea@microchip.com>
>>
>> Add documentation for SAM9X60 shutdown controller.
>>
>> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
>> ---
>> Documentation/devicetree/bindings/arm/atmel-sysregs.txt | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
>> index 14f319f694b7..9711052c5800 100644
>> --- a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
>> +++ b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
>> @@ -83,7 +83,7 @@ SHDWC SAMA5D2-Compatible Shutdown Controller
>> 1) shdwc node
>>
>> required properties:
>> -- compatible: should be "atmel,sama5d2-shdwc".
>> +- compatible: should be "atmel,sama5d2-shdwc" or "microchip,sam9x60-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.
>> @@ -95,6 +95,10 @@ optional properties:
>> microseconds. It's usually a board-related property.
>> - atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
>>
>> +optional properties for microchip,sam9x60-shdwc:
>
> is it for sam9x60 only or is the optional property "debounce-delay-us"
> applicable to this SoC?
No, I meant only to RTC and RTT.
>
>> +- atmel,wakeup-rtc-timer: boolean to enable Real-Time Clock wake-up.
>> +- atmel,wakeup-rtt-timer: boolean to enable Real-time Timer Wake-up.
>
> Well, I would make clear that the only additional optional property is
> "atmel,wakeup-rtt-timer" while the 2 other optional properties still
> apply...
Ok, I will take care of this in next version.
Thank you,
Claudiu Beznea
>
>
>> The node contains child nodes for each wake-up input that the platform uses.
>>
>> 2) input nodes
>>
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread