| c26aa08b | 24-Jun-2024 |
Jay Buddhabhatti <jay.buddhabhatti@amd.com> |
feat(xilinx): update SiP SVC version number
SMC ID is fixed in new SiP SVC call format while it varies according to PLM header in old Linux. So, enhance SIP_SVC_VERSION number to support backward co
feat(xilinx): update SiP SVC version number
SMC ID is fixed in new SiP SVC call format while it varies according to PLM header in old Linux. So, enhance SIP_SVC_VERSION number to support backward compatibility and to use full request and response buffer from bare-metal or Linux.
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com> Change-Id: I6764cc92b33b7366640f553827e80c5e97985fcf
show more ...
|
| 59497016 | 12-Sep-2023 |
Jay Buddhabhatti <jay.buddhabhatti@amd.com> |
feat(xilinx): add new state to identify cpu power down
Currently there is only 1 state for CPU idle which is used while CPU power down from Linux CPU idle feature. But CPU power down when firmware s
feat(xilinx): add new state to identify cpu power down
Currently there is only 1 state for CPU idle which is used while CPU power down from Linux CPU idle feature. But CPU power down when firmware send CPU power down request needs new state in self suspend to distinguish in firmware for CPU power down from power down request or CPU power down from Linux CPU idle. So add new state PM_STATE_CPU_OFF to indicate CPU power down from power down request from firmware.
PM_STATE_CPU_OFF state is supported from self-suspend version 3. So added feature check which sends new state in case of new firmware and old state i.e. PM_STATE_CPU_IDLE in case of old firmware.
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com> Change-Id: I4118e1b813e5f76fca7b7e9ca1cc598715203fb0
show more ...
|
| 88ee0816 | 19-Jun-2023 |
Jay Buddhabhatti <jay.buddhabhatti@amd.com> |
feat(xilinx): request cpu power down from reset
Send subsystem restart notification to firmware when TF-A receives system reset PSCI call. On receiving subsystem restart call, firmware will send CPU
feat(xilinx): request cpu power down from reset
Send subsystem restart notification to firmware when TF-A receives system reset PSCI call. On receiving subsystem restart call, firmware will send CPU idle callback to TF-A for powering down all cores. Wait for CPU idle callback from firmware and raise power down request to all cores after it receives CPU idle callback to power down core.
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com> Change-Id: I50f417ae228017f38b648740dc90b2e8f1872620
show more ...
|
| f000744e | 14-Dec-2023 |
Prasad Kummari <prasad.kummari@amd.com> |
fix(versal): initialize cntfrq_el0 register
The set_cnt_freq() function is introduced to configure the counter frequency register.If the counter frequency register is zero, it writes the output of p
fix(versal): initialize cntfrq_el0 register
The set_cnt_freq() function is introduced to configure the counter frequency register.If the counter frequency register is zero, it writes the output of plat_get_syscnt_freq2() the cpu_clocks to the counter frequency register.
According to the design specifications provided for Versal, the lpd_data.cdo file contains a mask_write operation for register 0xFF140020 (base_frequency_ID_register) to set it to 0x5f5e100, configuring it for a 100MHz clock frequency.
Reading the value of the IOU_SCNTRS_BASE_FREQ register using mmio_read_32() to determine the counter frequency. If the counter frequency is zero, the system will set the default CPU clocks constants in TF-A and displays message. However, if the counter frequency is non-zero, the program will return the value stored in the IOU_SCNTRS_BASE_FREQ register.
The issue lies in dcc_status_timeout(),function verifying timeout status, particularly within timeout_cnt_us2cnt(), converting microseconds to counter ticks using read_cntfrq_el0(), which returns zero. timeout_elapsed() then checks if the current counter from read_cntpct_el0()exceeds the expiration count, denoting timeout.
After the function set_cnt_freq() writes into the counter frequency register, the function timeout_cnt_us2cnt() is used to obtain the appropriate counter ticks. Subsequently, the function timeout_elapsed() checks whether the current counter value read_cntpct_el0() has exceeded the specified expiration count. If it has, this indicates that the timeout has lapsed.
Change-Id: I8f2f4d804b5aefa6f92083d831a5ebfade384294 Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|
| 7ff4d4fb | 31-Oct-2023 |
Prasad Kummari <prasad.kummari@amd.com> |
feat(versal): add tsp support
Introduces support for the Test Secure Payload (TSP) for AMD-Xilinx Versal platform. TSP is a component for testing and validating secure OS and trusted execution envi
feat(versal): add tsp support
Introduces support for the Test Secure Payload (TSP) for AMD-Xilinx Versal platform. TSP is a component for testing and validating secure OS and trusted execution environments.
If a BL32 image is present, then there must be a matching Secure- EL1 Payload Dispatcher (SPD) service called TSPD, this service is responsible for Initializing the TSP. During initialization that service must register a function to carry out initialization of BL32 once the runtime services are fully initialized. BL31 invokes such a registered function to initialize BL32 before running BL33.
The GICv3 driver is initialized in EL3 and does not need to be initialized again in SEL1 GICv3 driver is initialized in EL3 This is because the S-EL1 can use GIC system registers to manage interrupts and does not need GIC interface base addresses to be configured.
The secure code load address is initially being pointed to 0x0 in the handoff parameters, which is different from the default or user-provided load address of 0x60000000. In this case, set up the PC to the requested BL32_BASE address to ensure that the secure code is loaded and executed from the correct location.
Change-Id: Ida0fc6467a10bfde8927ff9b3755a83f3e16f068 Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|