summaryrefslogtreecommitdiffstats
path: root/include/zynqmp_firmware.h
Commit message (Collapse)AuthorAgeFilesLines
* clk: versal: Move pm_query_id out of clock driverMichal Simek2020-08-201-0/+17
| | | | | | | | | There is no reason to have firmware specific structure in clock driver. Move it to generic location and also initialize enum values which is based on https://lore.kernel.org/linux-arm-kernel/20200318125003.GA2727094@kroah.com/ recommended way to go to make sure that values guaranteed by compiler. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* xilinx: zynqmp: synchronize firmware call return payloadIbai Erkiaga2020-08-201-0/+9
| | | | | | | | | Removes duplicated definition of PAYLOAD_ARG_CNT and define it in the firmware driver. Additionally fixes payload buffer declarations without macro usage Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Convert invoke_smc() to xilinx_pm_request()Michal Simek2019-10-241-4/+0
| | | | | | | Remove macros which use PM_SIP_SVC offset and convert invoke_smc() to xilinx_pm_request() which do calculation with PM_SIP_SVC already. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: versal: Rename versal_pm_request to xilinx_pm_requestMichal Simek2019-10-241-1/+1
| | | | | | | Use generic name instead of Versal specific because this should be also used on ZynqMP. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: xilinx: Move firmware functions from platform to driverMichal Simek2019-10-241-0/+4
| | | | | | | | | | versal_pm_request() and invoke_smc() are almost the same. Only one difference is that versal_pm_request is adding PM_SIP_SVC offset to api_id. The patch is moving platform implementation to firmware driver code for synchronization. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
* arm64: versal: Clean pm_api_id usageMichal Simek2019-10-241-1/+49
| | | | | | | Copy enum values from platform code to firmware code. IDs are shared between ZynqMP and Versal. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* arm64: zynqmp: Use mailbox driver for PMUFW config loadingMichal Simek2019-10-081-0/+1
| | | | | | | | With new mailbox driver PMUFW configuration object can be loaded via the same interface and there is no need to have pmu_ipc.c completely. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
* firmware: zynqmp: Separate function for sending message via mailboxMichal Simek2019-10-081-2/+0
| | | | | | | | | | | | U-Boot running in EL3 can't use SMC that's why there is a need to talk to PMUFW directly via mailbox. The same logic is applied to all functions which need to talk to PMUFW that's why move this logic to separate function to avoid code duplication. Also SMC request ID can be composed from PM_SIP_SVC offset that's why ZYNQMP_SIP_SVC_GET_API_VERSION macro can be removed completely. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* firmware: zynqmp: create firmware headerIbai Erkiaga2019-10-081-0/+38
New firmware header to place firmware specific macro and function declarations. The patch also moves the macros defining PM operations as well as some helper macros. Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>