2021-03-25 02:41:42

by Claudiu Beznea

[permalink] [raw]
Subject: [RESEND PATCH 0/5] clk: at91: updates for power management and dvfs

Hi,

This series addresses the power management for SAMA7G5 and also updates
the master clock prescaller and master clock divider drivers to accommodate
the requests at [1].

The power management part is implemented by adding
save_context()/restore_context() on each clock driver (patch 1/5). Since
the PM part is necessary only for backup mode (supported on SAMA5D2 and
SAMA7G5) the pmc.c has been adapted to call the
save_context()/restore_context() only on switches to/from backup mode
(patch 2/5).

Patch 3/5 adds the securam clock on SAMA7G5. This is necessary for
backup mode of SAMA7G5.

Patch 4/5 adds registers definitions for the new master clocks (MCK1..4) of
SAMA7G5 and adapt the clk-master.c. The defines exported in
include/linux/clk/at91_pmc.h will be also used by platform specific PM
code.

Patch 5/5 adpat the master clock divider and master clock prescaller
to address the requests at [1].

Thank you,
Claudiu Beznea

[1] https://lore.kernel.org/lkml/20210105104426.4tmgc2l3vyicwedd@vireshk-i7/

Claudiu Beznea (5):
clk: at91: re-factor clocks suspend/resume
clk: at91: pmc: execute suspend/resume only for backup mode
clk: at91: sama7g5: add securam's peripheral clock
clk: at91: clk-master: add register definition for sama7g5's master
clock
clk: at91: clk-master: update for dvfs

drivers/clk/at91/at91rm9200.c | 2 +-
drivers/clk/at91/at91sam9260.c | 2 +-
drivers/clk/at91/at91sam9g45.c | 2 +-
drivers/clk/at91/at91sam9n12.c | 2 +-
drivers/clk/at91/at91sam9rl.c | 2 +-
drivers/clk/at91/at91sam9x5.c | 2 +-
drivers/clk/at91/clk-generated.c | 45 +++-
drivers/clk/at91/clk-main.c | 66 +++++
drivers/clk/at91/clk-master.c | 395 +++++++++++++++++++++-------
drivers/clk/at91/clk-peripheral.c | 38 ++-
drivers/clk/at91/clk-pll.c | 37 +++
drivers/clk/at91/clk-programmable.c | 29 +-
drivers/clk/at91/clk-sam9x60-pll.c | 68 ++++-
drivers/clk/at91/clk-system.c | 20 ++
drivers/clk/at91/clk-usb.c | 27 ++
drivers/clk/at91/clk-utmi.c | 47 +++-
drivers/clk/at91/dt-compat.c | 2 +-
drivers/clk/at91/pmc.c | 175 +++---------
drivers/clk/at91/pmc.h | 27 +-
drivers/clk/at91/sam9x60.c | 2 +-
drivers/clk/at91/sama5d2.c | 2 +-
drivers/clk/at91/sama5d3.c | 2 +-
drivers/clk/at91/sama5d4.c | 2 +-
drivers/clk/at91/sama7g5.c | 3 +-
include/linux/clk/at91_pmc.h | 26 ++
25 files changed, 750 insertions(+), 275 deletions(-)

--
2.25.1


2021-03-25 02:41:56

by Claudiu Beznea

[permalink] [raw]
Subject: [RESEND PATCH 3/5] clk: at91: sama7g5: add securam's peripheral clock

Add SECURAM's peripheral clock.

Signed-off-by: Claudiu Beznea <[email protected]>
---
drivers/clk/at91/sama7g5.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
index a6e20b35960e..28e26fb90417 100644
--- a/drivers/clk/at91/sama7g5.c
+++ b/drivers/clk/at91/sama7g5.c
@@ -377,6 +377,7 @@ static const struct {
u8 id;
} sama7g5_periphck[] = {
{ .n = "pioA_clk", .p = "mck0", .id = 11, },
+ { .n = "securam_clk", .p = "mck0", .id = 18, },
{ .n = "sfr_clk", .p = "mck1", .id = 19, },
{ .n = "hsmc_clk", .p = "mck1", .id = 21, },
{ .n = "xdmac0_clk", .p = "mck1", .id = 22, },
--
2.25.1

2021-03-30 17:31:45

by Nicolas Ferre

[permalink] [raw]
Subject: Re: [RESEND PATCH 3/5] clk: at91: sama7g5: add securam's peripheral clock

On 24/03/2021 at 10:43, Claudiu Beznea wrote:
> Add SECURAM's peripheral clock.
>
> Signed-off-by: Claudiu Beznea <[email protected]>

Acked-by: Nicolas Ferre <[email protected]>

> ---
> drivers/clk/at91/sama7g5.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
> index a6e20b35960e..28e26fb90417 100644
> --- a/drivers/clk/at91/sama7g5.c
> +++ b/drivers/clk/at91/sama7g5.c
> @@ -377,6 +377,7 @@ static const struct {
> u8 id;
> } sama7g5_periphck[] = {
> { .n = "pioA_clk", .p = "mck0", .id = 11, },
> + { .n = "securam_clk", .p = "mck0", .id = 18, },
> { .n = "sfr_clk", .p = "mck1", .id = 19, },
> { .n = "hsmc_clk", .p = "mck1", .id = 21, },
> { .n = "xdmac0_clk", .p = "mck1", .id = 22, },
>

Thanks,
Nicolas

--
Nicolas Ferre