summaryrefslogtreecommitdiff
path: root/plat/xilinx
AgeCommit message (Collapse)Author
2020-10-09Don't return error information from console_flushJimmy Brisson
And from crash_console_flush. We ignore the error information return by console_flush in _every_ place where we call it, and casting the return type to void does not work around the MISRA violation that this causes. Instead, we collect the error information from the driver (to avoid changing that API), and don't return it to the caller. Change-Id: I1e35afe01764d5c8f0efd04f8949d333ffb688c1 Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
2020-03-31Merge "Create separate header for ARM specific SMCCC defines" into integrationOlivier Deprez
2020-03-30Create separate header for ARM specific SMCCC definesManish V Badarkhe
Moved SMCCC defines from plat_arm.h to new <smccc_def.h> header and include this header in all ARM platforms. Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: I4cbc69c7b9307461de87b7c7bf200dd9b810e485
2020-03-30TF-A GICv3 driver: Introduce makefileAlexei Fedorov
This patch moves all GICv3 driver files into new added 'gicv3.mk' makefile for the benefit of the generic driver which can evolve in the future without affecting platforms. The patch adds GICv3 driver configuration flags 'GICV3_IMPL', 'GICV3_IMPL_GIC600_MULTICHIP' and 'GICV3_OVERRIDE_DISTIF_PWR_OPS' described in 'GICv3 driver options' section of 'build-option.rst' document. NOTE: Platforms with GICv3 driver need to be modified to include 'drivers/arm/gic/v3/gicv3.mk' in their makefiles. Change-Id: If055f6770ff20f5dee5a3c99ae7ced7cdcac5c44 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
2020-03-10TF-A GICv3 driver: Separate GICD and GICR accessor functionsAlexei Fedorov
This patch provides separation of GICD, GICR accessor functions and adds new macros for GICv3 registers access as a preparation for GICv3.1 and GICv4 support. NOTE: Platforms need to modify to include both 'gicdv3_helpers.c' and 'gicrv3_helpers.c' instead of the single helper file previously. Change-Id: I1641bd6d217d6eb7d1228be3c4177b2d556da60a Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
2020-02-25cdns: Use generic console_t data structureAndre Przywara
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all. Change-Id: I9f8b55414ab7965e431e3e86d182eabd511f32a4 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2020-02-25pl011: Use generic console_t data structureAndre Przywara
Since now the generic console_t structure holds the UART base address as well, let's use that generic location and drop the UART driver specific data structure at all. Change-Id: I7a23327394d142af4b293ea7ccd90b843c54587c Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2020-01-30xilinx: versal: Pass result count to pm_get_callbackdata()Tejas Patel
pm_get_callbackdata() expect result count and not total bytes of result. Correct it by passing result count to pm_get_callbackdata(). Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I01ce0002f7a753e81ea9fe65edde8420a13ed51a
2020-01-30plat: xilinx: zynqmp: Use ARRAY_SIZE wherever possibleTejas Patel
To find result count use ARRAY_SIZE for better readability. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I97201de4d43024e59fa78bd61937c86d47724ab5
2020-01-24Merge "xilinx: Unify Platform specific defines for PSCI module" into integrationMark Dykes
2020-01-24xilinx: Unify Platform specific defines for PSCI moduleDeepika Bhavnani
PLATFORM_CORE_COUNT - Unsigned int PLATFORM_CLUSTER_COUNT - Unsigned int PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: I76f5535f1cbdaf3fc1235cd824111d9afe8f7e1b
2020-01-24Merge "Xilinx zynqmp: add missing pin control group for ethernet 0." into ↵Manish Pandey
integration
2020-01-23xilinx: versal: PLM to ATF handoverVenkatesh Yadav Abbarapu
Parse the parameter structure the PLM populates, to populate the bl32 and bl33 image structures. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com> Change-Id: I317072d1086f6cc6f90883c1b8b6d086ff57b443
2020-01-23xilinx: common: Move ATF handover to common fileVenkatesh Yadav Abbarapu
ATF handover can be used by Xilinx platforms, so move it to common file from platform specific files. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com> Change-Id: I5f0839351f534619de581d1953c8427a079487e0
2020-01-22Xilinx zynqmp: add missing pin control group for ethernet 0.Norbert Werner
Signed-off-by: Norbert Werner <opensource@lab-w.org> Change-Id: I3264515e5901689328861964ff664ff08b6e852c
2020-01-15plat: xilinx: Move pm_client.h to common directoryTejas Patel
Move pm_client.h to common directory to avoid duplication of function declaration. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Iea542e681f42db089cccd9b24d286ac8f0a2ce35
2020-01-15plat: xilinx: versal: Make silicon default build targetSiva Durga Prasad Paladugu
This patch makes default build target as silicon instead of QEMU. The default can be overwritten by specifying it through build flag VERSAL_PLATFORM. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Ia4cb1df1f206db3e514e8ce969acca875e973ace
2020-01-15xilinx: versal: Wire silicon default setupSiva Durga Prasad Paladugu
Add new option for serial and default clock setup. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I0ca7ad51637cdaa6bb891f22c53595d20da7236a
2020-01-15versal: Increase OCM memory size for DEBUG buildsVenkatesh Yadav Abbarapu
ATF can't fit in current OCM size when the DEBUG is enabled, so increase the OCM size to use 128Kb. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I2ebfd1f2e9db9c0b28770aea7f8fbf1a8a15787a
2020-01-15plat: xilinx: versal: Dont set IOU switch clockSiva Durga Prasad Paladugu
The IOU switch clock will be set by PLM during boot so there is no need to set here and hence this patch removes it. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I1512708411eb07a07c1a8fbd66575efee975431a
2020-01-15arm64: versal: Adjust cpu clock for versal virtualSiva Durga Prasad Paladugu
This patch modifies cpu clock for Xilinx Versal virtual platform in order to keep same as used by QEMU. Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I169d082462d7ce94a82c62966ab9eb122c5a3fee
2020-01-15xilinx: versal: Add support for PM_GET_OPERATING_CHARACTERISTIC EEMI callSaeed Nowshadi
This patch adds EEMI support for PM_GET_OPERATING_CHARACTERISTIC api id. This interface obtains operating characteristic of a device from PMC firmware. The 'power', 'temperature', and 'latency' characteristic are the options that are supported. Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: If30959ba6a3a778a17df2a4281c2c09832cf7e92
2020-01-15plat: versal: Add Get_ChipID APIRavi Patel
Add support for Get_ChipID API in Versal which calls corresponding LibPM API. Signed-off-by: Ravi Patel <ravi.patel@xilinx.com> Acked-by: Jolly Shah <jolly.shah@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I25c4b301721d7989d982ac376c59195c55564022
2020-01-15plat: xilinx: versal: Add load Pdi API supportJolly Shah
This patch adds support for load pdi api to enable loading pdi from linux. Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I48549e276e1f7b9be45a0bebf559f73bd09d5f69
2020-01-15xilinx: versal: Add feature check APIRavi Patel
Add API to check availability of given API in ATF as well as platform management controller and returns the supported version number. Signed-off-by: Ravi Patel <ravi.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I608b38f60b36c4d105b7a205ecb8b02de0c00f3c
2020-01-15xilinx: versal: Implement set wakeup source for clientTejas Patel
Add support to set wakeup source for APU while suspending. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I4809fd83a710def8144fdad74990c45e62b8fdf3
2020-01-15plat: xilinx: versal: Add GET_CALLBACK_DATA functionRajan Vaja
Add GET_CALLBACK_DATA function to get IPI callback data in Linux during init suspend callback. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Ieb60e561b5f656611f0702c43ba6a4296a012651
2020-01-15xilinx: versal: Add PSCI APIs for system shutdown & resetSaeed Nowshadi
Add following APIs in plat_psci to support system shutdown & reset: - versal_system_off - versal_system_reset Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Ia2c1a19ded18984b393e1fdee760bf48b45e9902
2020-01-15xilinx: versal: Add PSCI APIs for suspend/resumeTejas Patel
Add following APIs in plat_psci to support suspend resume: - versal_pwr_domain_off - versal_pwr_domain_suspend - versal_pwr_domain_suspend_finish - versal_validate_power_state - versal_get_sys_suspend_power_state Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Ife908a45f32e2037c9c19e13211a8e4b373b8342
2020-01-15xilinx: versal: Remove no_pmc ops to ON power domainTejas Patel
Add PMC ops for power domain ON and remove no_pmc ops. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Id4308dfe124b60a751765beb3397d1b0071f14fc
2020-01-15xilinx: versal: Add set wakeup source APITejas Patel
Implement set wakeup source API to pass SMC call for set wakeup source to PLM (Platform Loader and Manager). Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I654ce07235c0fc7dfcb81bf98820153255f61537
2020-01-15xilinx: versal: Add client wakeup APITejas Patel
Implement client wakeup API for versal. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I31b1b362fe645a82f89ce2d698ee71eb00cf15dc
2020-01-15xilinx: versal: Add query data APITejas Patel
Add PM_QUERY_DATA API to pass query data EEMI call from Linux to PLM . Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I18735b72ab9cb62fb6cbc7582e77de6cb57f99b0
2020-01-15xilinx: versal: Add request wakeup APITejas Patel
Implement request wakeup API for versal. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I40a2a4ea85bf05623ac8a17ef4a6fa329babd27e
2020-01-15xilinx: versal: Add PM_INIT_FINALIZE API for versalTejas Patel
PM_INIT_FINALIZE is not required for versal. To use Linux Zynqmp PM driver for versal, handle PM_INIT_FINALIZE API in ATF for versal by always returning SUCCESS. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I6fe5445d78e713d70282ac8931ff8b17c96b2a14
2020-01-15xilinx: versal: Add support of PM_GET_TRUSTZONE_VERSION APITejas Patel
PM_GET_TRUSTZONE_VERSION API is required to use zynqmp-firmware driver for versal. Add support of PM_GET_TRUSTZONE_VERSION API for versal. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Ie1c859890096024cc8be67386e3fd0f5f8a4385f
2020-01-15xilinx: versal: enable ipi mailbox serviceWendy Liang
Enable IPI mailbox service on versal platform. Signed-off-by: Wendy Liang <wendy.liang@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Idfba3bcd7e7b868133da0bc1d03c96db2d0bb1b7
2020-01-15xilinx: move ipi mailbox svc to xilinx commonWendy Liang
As IPI mailbox service is common to both ZynqMP and Versal, move it to xilinx/common. Signed-off-by: Wendy Liang <wendy.liang@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I1a7008ccf7930829621147922d2c6d8d46df5502
2020-01-15plat: xilinx: versal: Implement PM IOCTL APITejas Patel
Add PM IOCTL EEMI. Below PLL related IOCTLs are not available in versal PLM. * IOCTL_SET_PLL_FRAC_MODE * IOCTL_GET_PLL_FRAC_MODE * IOCTL_SET_PLL_FRAC_DATA * IOCTL_SET_PLL_FRAC_DATA PLM has new EEMI APIs for PLL related operations. Call them instead of passing IOCTL API to PLM. For other IOCTL, ATF just pass through IOCTL request to PLM (Platform Loader and Manager). Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I96f8da46a4d3965c9291b7b2da96056408137839
2020-01-15xilinx: versal: Implement power down/restart related EEMI APITejas Patel
Add power down/restart related below API - Force power down - System shutdown Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Icd4a922923b1fd50eca1f5361f1e604aedcdb529
2020-01-15xilinx: versal: Add SMC handler for EEMI APITejas Patel
Add SMC handler for EEMI API calls coming from EL1/EL2. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: If0ef2a1f2cfc2747be6b91828371bcbec56b1e15
2020-01-15xilinx: versal: Implement PLL related PM APIsTejas Patel
Implement below PLL related APIs: - Set PLL parameter - Get PLL parameter - Set PLL mode - Get PLL mode Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I37749d05cdb73641d32da120d319cf36df97c73f
2020-01-15xilinx: versal: Implement clock related PM APIsTejas Patel
Implement below clock related APIs: - Clock enable - Clock disable - Clock get status - Clock set divider - Clock get divider - Clock set parent - Clock get parent Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Ibb3606e88ac6796d9d759226908b2c2997c5fea0
2020-01-15xilinx: versal: Implement pin control related PM APIsTejas Patel
Implement below pin control related APIs: - Request pin - Release pin - Set pin function - Get pin function - Set pin parameter value - Get pin parameter value Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Ib805cc8c936b63206d44bf1f7bebd0f03f7b3c01
2020-01-15xilinx: versal: Implement reset related PM APIsTejas Patel
Implement below reset related APIs: - Reset assert - Get reset status Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Id42c9d3950a0d69125cb0eab79b75e5d22674f14
2020-01-15xilinx: versal: Implement device related PM APIsTejas Patel
Implement below device related PM APIs: - Request device - Release device - Set requirement - Get device status Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I9d84b9ee1be3ee6c5f27a4d6dc324113fc1acb68
2020-01-15xilinx: versal: Add support for suspend related APIsTejas Patel
Add support for below suspend related APIs. - self_suspend - abort_suspend - request_suspend Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: If568e0cd33b64754fe66f66fc0cdd0ec62c1b32e
2020-01-15xilinx: versal: Add get_api_version supportTejas Patel
Add support for EEMI API get_api_verion. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: Ic1ef90a194ae6164994a7fc5d8ff0b7b192636fe
2020-01-15xilinx: Add support to send PM API to PMC using IPI for versalTejas Patel
Port ZynqMP PM services for versal to send PM APIs to PMC using IPI. Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Wendy Liang <wendy.liang@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I27a52faf27f1a2919213498276a6885a177cb6da
2020-01-15plat: xilinx: versal: Move versal_def.h to include directoryTejas Patel
Move versal_def.h to platform specific include directory. Also, update source file to include header file from updated path of versal_def.h Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Change-Id: I313592a17552843b9cc7048f31bcaaefa40ffd91