* [PATCH 01/16] dt-bindings: mfd: syscon: add microchip,sama7d65-ddr3phy
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 23:31 ` Rob Herring (Arm)
2025-01-30 23:33 ` Rob Herring
2025-01-30 17:33 ` [PATCH 02/16] dt-bindings: mfd: syscon: add microchip,sama7d65-sfrbu Ryan.Wanner
` (14 subsequent siblings)
15 siblings, 2 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add SAMA7D65 DDR3phy compatible to DT bindings documentation
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
Documentation/devicetree/bindings/mfd/syscon.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
index b414de4fa779b..54a6d5957e13a 100644
--- a/Documentation/devicetree/bindings/mfd/syscon.yaml
+++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
@@ -188,6 +188,7 @@ properties:
- microchip,lan966x-cpu-syscon
- microchip,mpfs-sysreg-scb
- microchip,sam9x60-sfr
+ - microchip,sama7d65-ddr3phy
- microchip,sama7g5-ddr3phy
- mscc,ocelot-cpu-syscon
- mstar,msc313-pmsleep
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* Re: [PATCH 01/16] dt-bindings: mfd: syscon: add microchip,sama7d65-ddr3phy
2025-01-30 17:33 ` [PATCH 01/16] dt-bindings: mfd: syscon: add microchip,sama7d65-ddr3phy Ryan.Wanner
@ 2025-01-30 23:31 ` Rob Herring (Arm)
2025-01-30 23:33 ` Rob Herring
1 sibling, 0 replies; 25+ messages in thread
From: Rob Herring (Arm) @ 2025-01-30 23:31 UTC (permalink / raw)
To: Ryan.Wanner
Cc: krzk+dt, linux, linux-arm-kernel, linux-rtc, conor+dt, p.zabel,
sre, nicolas.ferre, lee, claudiu.beznea, linux-kernel,
alexandre.belloni, linux-pm, devicetree
On Thu, 30 Jan 2025 10:33:41 -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add SAMA7D65 DDR3phy compatible to DT bindings documentation
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> Documentation/devicetree/bindings/mfd/syscon.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH 01/16] dt-bindings: mfd: syscon: add microchip,sama7d65-ddr3phy
2025-01-30 17:33 ` [PATCH 01/16] dt-bindings: mfd: syscon: add microchip,sama7d65-ddr3phy Ryan.Wanner
2025-01-30 23:31 ` Rob Herring (Arm)
@ 2025-01-30 23:33 ` Rob Herring
1 sibling, 0 replies; 25+ messages in thread
From: Rob Herring @ 2025-01-30 23:33 UTC (permalink / raw)
To: Ryan.Wanner
Cc: lee, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux, devicetree, linux-kernel,
linux-pm, linux-arm-kernel, linux-rtc
On Thu, Jan 30, 2025 at 10:33:41AM -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add SAMA7D65 DDR3phy compatible to DT bindings documentation
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> Documentation/devicetree/bindings/mfd/syscon.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
> index b414de4fa779b..54a6d5957e13a 100644
> --- a/Documentation/devicetree/bindings/mfd/syscon.yaml
> +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
> @@ -188,6 +188,7 @@ properties:
> - microchip,lan966x-cpu-syscon
> - microchip,mpfs-sysreg-scb
> - microchip,sam9x60-sfr
> + - microchip,sama7d65-ddr3phy
> - microchip,sama7g5-ddr3phy
> - mscc,ocelot-cpu-syscon
> - mstar,msc313-pmsleep
Actually, this needs to be in both lists of compatibles.
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 02/16] dt-bindings: mfd: syscon: add microchip,sama7d65-sfrbu
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
2025-01-30 17:33 ` [PATCH 01/16] dt-bindings: mfd: syscon: add microchip,sama7d65-ddr3phy Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 23:34 ` Rob Herring
2025-01-30 17:33 ` [PATCH 03/16] dt-bindings: sram: Add microchip,sama7d65-sram Ryan.Wanner
` (13 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add SAMA7D65 SFRBU compatible string to DT bindings documentation
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
Documentation/devicetree/bindings/mfd/syscon.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
index 54a6d5957e13a..25c4ed6cbf5d1 100644
--- a/Documentation/devicetree/bindings/mfd/syscon.yaml
+++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
@@ -90,6 +90,7 @@ select:
- microchip,lan966x-cpu-syscon
- microchip,mpfs-sysreg-scb
- microchip,sam9x60-sfr
+ - microchip,sama7d65-sfrbu
- microchip,sama7g5-ddr3phy
- mscc,ocelot-cpu-syscon
- mstar,msc313-pmsleep
@@ -188,6 +189,7 @@ properties:
- microchip,lan966x-cpu-syscon
- microchip,mpfs-sysreg-scb
- microchip,sam9x60-sfr
+ - microchip,sama7d65-sfrbu
- microchip,sama7d65-ddr3phy
- microchip,sama7g5-ddr3phy
- mscc,ocelot-cpu-syscon
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* Re: [PATCH 02/16] dt-bindings: mfd: syscon: add microchip,sama7d65-sfrbu
2025-01-30 17:33 ` [PATCH 02/16] dt-bindings: mfd: syscon: add microchip,sama7d65-sfrbu Ryan.Wanner
@ 2025-01-30 23:34 ` Rob Herring
0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2025-01-30 23:34 UTC (permalink / raw)
To: Ryan.Wanner
Cc: lee, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux, devicetree, linux-kernel,
linux-pm, linux-arm-kernel, linux-rtc
On Thu, Jan 30, 2025 at 10:33:42AM -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add SAMA7D65 SFRBU compatible string to DT bindings documentation
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> Documentation/devicetree/bindings/mfd/syscon.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
> index 54a6d5957e13a..25c4ed6cbf5d1 100644
> --- a/Documentation/devicetree/bindings/mfd/syscon.yaml
> +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
> @@ -90,6 +90,7 @@ select:
> - microchip,lan966x-cpu-syscon
> - microchip,mpfs-sysreg-scb
> - microchip,sam9x60-sfr
> + - microchip,sama7d65-sfrbu
> - microchip,sama7g5-ddr3phy
> - mscc,ocelot-cpu-syscon
> - mstar,msc313-pmsleep
> @@ -188,6 +189,7 @@ properties:
> - microchip,lan966x-cpu-syscon
> - microchip,mpfs-sysreg-scb
> - microchip,sam9x60-sfr
> + - microchip,sama7d65-sfrbu
> - microchip,sama7d65-ddr3phy
Alphabetical order.
> - microchip,sama7g5-ddr3phy
> - mscc,ocelot-cpu-syscon
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 03/16] dt-bindings: sram: Add microchip,sama7d65-sram
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
2025-01-30 17:33 ` [PATCH 01/16] dt-bindings: mfd: syscon: add microchip,sama7d65-ddr3phy Ryan.Wanner
2025-01-30 17:33 ` [PATCH 02/16] dt-bindings: mfd: syscon: add microchip,sama7d65-sfrbu Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 23:34 ` Rob Herring (Arm)
2025-01-30 17:33 ` [PATCH 04/16] dt-bindings: power: reset: atmel,sama5d2-shdwc: Add microchip,sama7d65-shdwc Ryan.Wanner
` (12 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add microchip,sama7d65-sram compatibility to DT binding documentation.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
Documentation/devicetree/bindings/sram/sram.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/sram/sram.yaml b/Documentation/devicetree/bindings/sram/sram.yaml
index 7c1337e159f23..3071c5075ee48 100644
--- a/Documentation/devicetree/bindings/sram/sram.yaml
+++ b/Documentation/devicetree/bindings/sram/sram.yaml
@@ -31,6 +31,7 @@ properties:
- amlogic,meson-gxbb-sram
- arm,juno-sram-ns
- atmel,sama5d2-securam
+ - microchip,sama7d65-securam
- nvidia,tegra186-sysram
- nvidia,tegra194-sysram
- nvidia,tegra234-sysram
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* Re: [PATCH 03/16] dt-bindings: sram: Add microchip,sama7d65-sram
2025-01-30 17:33 ` [PATCH 03/16] dt-bindings: sram: Add microchip,sama7d65-sram Ryan.Wanner
@ 2025-01-30 23:34 ` Rob Herring (Arm)
0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring (Arm) @ 2025-01-30 23:34 UTC (permalink / raw)
To: Ryan.Wanner
Cc: linux, linux-arm-kernel, devicetree, linux-pm, alexandre.belloni,
krzk+dt, lee, nicolas.ferre, sre, p.zabel, linux-kernel,
claudiu.beznea, linux-rtc, conor+dt
On Thu, 30 Jan 2025 10:33:43 -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add microchip,sama7d65-sram compatibility to DT binding documentation.
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> Documentation/devicetree/bindings/sram/sram.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 04/16] dt-bindings: power: reset: atmel,sama5d2-shdwc: Add microchip,sama7d65-shdwc
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (2 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 03/16] dt-bindings: sram: Add microchip,sama7d65-sram Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 23:35 ` Rob Herring (Arm)
2025-01-30 17:33 ` [PATCH 05/16] dt-bindings: reset: atmel,at91sam9260-reset: add microchip,sama7d65-rstc Ryan.Wanner
` (11 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add SAMA7D65 SHDWC compatible to DT bindings documentation
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
.../devicetree/bindings/power/reset/atmel,sama5d2-shdwc.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/power/reset/atmel,sama5d2-shdwc.yaml b/Documentation/devicetree/bindings/power/reset/atmel,sama5d2-shdwc.yaml
index 8c58e12cdb600..2930607480ea2 100644
--- a/Documentation/devicetree/bindings/power/reset/atmel,sama5d2-shdwc.yaml
+++ b/Documentation/devicetree/bindings/power/reset/atmel,sama5d2-shdwc.yaml
@@ -16,6 +16,11 @@ description: |
properties:
compatible:
oneOf:
+ - items:
+ - enum:
+ - microchip,sama7d65-shdwc
+ - const: microchip,sama7g5-shdwc
+ - const: syscon
- items:
- const: microchip,sama7g5-shdwc
- const: syscon
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* Re: [PATCH 04/16] dt-bindings: power: reset: atmel,sama5d2-shdwc: Add microchip,sama7d65-shdwc
2025-01-30 17:33 ` [PATCH 04/16] dt-bindings: power: reset: atmel,sama5d2-shdwc: Add microchip,sama7d65-shdwc Ryan.Wanner
@ 2025-01-30 23:35 ` Rob Herring (Arm)
0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring (Arm) @ 2025-01-30 23:35 UTC (permalink / raw)
To: Ryan.Wanner
Cc: linux-rtc, linux-arm-kernel, conor+dt, linux-pm, nicolas.ferre,
linux-kernel, devicetree, lee, claudiu.beznea, alexandre.belloni,
linux, krzk+dt, sre, p.zabel
On Thu, 30 Jan 2025 10:33:44 -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add SAMA7D65 SHDWC compatible to DT bindings documentation
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> .../devicetree/bindings/power/reset/atmel,sama5d2-shdwc.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 05/16] dt-bindings: reset: atmel,at91sam9260-reset: add microchip,sama7d65-rstc
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (3 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 04/16] dt-bindings: power: reset: atmel,sama5d2-shdwc: Add microchip,sama7d65-shdwc Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 23:41 ` Rob Herring
2025-01-30 17:33 ` [PATCH 06/16] dt-bindings: rtc: at91rm9200: Reorganize compatible items Ryan.Wanner
` (10 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add SAMA7D65 RSTC compatible to DT bindings documentation. The
sama7g54-rstc is compatible with the sama7g5-rstc.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
.../devicetree/bindings/reset/atmel,at91sam9260-reset.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/reset/atmel,at91sam9260-reset.yaml b/Documentation/devicetree/bindings/reset/atmel,at91sam9260-reset.yaml
index 98465d26949ee..a1c21c3880f9d 100644
--- a/Documentation/devicetree/bindings/reset/atmel,at91sam9260-reset.yaml
+++ b/Documentation/devicetree/bindings/reset/atmel,at91sam9260-reset.yaml
@@ -23,6 +23,11 @@ properties:
- atmel,sama5d3-rstc
- microchip,sam9x60-rstc
- microchip,sama7g5-rstc
+
+ - items:
+ - const: microchip,sama7d65-rstc
+ - const: microchip,sama7g5-rstc
+
- items:
- const: atmel,sama5d3-rstc
- const: atmel,at91sam9g45-rstc
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* Re: [PATCH 05/16] dt-bindings: reset: atmel,at91sam9260-reset: add microchip,sama7d65-rstc
2025-01-30 17:33 ` [PATCH 05/16] dt-bindings: reset: atmel,at91sam9260-reset: add microchip,sama7d65-rstc Ryan.Wanner
@ 2025-01-30 23:41 ` Rob Herring
0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2025-01-30 23:41 UTC (permalink / raw)
To: Ryan.Wanner
Cc: lee, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux, devicetree, linux-kernel,
linux-pm, linux-arm-kernel, linux-rtc
On Thu, Jan 30, 2025 at 10:33:45AM -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add SAMA7D65 RSTC compatible to DT bindings documentation. The
> sama7g54-rstc is compatible with the sama7g5-rstc.
sama7d65-rstc?
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> .../devicetree/bindings/reset/atmel,at91sam9260-reset.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/reset/atmel,at91sam9260-reset.yaml b/Documentation/devicetree/bindings/reset/atmel,at91sam9260-reset.yaml
> index 98465d26949ee..a1c21c3880f9d 100644
> --- a/Documentation/devicetree/bindings/reset/atmel,at91sam9260-reset.yaml
> +++ b/Documentation/devicetree/bindings/reset/atmel,at91sam9260-reset.yaml
> @@ -23,6 +23,11 @@ properties:
> - atmel,sama5d3-rstc
> - microchip,sam9x60-rstc
> - microchip,sama7g5-rstc
> +
> + - items:
> + - const: microchip,sama7d65-rstc
> + - const: microchip,sama7g5-rstc
> +
> - items:
> - const: atmel,sama5d3-rstc
> - const: atmel,at91sam9g45-rstc
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 06/16] dt-bindings: rtc: at91rm9200: Reorganize compatible items
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (4 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 05/16] dt-bindings: reset: atmel,at91sam9260-reset: add microchip,sama7d65-rstc Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 23:43 ` Rob Herring
2025-01-30 17:33 ` [PATCH 07/16] dt-bindings: rtc: at91rm9200: add microchip,sama7d65-rtc Ryan.Wanner
` (9 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Reorganize compatible to allow more devices to be added to this enum.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
.../devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
index c8bb2eef442dd..30d87b74c51dc 100644
--- a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
@@ -21,9 +21,10 @@ properties:
- atmel,sama5d4-rtc
- atmel,sama5d2-rtc
- microchip,sam9x60-rtc
- - microchip,sama7g5-rtc
- items:
- - const: microchip,sam9x7-rtc
+ - enum:
+ - microchip,sama7g5-rtc
+ - microchip,sam9x7-rtc
- const: microchip,sam9x60-rtc
reg:
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* Re: [PATCH 06/16] dt-bindings: rtc: at91rm9200: Reorganize compatible items
2025-01-30 17:33 ` [PATCH 06/16] dt-bindings: rtc: at91rm9200: Reorganize compatible items Ryan.Wanner
@ 2025-01-30 23:43 ` Rob Herring
0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2025-01-30 23:43 UTC (permalink / raw)
To: Ryan.Wanner
Cc: lee, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux, devicetree, linux-kernel,
linux-pm, linux-arm-kernel, linux-rtc
On Thu, Jan 30, 2025 at 10:33:46AM -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Reorganize compatible to allow more devices to be added to this enum.
This is doing more than reorganizing. It is changing the binding. Now
7g5 is compatible with 9x60?
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> .../devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
> index c8bb2eef442dd..30d87b74c51dc 100644
> --- a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
> +++ b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
> @@ -21,9 +21,10 @@ properties:
> - atmel,sama5d4-rtc
> - atmel,sama5d2-rtc
> - microchip,sam9x60-rtc
> - - microchip,sama7g5-rtc
> - items:
> - - const: microchip,sam9x7-rtc
> + - enum:
> + - microchip,sama7g5-rtc
> + - microchip,sam9x7-rtc
> - const: microchip,sam9x60-rtc
>
> reg:
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 07/16] dt-bindings: rtc: at91rm9200: add microchip,sama7d65-rtc
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (5 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 06/16] dt-bindings: rtc: at91rm9200: Reorganize compatible items Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 17:33 ` [PATCH 08/16] dt-bindings: at91rm9260-rtt: add microchip,sama7d65-rtt Ryan.Wanner
` (8 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add SAMA7D65 RTC compatible to DT bindings documentation.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
index 30d87b74c51dc..d248cd49dbe23 100644
--- a/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/atmel,at91rm9200-rtc.yaml
@@ -23,6 +23,7 @@ properties:
- microchip,sam9x60-rtc
- items:
- enum:
+ - microchip,sama7d65-rtc
- microchip,sama7g5-rtc
- microchip,sam9x7-rtc
- const: microchip,sam9x60-rtc
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* [PATCH 08/16] dt-bindings: at91rm9260-rtt: add microchip,sama7d65-rtt
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (6 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 07/16] dt-bindings: rtc: at91rm9200: add microchip,sama7d65-rtc Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 23:51 ` Rob Herring
2025-01-30 17:33 ` [PATCH 09/16] ARM: at91: Add PM support to sama7d65 Ryan.Wanner
` (7 subsequent siblings)
15 siblings, 1 reply; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add SAMA7D65 RTT compatible to DT bindings documentation.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
.../devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml b/Documentation/devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml
index a7f6c1d1a08ab..078b753f453b4 100644
--- a/Documentation/devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml
+++ b/Documentation/devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml
@@ -23,6 +23,11 @@ properties:
- microchip,sam9x60-rtt
- microchip,sam9x7-rtt
- const: atmel,at91sam9260-rtt
+ - items:
+ - enum:
+ - microchip,sama7d65-rtt
+ - const: microchip,sama7g5-rtt
+ - const: atmel,at91sam9260-rtt
- items:
- const: microchip,sama7g5-rtt
- const: microchip,sam9x60-rtt
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* Re: [PATCH 08/16] dt-bindings: at91rm9260-rtt: add microchip,sama7d65-rtt
2025-01-30 17:33 ` [PATCH 08/16] dt-bindings: at91rm9260-rtt: add microchip,sama7d65-rtt Ryan.Wanner
@ 2025-01-30 23:51 ` Rob Herring
0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2025-01-30 23:51 UTC (permalink / raw)
To: Ryan.Wanner
Cc: lee, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux, devicetree, linux-kernel,
linux-pm, linux-arm-kernel, linux-rtc
On Thu, Jan 30, 2025 at 10:33:48AM -0700, Ryan.Wanner@microchip.com wrote:
> From: Ryan Wanner <Ryan.Wanner@microchip.com>
>
> Add SAMA7D65 RTT compatible to DT bindings documentation.
>
> Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
> ---
> .../devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml b/Documentation/devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml
> index a7f6c1d1a08ab..078b753f453b4 100644
> --- a/Documentation/devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml
> +++ b/Documentation/devicetree/bindings/rtc/atmel,at91sam9260-rtt.yaml
> @@ -23,6 +23,11 @@ properties:
> - microchip,sam9x60-rtt
> - microchip,sam9x7-rtt
> - const: atmel,at91sam9260-rtt
> + - items:
> + - enum:
> + - microchip,sama7d65-rtt
> + - const: microchip,sama7g5-rtt
> + - const: atmel,at91sam9260-rtt
Does being compatible with 7g5 provide something over 9260? If not,
probably better to just have 9260 as the only fallback.
> - items:
> - const: microchip,sama7g5-rtt
> - const: microchip,sam9x60-rtt
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 09/16] ARM: at91: Add PM support to sama7d65
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (7 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 08/16] dt-bindings: at91rm9260-rtt: add microchip,sama7d65-rtt Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 17:33 ` [PATCH 10/16] ARM: at91: pm: fix at91_suspend_finish for ZQ calibration Ryan.Wanner
` (6 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add PM support to SAMA7D65 SoC.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
arch/arm/mach-at91/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 04bd91c72521c..f3ff1220c0fb0 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -65,6 +65,7 @@ config SOC_SAMA7D65
select HAVE_AT91_SAM9X60_PLL
select HAVE_AT91_USB_CLK
select HAVE_AT91_UTMI
+ select PM_OPP
select SOC_SAMA7
help
Select this if you are using one of Microchip's SAMA7D65 family SoC.
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* [PATCH 10/16] ARM: at91: pm: fix at91_suspend_finish for ZQ calibration
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (8 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 09/16] ARM: at91: Add PM support to sama7d65 Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 17:33 ` [PATCH 11/16] ARM: at91: pm: add DT compatible support for sama7d65 Ryan.Wanner
` (5 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Li Bin, Ryan Wanner, Durai Manickam KR, Andrei Simion
From: Li Bin <bin.li@microchip.com>
For sama7g5 and sama7d65 backup mode, we encountered a "ZQ calibrate error"
during recalibrating the impedance in BootStrap.
We found that the impedance value saved in at91_suspend_finish() before
the DDR entered self-refresh mode did not match the resistor values. The
ZDATA field in the DDR3PHY_ZQ0CR0 register uses a modified gray code to
select the different impedance setting.
But these gray code are incorrect, a workaournd from design team fixed the
bug in the calibration logic. The ZDATA contains four independent impedance
elements, but the algorithm combined the four elements into one. The elements
were fixed using properly shifted offsets.
Signed-off-by: Li Bin <bin.li@microchip.com>
[nicolas.ferre@microchip.com: fix indentation and combine 2 patches]
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Tested-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Tested-by: Durai Manickam KR <durai.manickamkr@microchip.com>
Tested-by: Andrei Simion <andrei.simion@microchip.com>
---
arch/arm/mach-at91/pm.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 05a1547642b60..32b8354738752 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -545,11 +545,12 @@ extern u32 at91_pm_suspend_in_sram_sz;
static int at91_suspend_finish(unsigned long val)
{
- unsigned char modified_gray_code[] = {
- 0x00, 0x01, 0x02, 0x03, 0x06, 0x07, 0x04, 0x05, 0x0c, 0x0d,
- 0x0e, 0x0f, 0x0a, 0x0b, 0x08, 0x09, 0x18, 0x19, 0x1a, 0x1b,
- 0x1e, 0x1f, 0x1c, 0x1d, 0x14, 0x15, 0x16, 0x17, 0x12, 0x13,
- 0x10, 0x11,
+ /* SYNOPSYS workaround to fix a bug in the calibration logic (SYNOPSYS Case Number 01331341) */
+ unsigned char modified_fix_code[] = {
+ 0x00, 0x01, 0x01, 0x06, 0x07, 0x0c, 0x06, 0x07, 0x0b, 0x18,
+ 0x0a, 0x0b, 0x0c, 0x0d, 0x0d, 0x0a, 0x13, 0x13, 0x12, 0x13,
+ 0x14, 0x15, 0x15, 0x12, 0x18, 0x19, 0x19, 0x1e, 0x1f, 0x14,
+ 0x1e, 0x1f,
};
unsigned int tmp, index;
int i;
@@ -560,25 +561,25 @@ static int at91_suspend_finish(unsigned long val)
* restore the ZQ0SR0 with the value saved here. But the
* calibration is buggy and restoring some values from ZQ0SR0
* is forbidden and risky thus we need to provide processed
- * values for these (modified gray code values).
+ * values for these.
*/
tmp = readl(soc_pm.data.ramc_phy + DDR3PHY_ZQ0SR0);
/* Store pull-down output impedance select. */
index = (tmp >> DDR3PHY_ZQ0SR0_PDO_OFF) & 0x1f;
- soc_pm.bu->ddr_phy_calibration[0] = modified_gray_code[index];
+ soc_pm.bu->ddr_phy_calibration[0] = modified_fix_code[index] << DDR3PHY_ZQ0SR0_PDO_OFF;
/* Store pull-up output impedance select. */
index = (tmp >> DDR3PHY_ZQ0SR0_PUO_OFF) & 0x1f;
- soc_pm.bu->ddr_phy_calibration[0] |= modified_gray_code[index];
+ soc_pm.bu->ddr_phy_calibration[0] |= modified_fix_code[index] << DDR3PHY_ZQ0SR0_PUO_OFF;
/* Store pull-down on-die termination impedance select. */
index = (tmp >> DDR3PHY_ZQ0SR0_PDODT_OFF) & 0x1f;
- soc_pm.bu->ddr_phy_calibration[0] |= modified_gray_code[index];
+ soc_pm.bu->ddr_phy_calibration[0] |= modified_fix_code[index] << DDR3PHY_ZQ0SR0_PDODT_OFF;
/* Store pull-up on-die termination impedance select. */
index = (tmp >> DDR3PHY_ZQ0SRO_PUODT_OFF) & 0x1f;
- soc_pm.bu->ddr_phy_calibration[0] |= modified_gray_code[index];
+ soc_pm.bu->ddr_phy_calibration[0] |= modified_fix_code[index] << DDR3PHY_ZQ0SRO_PUODT_OFF;
/*
* The 1st 8 words of memory might get corrupted in the process
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* [PATCH 11/16] ARM: at91: pm: add DT compatible support for sama7d65
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (9 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 10/16] ARM: at91: pm: fix at91_suspend_finish for ZQ calibration Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 17:33 ` [PATCH 12/16] ARM: at91: PM: Add Backup mode for SAMA7D65 Ryan.Wanner
` (4 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add support for SAMA7D65 new compatible strings in pm.c file for wakeup source
IDs and PMC.
This is the first bits of PM for this new SoC. PM depends on other patches.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
[nicolas.ferre@microchip.com: split patch and address only the pm.c changes]
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
---
arch/arm/mach-at91/pm.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 32b8354738752..a8cd1300a8f33 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -222,12 +222,14 @@ static const struct of_device_id sam9x60_ws_ids[] = {
{ /* sentinel */ }
};
-static const struct of_device_id sama7g5_ws_ids[] = {
- { .compatible = "microchip,sama7g5-rtc", .data = &ws_info[1] },
+static const struct of_device_id sama7_ws_ids[] = {
+ { .compatible = "microchip,sama7d65-rtc", .data = &ws_info[1] },
+ { .compatible = "microchip,sama7g5-rtc", .data = &ws_info[1] },
{ .compatible = "microchip,sama7g5-ohci", .data = &ws_info[2] },
{ .compatible = "usb-ohci", .data = &ws_info[2] },
{ .compatible = "atmel,at91sam9g45-ehci", .data = &ws_info[2] },
{ .compatible = "usb-ehci", .data = &ws_info[2] },
+ { .compatible = "microchip,sama7d65-sdhci", .data = &ws_info[3] },
{ .compatible = "microchip,sama7g5-sdhci", .data = &ws_info[3] },
{ .compatible = "microchip,sama7g5-rtt", .data = &ws_info[4] },
{ /* sentinel */ }
@@ -1379,6 +1381,7 @@ static const struct of_device_id atmel_pmc_ids[] __initconst = {
{ .compatible = "atmel,sama5d2-pmc", .data = &pmc_infos[1] },
{ .compatible = "microchip,sam9x60-pmc", .data = &pmc_infos[4] },
{ .compatible = "microchip,sam9x7-pmc", .data = &pmc_infos[4] },
+ { .compatible = "microchip,sama7d65-pmc", .data = &pmc_infos[4] },
{ .compatible = "microchip,sama7g5-pmc", .data = &pmc_infos[5] },
{ /* sentinel */ },
};
@@ -1672,7 +1675,7 @@ void __init sama7_pm_init(void)
at91_pm_modes_init(iomaps, ARRAY_SIZE(iomaps));
at91_pm_init(NULL);
- soc_pm.ws_ids = sama7g5_ws_ids;
+ soc_pm.ws_ids = sama7_ws_ids;
soc_pm.config_pmc_ws = at91_sam9x60_config_pmc_ws;
soc_pm.sfrbu_regs.pswbu.key = (0x4BD20C << 8);
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* [PATCH 12/16] ARM: at91: PM: Add Backup mode for SAMA7D65
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (10 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 11/16] ARM: at91: pm: add DT compatible support for sama7d65 Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 17:33 ` [PATCH 13/16] ARM: at91: pm: Enable ULP0 " Ryan.Wanner
` (3 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add config check that enables Backup mode for SAMA7D65 SoC.
Add SHDWC_SR read to clear the status bits once finished exiting low
power modes. This is only for SAMA7D65 SoCs.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
arch/arm/mach-at91/pm.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index a8cd1300a8f33..5e458254e1f1c 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -706,6 +706,9 @@ static int at91_pm_enter(suspend_state_t state)
static void at91_pm_end(void)
{
at91_pm_config_ws(soc_pm.data.mode, false);
+
+ if (IS_ENABLED(CONFIG_SOC_SAMA7D65))
+ readl(soc_pm.data.shdwc + 0x08);
}
@@ -1064,7 +1067,8 @@ static int __init at91_pm_backup_init(void)
int ret = -ENODEV, located = 0;
if (!IS_ENABLED(CONFIG_SOC_SAMA5D2) &&
- !IS_ENABLED(CONFIG_SOC_SAMA7G5))
+ !IS_ENABLED(CONFIG_SOC_SAMA7G5) &&
+ !IS_ENABLED(CONFIG_SOC_SAMA7D65))
return -EPERM;
if (!at91_is_pm_mode_active(AT91_PM_BACKUP))
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* [PATCH 13/16] ARM: at91: pm: Enable ULP0 for SAMA7D65
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (11 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 12/16] ARM: at91: PM: Add Backup mode for SAMA7D65 Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 17:33 ` [PATCH 14/16] power: reset: at91-sama5d2_shdwc: Add sama7d65 PMC Ryan.Wanner
` (2 subsequent siblings)
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
New clocks are saved to enable ULP0 for SAMA7D65 because this SoC has a
total of 10 main clocks that need to be saved for ULP0 mode.
Add mck_count member to at91_pm_data, this will be used to determine
how many mcks need to be saved. In the mck_count member will also make
sure that no unnecessary clock settings are written during
mck_ps_restore.
Add SHDWC to ULP0 mapping to clear the SHDWC status after exiting low
power modes.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
---
arch/arm/mach-at91/pm.c | 19 +++++-
arch/arm/mach-at91/pm.h | 1 +
arch/arm/mach-at91/pm_data-offsets.c | 2 +
arch/arm/mach-at91/pm_suspend.S | 97 ++++++++++++++++++++++++++--
4 files changed, 110 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 5e458254e1f1c..e29c44924ac22 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -1336,6 +1336,7 @@ struct pmc_info {
unsigned long uhp_udp_mask;
unsigned long mckr;
unsigned long version;
+ unsigned long mck_count;
};
static const struct pmc_info pmc_infos[] __initconst = {
@@ -1343,30 +1344,42 @@ static const struct pmc_info pmc_infos[] __initconst = {
.uhp_udp_mask = AT91RM9200_PMC_UHP | AT91RM9200_PMC_UDP,
.mckr = 0x30,
.version = AT91_PMC_V1,
+ .mck_count = 1,
},
{
.uhp_udp_mask = AT91SAM926x_PMC_UHP | AT91SAM926x_PMC_UDP,
.mckr = 0x30,
.version = AT91_PMC_V1,
+ .mck_count = 1,
},
{
.uhp_udp_mask = AT91SAM926x_PMC_UHP,
.mckr = 0x30,
.version = AT91_PMC_V1,
+ .mck_count = 1,
},
{ .uhp_udp_mask = 0,
.mckr = 0x30,
.version = AT91_PMC_V1,
+ .mck_count = 1,
},
{
.uhp_udp_mask = AT91SAM926x_PMC_UHP | AT91SAM926x_PMC_UDP,
.mckr = 0x28,
.version = AT91_PMC_V2,
+ .mck_count = 1,
},
{
.mckr = 0x28,
.version = AT91_PMC_V2,
+ .mck_count = 5,
+ },
+ {
+ .uhp_udp_mask = AT91SAM926x_PMC_UHP,
+ .mckr = 0x28,
+ .version = AT91_PMC_V2,
+ .mck_count = 10,
},
};
@@ -1385,7 +1398,7 @@ static const struct of_device_id atmel_pmc_ids[] __initconst = {
{ .compatible = "atmel,sama5d2-pmc", .data = &pmc_infos[1] },
{ .compatible = "microchip,sam9x60-pmc", .data = &pmc_infos[4] },
{ .compatible = "microchip,sam9x7-pmc", .data = &pmc_infos[4] },
- { .compatible = "microchip,sama7d65-pmc", .data = &pmc_infos[4] },
+ { .compatible = "microchip,sama7d65-pmc", .data = &pmc_infos[6] },
{ .compatible = "microchip,sama7g5-pmc", .data = &pmc_infos[5] },
{ /* sentinel */ },
};
@@ -1456,6 +1469,7 @@ static void __init at91_pm_init(void (*pm_idle)(void))
soc_pm.data.uhp_udp_mask = pmc->uhp_udp_mask;
soc_pm.data.pmc_mckr_offset = pmc->mckr;
soc_pm.data.pmc_version = pmc->version;
+ soc_pm.data.pmc_mck_count = pmc->mck_count;
if (pm_idle)
arm_pm_idle = pm_idle;
@@ -1658,7 +1672,8 @@ void __init sama7_pm_init(void)
AT91_PM_STANDBY, AT91_PM_ULP0, AT91_PM_ULP1, AT91_PM_BACKUP,
};
static const u32 iomaps[] __initconst = {
- [AT91_PM_ULP0] = AT91_PM_IOMAP(SFRBU),
+ [AT91_PM_ULP0] = AT91_PM_IOMAP(SFRBU) |
+ AT91_PM_IOMAP(SHDWC),
[AT91_PM_ULP1] = AT91_PM_IOMAP(SFRBU) |
AT91_PM_IOMAP(SHDWC) |
AT91_PM_IOMAP(ETHC),
diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h
index 53bdc9000e447..ccde9c8728c27 100644
--- a/arch/arm/mach-at91/pm.h
+++ b/arch/arm/mach-at91/pm.h
@@ -39,6 +39,7 @@ struct at91_pm_data {
unsigned int suspend_mode;
unsigned int pmc_mckr_offset;
unsigned int pmc_version;
+ unsigned int pmc_mck_count;
};
#endif
diff --git a/arch/arm/mach-at91/pm_data-offsets.c b/arch/arm/mach-at91/pm_data-offsets.c
index 40bd4e8fe40a5..59a4838038381 100644
--- a/arch/arm/mach-at91/pm_data-offsets.c
+++ b/arch/arm/mach-at91/pm_data-offsets.c
@@ -18,6 +18,8 @@ int main(void)
pmc_mckr_offset));
DEFINE(PM_DATA_PMC_VERSION, offsetof(struct at91_pm_data,
pmc_version));
+ DEFINE(PM_DATA_PMC_MCK_COUNT, offsetof(struct at91_pm_data,
+ pmc_mck_count));
return 0;
}
diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S
index e5869cca5e791..2bbcbb26adb28 100644
--- a/arch/arm/mach-at91/pm_suspend.S
+++ b/arch/arm/mach-at91/pm_suspend.S
@@ -814,17 +814,19 @@ sr_dis_exit:
.endm
/**
- * at91_mckx_ps_enable: save MCK1..4 settings and switch it to main clock
+ * at91_mckx_ps_enable: save MCK settings and switch it to main clock
*
- * Side effects: overwrites tmp1, tmp2
+ * Side effects: overwrites tmp1, tmp2, tmp3
*/
.macro at91_mckx_ps_enable
#ifdef CONFIG_SOC_SAMA7
ldr pmc, .pmc_base
+ ldr tmp3, .mck_count
- /* There are 4 MCKs we need to handle: MCK1..4 */
+ /* Start at MCK1 and go until MCK_count */
mov tmp1, #1
-e_loop: cmp tmp1, #5
+e_loop:
+ cmp tmp1, tmp3
beq e_done
/* Write MCK ID to retrieve the settings. */
@@ -850,7 +852,37 @@ e_save_mck3:
b e_ps
e_save_mck4:
+ cmp tmp1, #4
+ bne e_save_mck5
str tmp2, .saved_mck4
+ b e_ps
+
+e_save_mck5:
+ cmp tmp1, #5
+ bne e_save_mck6
+ str tmp2, .saved_mck5
+ b e_ps
+
+e_save_mck6:
+ cmp tmp1, #6
+ bne e_save_mck7
+ str tmp2, .saved_mck6
+ b e_ps
+
+e_save_mck7:
+ cmp tmp1, #7
+ bne e_save_mck8
+ str tmp2, .saved_mck7
+ b e_ps
+
+e_save_mck8:
+ cmp tmp1, #8
+ bne e_save_mck9
+ str tmp2, .saved_mck8
+ b e_ps
+
+e_save_mck9:
+ str tmp2, .saved_mck9
e_ps:
/* Use CSS=MAINCK and DIV=1. */
@@ -870,17 +902,19 @@ e_done:
.endm
/**
- * at91_mckx_ps_restore: restore MCK1..4 settings
+ * at91_mckx_ps_restore: restore MCKx settings
*
* Side effects: overwrites tmp1, tmp2
*/
.macro at91_mckx_ps_restore
#ifdef CONFIG_SOC_SAMA7
ldr pmc, .pmc_base
+ ldr tmp2, .mck_count
- /* There are 4 MCKs we need to handle: MCK1..4 */
+ /* Start from MCK1 and go up to MCK_count */
mov tmp1, #1
-r_loop: cmp tmp1, #5
+r_loop:
+ cmp tmp1, tmp2
beq r_done
r_save_mck1:
@@ -902,7 +936,37 @@ r_save_mck3:
b r_ps
r_save_mck4:
+ cmp tmp1, #4
+ bne r_save_mck5
ldr tmp2, .saved_mck4
+ b r_ps
+
+r_save_mck5:
+ cmp tmp1, #5
+ bne r_save_mck6
+ ldr tmp2, .saved_mck5
+ b r_ps
+
+r_save_mck6:
+ cmp tmp1, #6
+ bne r_save_mck7
+ ldr tmp2, .saved_mck6
+ b r_ps
+
+r_save_mck7:
+ cmp tmp1, #7
+ bne r_save_mck8
+ ldr tmp2, .saved_mck7
+ b r_ps
+
+r_save_mck8:
+ cmp tmp1, #8
+ bne r_save_mck9
+ ldr tmp2, .saved_mck8
+ b r_ps
+
+r_save_mck9:
+ ldr tmp2, .saved_mck9
r_ps:
/* Write MCK ID to retrieve the settings. */
@@ -921,6 +985,7 @@ r_ps:
wait_mckrdy tmp1
add tmp1, tmp1, #1
+ ldr tmp2, .mck_count
b r_loop
r_done:
#endif
@@ -1045,6 +1110,10 @@ ENTRY(at91_pm_suspend_in_sram)
str tmp1, .memtype
ldr tmp1, [r0, #PM_DATA_MODE]
str tmp1, .pm_mode
+#ifdef CONFIG_SOC_SAMA7
+ ldr tmp1, [r0, #PM_DATA_PMC_MCK_COUNT]
+ str tmp1, .mck_count
+#endif
/*
* ldrne below are here to preload their address in the TLB as access
@@ -1132,6 +1201,10 @@ ENDPROC(at91_pm_suspend_in_sram)
.word 0
.pmc_version:
.word 0
+#ifdef CONFIG_SOC_SAMA7
+.mck_count:
+ .word 0
+#endif
.saved_mckr:
.word 0
.saved_pllar:
@@ -1155,6 +1228,16 @@ ENDPROC(at91_pm_suspend_in_sram)
.word 0
.saved_mck4:
.word 0
+.saved_mck5:
+ .word 0
+.saved_mck6:
+ .word 0
+.saved_mck7:
+ .word 0
+.saved_mck8:
+ .word 0
+.saved_mck9:
+ .word 0
#endif
ENTRY(at91_pm_suspend_in_sram_sz)
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* [PATCH 14/16] power: reset: at91-sama5d2_shdwc: Add sama7d65 PMC
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (12 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 13/16] ARM: at91: pm: Enable ULP0 " Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 17:33 ` [PATCH 15/16] ARM: dts: microchip: sama7d65: Add Reset and Shutdown and PM support Ryan.Wanner
2025-01-30 17:33 ` [PATCH 16/16] ARM: dts: microchip: add shutdown controller and rtt timer Ryan.Wanner
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add sama7d65-pmc compatible string to the list of valid PMC IDs.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
drivers/power/reset/at91-sama5d2_shdwc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/power/reset/at91-sama5d2_shdwc.c b/drivers/power/reset/at91-sama5d2_shdwc.c
index edb0df86aff45..0cb7fe9f25a07 100644
--- a/drivers/power/reset/at91-sama5d2_shdwc.c
+++ b/drivers/power/reset/at91-sama5d2_shdwc.c
@@ -326,6 +326,7 @@ static const struct of_device_id at91_pmc_ids[] = {
{ .compatible = "atmel,sama5d2-pmc" },
{ .compatible = "microchip,sam9x60-pmc" },
{ .compatible = "microchip,sama7g5-pmc" },
+ { .compatible = "microchip,sama7d65-pmc" },
{ /* Sentinel. */ }
};
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* [PATCH 15/16] ARM: dts: microchip: sama7d65: Add Reset and Shutdown and PM support
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (13 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 14/16] power: reset: at91-sama5d2_shdwc: Add sama7d65 PMC Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
2025-01-30 17:33 ` [PATCH 16/16] ARM: dts: microchip: add shutdown controller and rtt timer Ryan.Wanner
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add support for reset controller, wake up alarm timers, and shutdown
controller.
Add SRAM, SFR, secumod, UDDRC, and DDR3phy to enable support for low power modes.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
arch/arm/boot/dts/microchip/sama7d65.dtsi | 77 +++++++++++++++++++++++
1 file changed, 77 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/sama7d65.dtsi b/arch/arm/boot/dts/microchip/sama7d65.dtsi
index 854b30d15dcd4..8e117586e5902 100644
--- a/arch/arm/boot/dts/microchip/sama7d65.dtsi
+++ b/arch/arm/boot/dts/microchip/sama7d65.dtsi
@@ -46,12 +46,42 @@ slow_xtal: clock-slowxtal {
};
};
+ ns_sram: sram@100000 {
+ compatible = "mmio-sram";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0x100000 0x20000>;
+ ranges;
+ };
+
soc {
compatible = "simple-bus";
ranges;
#address-cells = <1>;
#size-cells = <1>;
+ securam: sram@e0000800 {
+ compatible = "microchip,sama7d65-securam", "atmel,sama5d2-securam", "mmio-sram";
+ reg = <0xe0000800 0x4000>;
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 17>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0xe0000800 0x4000>;
+ no-memory-wc;
+ };
+
+ secumod: secumod@e0004000 {
+ compatible = "microchip,sama7d65-secumod", "atmel,sama5d2-secumod", "syscon";
+ reg = <0xe0004000 0x4000>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ sfrbu: sfr@e0008000 {
+ compatible ="microchip,sama7d65-sfrbu", "atmel,sama5d2-sfrbu", "syscon";
+ reg = <0xe0008000 0x20>;
+ };
+
pioa: pinctrl@e0014000 {
compatible = "microchip,sama7d65-pinctrl", "microchip,sama7g5-pinctrl";
reg = <0xe0014000 0x800>;
@@ -76,6 +106,31 @@ pmc: clock-controller@e0018000 {
clock-names = "td_slck", "md_slck", "main_xtal";
};
+ reset_controller: reset-controller@e001d100 {
+ compatible = "microchip,sama7d65-rstc", "microchip,sama7g5-rstc";
+ reg = <0xe001d100 0xc>, <0xe001d1e4 0x4>;
+ #reset-cells = <1>;
+ clocks = <&clk32k 0>;
+ };
+
+ shdwc: poweroff@e001d200 {
+ compatible = "microchip,sama7d65-shdwc", "microchip,sama7g5-shdwc", "syscon";
+ reg = <0xe001d200 0x20>;
+ clocks = <&clk32k 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ atmel,wakeup-rtc-timer;
+ atmel,wakeup-rtt-timer;
+ status = "disabled";
+ };
+
+ rtt: rtc@e001d300 {
+ compatible = "microchip,sama7d65-rtt", "microchip,sama7g5-rtt", "atmel,at91sam9260-rtt";
+ reg = <0xe001d300 0x30>;
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk32k 0>;
+ };
+
clk32k: clock-controller@e001d500 {
compatible = "microchip,sama7d65-sckc", "microchip,sam9x60-sckc";
reg = <0xe001d500 0x4>;
@@ -83,6 +138,18 @@ clk32k: clock-controller@e001d500 {
#clock-cells = <1>;
};
+ gpbr: gpbr@e001d700 {
+ compatible = "microchip,sama7d65-gpbr", "syscon";
+ reg = <0xe001d700 0x48>;
+ };
+
+ rtc: rtc@e001d800 {
+ compatible = "microchip,sama7d65-rtc", "microchip,sam9x60-rtc";
+ reg = <0xe001d800 0x30>;
+ interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk32k 1>;
+ };
+
sdmmc1: mmc@e1208000 {
compatible = "microchip,sama7d65-sdhci", "microchip,sam9x60-sdhci";
reg = <0xe1208000 0x400>;
@@ -132,6 +199,16 @@ uart6: serial@200 {
};
};
+ uddrc: uddrc@e3800000 {
+ compatible = "microchip,sama7d65-uddrc", "microchip,sama7g5-uddrc";
+ reg = <0xe3800000 0x4000>;
+ };
+
+ ddr3phy: ddr3phy@e3804000 {
+ compatible = "microchip,sama7d65-ddr3phy", "microchip,sama7g5-ddr3phy";
+ reg = <0xe3804000 0x1000>;
+ };
+
gic: interrupt-controller@e8c11000 {
compatible = "arm,cortex-a7-gic";
reg = <0xe8c11000 0x1000>,
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread* [PATCH 16/16] ARM: dts: microchip: add shutdown controller and rtt timer
2025-01-30 17:33 [PATCH 00/16] Enable Power Modes Support for SAMA7D65 SoC Ryan.Wanner
` (14 preceding siblings ...)
2025-01-30 17:33 ` [PATCH 15/16] ARM: dts: microchip: sama7d65: Add Reset and Shutdown and PM support Ryan.Wanner
@ 2025-01-30 17:33 ` Ryan.Wanner
15 siblings, 0 replies; 25+ messages in thread
From: Ryan.Wanner @ 2025-01-30 17:33 UTC (permalink / raw)
To: lee, robh, krzk+dt, conor+dt, claudiu.beznea, sre, nicolas.ferre,
alexandre.belloni, p.zabel, linux
Cc: devicetree, linux-kernel, linux-pm, linux-arm-kernel, linux-rtc,
Ryan Wanner
From: Ryan Wanner <Ryan.Wanner@microchip.com>
Add shutdown controller and rtt timer to support shutdown and wake up.
Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
---
.../boot/dts/microchip/at91-sama7d65_curiosity.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
index 0f86360fb733a..d1d0b06fbfc43 100644
--- a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
+++ b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
@@ -77,6 +77,11 @@ pinctrl_uart6_default: uart6-default {
};
};
+&rtt {
+ atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
+ status = "disabled";
+};
+
&sdmmc1 {
bus-width = <4>;
pinctrl-names = "default";
@@ -84,6 +89,15 @@ &sdmmc1 {
status = "okay";
};
+&shdwc {
+ debounce-delay-us = <976>;
+ status = "okay";
+
+ input@0 {
+ reg = <0>;
+ };
+};
+
&slow_xtal {
clock-frequency = <32768>;
};
--
2.43.0
^ permalink raw reply related [flat|nested] 25+ messages in thread