Commit graph

426 commits

Author SHA1 Message Date
Rohit Fule
652be149c6 sw_services:xilpm: Modified serial ordering of PM_API ids
This patch removes clock related PM API ids defined in pm_defs.h
under sw_services and reassigns ids in serial order.

Signed-off-by: Rohit Fule <rohitf@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-08-07 16:01:41 +05:30
Sarat Chand Savitala
61bd977834 sw_apps:zynqmp_fsbl: Corrected the logic used to determinte A53 Execution state
Execution state of A53 (64-bit/32-bit) is now determined based on __aarch64__ value

Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
2015-08-07 16:01:05 +05:30
Sarat Chand Savitala
84204047c7 sw_apps:zynqmp_fsbl: Added A53 32-bit support in FSBL
This patch adds support for FSBL running in A53 32-bit mode and
also supports handing off to A53 32-bit applications from FSBL.

Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
2015-08-06 15:33:14 +05:30
VNSL Durga
7ca1fb1844 xilskey: Modified example and input.h files
Example has been modified to support both Zynq PL eFuse and
Ultrascale eFuse. Added GPIO pins and channels to access
Master Jtag through GPIO and RSA key hash, AES's CRC value
input macros are also added.

Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-08-05 21:05:52 +05:30
VNSL Durga
02ccf03a94 xilskey: Added ultrascale efuse functionality
Added macros and functions required for accessing
Ultrascale's eFuse

Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-08-05 21:05:39 +05:30
VNSL Durga
0b14b181ba xillskey: Added new functions
As GpioPs and Timers are different for Ultrascale
all the calls related to Gpio and timers are saperated
by ifdefinitions.
Added new jtag function to access efuse of Ultrascale.

Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-08-05 21:05:24 +05:30
VNSL Durga
365de9549f xilskey: Modified PL instance.
To add ultrascale's efuse functionality added GPIO pins
and GPIO channels to access master JTAG, Fpga_Flag to tell
the FPGA series, AES CRC check flag and AES CRC value, RSA key
hash to program and RSA key hash read back and control and
secure parameters in PL instance and modified IR length
macro ZYNQ_TAP_IR_LENGTH to TAP_IR_LENGTH as IR length is same for both
Zynq and Ultrasale.

Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-08-05 21:05:07 +05:30
VNSL Durga
00e045e760 xilskey:Added API for clk calculations.
Removed redundant code by adding common API for clock
calculations.

Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-08-05 21:04:48 +05:30
VNSL Durga
e2ccad3c90 xilskey: Modified xilskey_efuse_example
Modified macro name of efuse PS XSK_EFUSEPL_RSA_KEY_HASH_STRING_SIZE
to XSK_EFUSEPS_RSA_KEY_HASH_STRING_SIZE.
Added missing goto.

Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-08-05 21:04:35 +05:30
VNSL Durga
841227f998 xilskey: Added new version v3_0
Modified tcl for adding macro in xparameters.h based on the
processor.As support is being added for Ultrascale and hence
supported processors are a9 and microblaze too, removed
supported peripherals option in mld.

Signed-off-by: VNSL Durga <vnsldurg@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-08-05 21:03:24 +05:30
Bhavik Ameta
d27a264328 sw_services:xilsecure: Changed RSA API error codes
RSA sign verification error codes combined into XST_FAILURE.

Signed-off-by: Bhavik Ameta <bameta@xilinx.com>
Acked-by: Sarat Chand Savitala <saratcha@xilinx.com>
2015-08-04 18:05:10 +05:30
Bhavik Ameta
976c6455ad sw_services:xilsecure: Pointer warnings fixed
Changed u64 casts to UINTPTR, to fix the warnings.

Signed-off-by: Bhavik Ameta <bameta@xilinx.com>
Acked-by: Sarat Chand Savitala <saratcha@xilinx.com>
2015-08-04 18:05:01 +05:30
Bhavik Ameta
2491b4d9a2 sw_services:xilsecure: R5 build failure fixed
Removed individual checks for compilers from Makefile.These were causing build failure.

Signed-off-by: Bhavik Ameta <bameta@xilinx.com>
Acked-by: Sarat Chand Savitala <saratcha@xilinx.com>
2015-08-04 18:04:29 +05:30
Nava kishore Manne
7a47ffd9e8 Removed executable file permission from source code files.
Signed-off-by: Nava kishore Manne <navam@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-08-03 18:32:57 +05:30
Sarat Chand Savitala
4968e7c610 sw_apps:zynqmp_fsbl: Updated watchdog code for JTAG bootmode
As in JTAG bootmode, watchdog is not initialized, avoided stopping of
watchdog in JTAG bootmode.

Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
2015-08-03 14:55:49 +05:30
Sarat Chand Savitala
dff2a597f9 sw_apps:zynqmp_fsbl: Added watchdog support
This patch adds System Watchdog Timer support

Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
2015-08-02 21:27:53 +05:30
P L Sai Krishna
09cd729c86 xilffs: Used --create option for armcc compiler.
This patch use --create option for armcc compiler
instead of rc option.

Signed-off-by: P L Sai Krishna <lakshmis@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-07-31 16:56:24 +05:30
Kinjal Pravinbhai Patel
60c693e0fe bsp: added support for 32bit bsp for A53
This patch modifies standalone bsp tcl to generate 32bit/64bit
a53 bsp by keeping compiler check in the tcl to copy the
appropriate source file while generating standalone bsp

Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-07-31 16:56:22 +05:30
Sarat Chand Savitala
e1dd360db8 sw_apps:zynqmp_fsbl: Code cleanup involving emulation platforms
Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
2015-07-31 16:56:20 +05:30
RamyaSree
8dc4f9e7fd sw_apps: zynqmp_fsbl: Modified bus width in dummy phase.
This patch modifies the buswidth in dummy phase as
in data phase.

Signed-off-by: RamyaSree <rdarapun@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-07-31 16:56:19 +05:30
RamyaSree
8e402be829 sw_apps: zynqmp_fsbl: enabled cache for qspipsu boot.
This patch enables cache for qspipsu boot.

Signed-off-by: RamyaSree <rdarapun@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-07-31 16:56:19 +05:30
RamyaSree
6f67bc7850 sw_apps: zynqmp_fsbl: added Tx/Rx Flags in qspi message format
This patch added Tx/Rx flags in qspi message format
according to qspipsu driver changes.

Signed-off-by: RamyaSree <rdarapun@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-07-31 16:56:18 +05:30
Soren Brinkmann
731fcf06db xilsecure: Fix make rules
When building xilsecure with '-rR' as arguments to make causes this error:
  Compiling Xilsecure Library
  make[1]: *** No rule to make target 'xsecure_sha.o', needed by 'libxilsecure.a'.  Stop.
  Makefile:27: recipe for target 'psu_cortexa53_0/libsrc/xilsecure_v1_0/src/make.libs' failed
  make: *** [psu_cortexa53_0/libsrc/xilsecure_v1_0/src/make.libs] Error 2

Fixing this by adding a pattern rules matching the required object files.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Bhavik Ameta <bameta@xilinx.com>
2015-07-31 16:56:17 +05:30
Soren Brinkmann
c8bca6ce1a xilsecure: Remove dead code
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Bhavik Ameta <bameta@xilinx.com>
2015-07-31 16:56:16 +05:30
Nava kishore Manne
cabafea458 Fix for standalone os tcl to support MultiBd and Packaged Bd
Acked-for-series: Naga Sureshkumar Relli <nagasure@xilinx.com>
Signed-off-by: Nava kishore Manne <navam@xilinx.com>
2015-07-31 16:56:15 +05:30
Nava kishore Manne
a96825c608 Fix for xilikernel os tcl to support MultiBd and Packaged Bd
Acked-for-series: Naga Sureshkumar Relli <nagasure@xilinx.com>
Signed-off-by: Nava kishore Manne <navam@xilinx.com>
2015-07-31 16:56:15 +05:30
Kinjal Pravinbhai Patel
73e7150785 sw_apps: openamp: modified rpc_demp application
This patch modifies openamp rpc_demo application to
remove the hardcoded shared memory region and support for the
memory region configuration as per requirement of the code
in MPU region settings

Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-07-31 16:56:07 +05:30
Kinjal Pravinbhai Patel
31b60a0499 sw_apps: openamp: modified echo_test application
This patch modifies openamp echo_test application to
remove the hardcoded shared memory region and support for the
memory region configuration as per requirement of the code
in MPU region settings

Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-07-31 16:56:05 +05:30
Kinjal Pravinbhai Patel
078a7131d6 sw_apps: openamp: modified matrix_multiply application
This patch modifies openamp matrix_multiply application to
remove the hardcoded shared memory region and support for the
memory region configuration as per requirement of the code
in MPU region settings

Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-07-31 16:56:04 +05:30
Kedareswara rao Appana
60efc68c14 lib: bsp: Add UPPER_32_BITS and LOWER_32_BITS macro's
UPPER_32_BITS(x) macro to handle shifts that may be >= the width of
the data type.
LOWER_32_BITS(x) macro to handle masking of 32-bit data types.

Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-07-31 16:55:53 +05:30
Kinjal Pravinbhai Patel
1f3de84cd2 bsp: a53: added memory attribute definition in xil_mmu.h
This patch adds various memory attribute definition
which can be used along with xil_settlbattributes API to
mark certain memory region with required attributes
such as cacheable or non-cacheable, inner/outer/non shareable
or executable or not etc.

Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-07-31 16:55:51 +05:30
Kinjal Pravinbhai Patel
39f94f2135 bsp: a53: change in boot.s to include more memory attributes
This patch inclues memory attributes like device memory and
write through cacheable memory attributes to memory
attribute index register in boot.S

Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi   <anirudh@xilinx.com>
2015-07-31 16:55:49 +05:30
Soren Brinkmann
59de0ec3be xilffs: Fix make rules
When building xilffs with '-rR' as arguments to make causes this error:
  Compiling XilFFs Library
  gmake[2]: *** No rule to make target 'ff.o', needed by 'libxilffs.a'.  Stop.
  Makefile:27: recipe for target 'psu_cortexa53_0/libsrc/xilffs_v3_1/src/make.libs' failed
  gmake[1]: *** [psu_cortexa53_0/libsrc/xilffs_v3_1/src/make.libs] Error 2

Fixing this by adding a pattern rules matching the required object files.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
2015-07-31 16:55:48 +05:30
Mirela Simonovic
c064d50c14 PMUFW: PM: Added missing power up/down behavior for GpuPPs
-GpuPP now has its own PmSlave derived structure and the FSM
 (new structure is added because there is no peripheral with
 exactly the same behavior - Usbs have also their own power island,
 but compared to them GpuPPs do not have wake-up capabilities
 through GIC Proxy, and GpuPPs depend on FPD while LPD is
 considered always-on)

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Tested-by: Rohit Fule <rohitf@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:46 +05:30
Mirela Simonovic
3283e01d23 PMUFW: xpfw_rom_interface.h: Added inline functions for power up/down GpuPPs
-Added missing power up/down inline functions for graphic processors
 needed by power management/GpuPP's FSM

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Tested-by: Rohit Fule <rohitf@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:44 +05:30
Davorin Mista
860c409ea5 PMUFW: PM: Remove error-only acknowledge option
Signed-off-by: Davorin Mista <davorin.mista@aggios.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:43 +05:30
Soren Brinkmann
1f36fb5736 PMUFW: ROM interface: Fix hook table type
The ROM handlers and hooks have a different signature.

Fixes: aea3444396c3 'ROM interface: Add ROM hook table'
Cc: Kristopher Bechamp <kristop@xilinx.com>
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:41 +05:30
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
Davorin Mista
353cc695ad PMUFW: PM: Update/fix documentation
Signed-off-by: Davorin Mista <davorin.mista@aggios.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:38 +05:30
Davorin Mista
e6089585af PMUFW: PM: Remove workaround for older PMU-ROM version
XpbrPwrUpFpdHandler used to not always return XST_SUCCESS, this
problem no longer exists hence the workaround can be dropped.

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:36 +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
568b6a1494 PMUFW: PM: Save/restore CRF_APB's context on FPD power down/up
-Added array of CRF_APB module's register address/value pairs used
 for saving/restoring CRF_APB register contents (excluding PLL
 registers - PLLs have their own logic for save/restore)
-Added saving context of CRF_APB registers before FPD is powered
 down and restoring saved context after FPD is powered up

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:33 +05:30
Mirela Simonovic
64ad843e0d PMUFW: PM: slave: Power up power parent before entering state
-Added PM_CAP_POWER as generic capability (defined in pm_defs).
-Slaves' FSMs should define PM_CAP_POWER capability in states which
 require power parent to be ON before the state is entered. This
 capability has no effect if slave node does not have power parent
-Powering up parent of a slave is done automatically by the
 framework before the FSM of a slave is triggered to change the
 state (slave's FSM should assume all prerequisites regarding power
 are configured before FSM is triggered)
-Added PM_CAP_POWER capability in ON state of standard fsm (used for
 SATA)

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
2015-07-31 16:55:32 +05:30
Mirela Simonovic
8fdbe8728d PMUFW: PM: binding: Fixed bug of not handling multiple simultaneous IPIs
-There was a bug in pmu-fw/pm binding through IPIs, because of
 which in case of multiple IPI interrupts generated simultaneously
 only first interrupt was handled, other interrupts were lost
-The bug existed because PM handles one request in each
 XPfw_PmIpiHandler invocation, and pmu-fw clears all bitfields
 in ISR register after PM handles request. Therefore, if multiple
 bits were set in ISR register (simultaneous IPI interrupts), only
 first one was handled and other bits were just cleared
-XPfw_PmIpiHandler now returns status and through an argument
 pointer an IPI mask of master whose request has been handled
-In xpfw_user_startup.c/PmIpiHandler, return of XPfw_PmIpiHandler
 is checked. If PM successfully handled IPI, only the bitfield of
 master whose request is handled is set (only that IPI interrupt
 is cleared). If something went wrong in PmIpiHandler/IPI0 case,
 we clear all bits set in ISR register, to avoid system hanging on
 this interrupt handler
-In pm_master, a check whether the master owns given mask was
 performed by using '==' instead '&'. Therefore, when 2 masters
 generated interrupt at the same time, PM function that checks
 whether the IPI is PM related returned that the ISR value does
 not match any master. This bug is fixed

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:30 +05:30
Mirela Simonovic
8255c72de3 PMUFW: PM: slave: GIC Proxy macros - using definitions from lpd_slcr.h
-Replaced PM defined macro definitions with macros defined in
 lpd_slcr.h
-Other macros that are defined in pm_slave.h do not exist as is,
 therefore are still used

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:28 +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
Mirela Simonovic
416151da7e PMUFW: PM: slave: Changed code related to updating state to fix USB bug
-Changed code in PmUpdateSlave to first determine the state to be
 entered
-Added function for finding the state with required capabilities
-Removed function which was finding and changing state of a slave
 (not used anymore)
-Major reason for changing this code is the bug: in USB case,
 when USB is already in right state and upon the set requirement
 request which should be resolved to the same state (nothing to
 configure, state is already configured as requested) PM
 acknowledged an error, although there was no error

Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
2015-07-31 16:55:20 +05:30