• Jolly Shah's avatar
    zynqmp: pm: Reimplement clock get state (status) EEMI API · bd30503a
    Jolly Shah authored
    
    
    Clock get state EEMI API is reimplemented to use system-level clock
    and pll EEMI APIs rather than direct MMIO read/write accesses to clock
    and pll control registers.
    Since linux is_enabled method for PLLs still uses clock get state API
    get the PLL state, in the implementation of pm_clock_getstate() we need
    to workaround this by distinguishing two cases: 1) if the given clock ID
    corresponds to a PLL output clock ID; or 2) given clock ID is truly an
    on-chip clock whose state of the gate should be returned.
    For case 1) we'll call pm_api_clock_pll_getstate() implemented in
    pm_api_clock.h/c. This function will query the PLL state from PMU using
    the system-level PLL get mode EEMI API.
    For case 2) we'll call the PMU to query the clock gate state using
    system-level clock get status EEMI API.
    Functions that appear to be unused after this change is made are removed.
    Signed-off-by: default avatarMirela Simonovic <mirela.simonovic@aggios.com>
    Acked-by: default avatarWill Wong <WILLW@xilinx.com>
    Signed-off-by: default avatarJolly Shah <jollys@xilinx.com>
    bd30503a
pm_api_sys.c 40.1 KB