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