• Claudiu Beznea's avatar
    clk: at91: re-factor clocks suspend/resume · 36971566
    Claudiu Beznea authored
    SAMA5D2 and SAMA7G5 have a special power saving mode (backup mode) where
    most of the SoC's components are powered off (including PMC). Resuming
    from this mode is done with the help of bootloader. Peripherals are not
    aware of the power saving mode thus most of them are disabling clocks in
    proper suspend API and re-enable them in resume API without taking into
    account the previously setup rate. Moreover some of the peripherals are
    acting as wakeup sources and are not disabling the clocks in this
    scenario, when suspending. Since backup mode cuts the power for
    peripherals, in resume part these clocks needs to be re-configured.
    
    The initial PMC suspend/resume code was designed only for SAMA5D2's PMC
    (as it was the only one supporting backup mode). SAMA7G supports also
    backup mode and its PMC is different (few new functionalities, different
    registers offsets, different offsets in registers for each
    functionalities). To address both SAMA5D2 and SAMA7G5 PMC add
    .save_context()/.resume_context() support to each clocks driver and call
    this from PMC driver.
    Signed-off-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
    Link: https://lore.kernel.org/r/20211011112719.3951784-2-claudiu.beznea@microchip.comAcked-by: default avatarNicolas Ferre <nicolas.ferre@microchip.com>
    Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
    36971566
clk-programmable.c 6.58 KB