[PATCH v2 0/6] clk: at91: updates for power management and dvfs

From: Claudiu Beznea
Date: Thu Apr 01 2021 - 14:18:49 EST


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/6). 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/6).

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

Patch 4/6 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/6 adpat the master clock divider and master clock prescaller
to address the requests at [1].

Patch 6/6 clean up a bit the code in clk-master as suggested by Nicolas.

Thank you,
Claudiu Beznea

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

Changes in v2:
- addressed code review comments
- collected tags

Claudiu Beznea (6):
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
clk: at91: clk-master: improve readability by using local variables

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 | 46 +++-
drivers/clk/at91/clk-main.c | 66 +++++
drivers/clk/at91/clk-master.c | 396 +++++++++++++++++++++-------
drivers/clk/at91/clk-peripheral.c | 40 ++-
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, 752 insertions(+), 277 deletions(-)

--
2.25.1