Commit graph

12 commits

Author SHA1 Message Date
Filip Drazic
09090a4bc5 PMUFW: PM: slave: Added slave peripherals
Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:40 +05:30
Mirela Simonovic
5ad6dc1280 PMUFW: PM: PLL: Added PLL slaves
-Added PLL nodes (PLLs are PM slaves)
-Implemented PLL's FSM in pm_pll.h/c
-Added PmRequirement structures for APU and RPU_0, both can request
 any PLL for usage
-Implemented saving of FPD PLLs' context and powering down FPD PLLs
 before FPD gets powered down (this is PLL suspend)
-Implemented restoring of PLL states when PLL is needed for usage
 if FPD has been powered down (this is PLL resume)

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:35 +05:30
Mirela Simonovic
4c9c9b51a9 PMUFW: PM: system_shutdown: Implemented shutdown call for shutdown argument
-Added macros in pm_defs.h for system shutdown argument 'restart'
-Exposed array of all masters needed to initiate their suspend upon
 receiving of system shutdown call
-Added checking for restart argument of system shutdown call in pm_api.c
-Implemented PmSystemShutdown for argument restart=0 (shutdown)
-Further improvement in PmSystemShutdown depend on timeout implementation

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:27 +05:30
Mirela Simonovic
245017b13c PMUFW: PM: master: Using unique ipiMask to encode master's bitfield in IPI
-Every master has unique bitfield in all IPI registers
-PMU power management accesses status, trigger and enable registers
 for a master using the unique master's ipiMask now

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:25 +05:30
Soren Brinkmann
1bd06b620c PMUFW: PM: Track suspend requests within master struct
Move the tracking of suspend requests into the corresponding master
structures.
This patch limits the number of possible requestors to 1.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:24 +05:30
Mirela Simonovic
cda9f6d0a2 PMUFW: PM: callbacks: Added remembering and sending acknowledge for req suspend
-Added structure PmSuspendRequest for tracking suspend request
 related informations: which master is allowed to request whose
 suspend, has the request been made, etc.
-Added functions in pm_master for handling requests
-Added calls in pm_proc for triggering acknowledge once primary
 processor goes to sleep
-Added sending acknowledge if target master aborts suspend
-Timeouts to be implemented

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:22 +05:30
Davorin Mista
a25049cb0d PMUFW: PM: Adjusting PM function return values to use XStatus type
-Using int type for returns
-Error statuses are common Xilinx XST_* codes
-Additional power management status errors are defined in pm_defs.h

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Signed-off-by: Davorin Mista <davorin.mista@aggios.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
Signed-off-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
2015-07-31 16:55:19 +05:30
Mirela Simonovic
13e22f9eb0 PMUFW: PM: pm_master: Added default requirements, set upon entering active state
-Added default requirements field in PmRequirements structure
-Added notification of master when primary processor switches from
 forced powerdown to active state. Master has to make sure that all
 default requirements gets set before primary processor enters active
 state.
-In PmMasterNotify, changed behavior when wake event is received:
 if primary processor is in sleep state, everything works as before,
 if primary processor is in forced powerdown, default requirements
 are requested and configured
-In PmRequirementReleaseAll added a check is master using slave and
 if yes, usage flag and requirements are cleared
-Added PmRequirementRequestDefault function called before primary
 processor switches from forced powerdown to active. Function
 automatically requests all default requirements which are later
 configured by PmRequirementUpdateScheduled
-In PmRequirementUpdateScheduled when swapping requirements added
 a check whether master has default requirements. If yes, default
 reqs are saved as next reqs instead of current. Default requirements
 have priority over current requirement. Example: RPU0 keeps boot code
 in one TCM bank and when booted, during the runtime, it keeps that
 bank in retention. For this bank RPU0 should have default requirements
 = on state, and when it boots up it can request retention. If default
 requirements wouldn't exist, it would have to request for boot bank to
 switch from retention to on before calling self suspend, just to get
 on state in scheduled reqs

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:16 +05:30
Davorin Mista
0e9de73072 PMUFW: PM: Cleanup
improve comments and messages; remove unused code/structures

Signed-off-by: Davorin Mista <davorin.mista@aggios.com>
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:08 +05:30
Nava kishore Manne
1726f14574 lib:sw_apps:standalone drivers license changes
Signed-off-by: Nava kishore Manne <navam@xilinx.com>
2015-05-16 14:37:24 +05:30
Jyotheeswar Reddy
6fcdc41593 sw_apps:zynqmp_pmufw: Syncup PMUFW App with PMUFW Git Repo
swbeta2 commit ae6d9a98edb99ce4c51c85bce4872a9f11c7eb74

PMU Firmware is being updated to the latest code base available
in the pmufw git repo. Major changes are:
	-Error Management is enabled by default
	-PM Module bug fixes
	-Code formatting changes
	-PMU ROM handlers use ROM Table instead of
	 individual handler addresses
	-Bug fixes in scheduler
	-FW_IS_PRESENT bit is set if PM is enabled

Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
2015-04-24 11:57:09 +05:30
Jyotheeswar Reddy
66409812e8 sw_apps:zynqmp_pmufw: Adding initial set of files with PM
This is the first functional set of files with
-Power Management
-Error Handlers
-Basic Timer based Scheduler

Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
2015-03-13 10:45:54 +05:30