Currently R5 applications are handedoff immediately after they are loaded.
This feature is configurable in FSBL and now with this change, early handoff
is disabled by default. User can enable this feature again by defining
FSBL_EARLY_HANDOFF_EXCLUDE_VAL as 1.
Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
This patch modifies openamp matrix multiply application tcl file
to check if OS is standalone or freertos for which the application
is being built
Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked by: Anirudha Sarangi <anirudh@xilinx.com>
This patch modifies openamp rpc demo to support the latest kernel
changes by modifying IPI channel bit mask, moving the code to DDR
from 0xfffc0000 to avoid conflict with ATF
Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked by: Anirudha Sarangi <anirudh@xilinx.com>
This patch modifies openamp echo test to support the latest kernel
changes by modifying IPI channel bit mask, moving the code to DDR
from 0xfffc0000 to avoid conflict with ATF
Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked by: Anirudha Sarangi <anirudh@xilinx.com>
This patch modifies openamp matrix multiply application to pick
correct linker script for baremetal and freertos. This patch
also modifies linker scripts to put the data into DDR instead
of part of OCM where ATF lies. This patch modifies IPI mask in
openamp application to support it with latest linux changes
Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked by: Anirudha Sarangi <anirudh@xilinx.com>
Except banner all prints are disabled in FSBL.
Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
When load address is not mentioned for PL bitstream, bootgen now makes this
as 0xFFFFFFFF to indicate it is invalid. Hence, FSBL uses default address to
load bitstream when load address from bootgen is 0xFFFFFFFF.
Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
Bootgen currently has no support for multiple loadable sections
in elfs. So a workaround is being implemented in PMUFW linker
script. All sections are forced to be loadable and dummy bytes
are added to fill the gaps. This change causes linker to throw
a warning about bss section being made PROGBITS.
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Changed the format specifiers from %x to %lx and %d to %lu
while printing unsigned long variables.
Without these changes many warnings are shown in FSBL when xil_printf
type in BSP is changed to be compatible with printf.
Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
This patch modifies ipi_isr in baremetal.c to make it compatible
with freertos supported openamp library.
Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi <anirudh@xilinx.com>
This patch modifies ipi_isr in baremetal.c to make it compatible
with freertos supported openamp library.
Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi <anirudh@xilinx.com>
Currently for R5, compiler flag for, floating-point ABI is mentioned
as "softfp". This causes abort on encountering floating point arithmetic
operation. Hence changing this flag to "soft".
Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
Add support for A53:
- Add __aarch64__ in conditional compilation
- Disable data cache as lwip is not working on A53 with caches enabled
Signed-off-by: Harini Katakam <harinik@xilinx.com>
Acked-by: Anirudha Sarangi <anirudh@xilinx.com>
This fix enables the compiler flags specified in HSI command line
to be appended to those specified in FSBL tcl file.
Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
DONT_SLEEP bit in PMU GLobal control register, if set, wakes up the
microblaze from sleep state. This makes the "sleep" instruction
ineffective by making the MB to toggle between sleep and wake states
in the core loop. So this bit is cleared to prevent such a situation
and ensure that MB wakes up only in case of an interrupt event.
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
Acked-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Some registers in PMU Local register set are not intended to be
published out. So removing all register definitions which are not
used by PMU FW currently.
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
Tested-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Exception handler is modified to log the ESR and EAR registers
into persistent global storage registers(0,1) and set FW error bit-0.
If bit-0 of FWError group in ERROR_2 register set is configured to do
a SRST,then post reset, SW can read the reason for exception from
these persistent registers.
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
Basic APIs are provided for modules to send/receive IPI messages.
These are wrappers around IPI driver functions and are intended to
support a common message structure. Currently only a module's IPI ID
is considered.This can be extended to include checksum and other fields in
IPI message and dispatching IPIs based on module id.
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
A framework to enable handling of HW errors reported via ERROR_1 and ERROR_2
registers in PMU GLOBAL space is provided. User can choose to register an
action for an error by using the provided API. An API is provided to enable
Error reporting via PSERR pin.
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
Register for secure lock-down request from CSU and
call the corresponding ROM handler when this event occurs
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
CSU ROM and FSBL send power up/down requests to PMU via the
PWR_UP/PWR_DN request register in PMU_GLOBAL. This module
handles these requests and routes them to respective ROM handlers
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
Add new events and supporting functions to handle legacy
ROM power up and power down requests that are initiated
using PMU GLOBAL registers.
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
Add DAP event handler to PMU Firmware as a new user module and pass on
the handling to respective ROM Handlers.When a DAP wake arrives,
PMU should ACK the DAP Wake using its local registers.
PMU ROM has handlers for these and we will re-use these handlers here.
This module is enabled only if ENABLE_PM is not defined to avoid conflict
with the PM module
Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com>
This patch removes the gap in serial numbering of PM API ids
between PM_SET_MAX_LATENCY and PM_RESET_ASSERT defined in
pm_defs.h
Signed-off-by: Rohit Fule <rohitf@xilinx.com>
Tested-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Jyotheeswar Reddy Mutthareddyvari <jyothee@xilinx.com>
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>
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>
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>
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>
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>
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>
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>
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>