Commit graph

7213 commits

Author SHA1 Message Date
Manish V Badarkhe
aba583498e Merge changes from topic "st_gpio_update" into integration
* changes:
  fix(st-gpio): configure each GPIO mux as secure for STM32MP2
  feat(st-gpio): add set GPIO config API
  fix(stm32mp1): remove unnecessary assert on GPIO_BANK_A value
  refactor(st): use GPIO banks definition from bindings
  feat(dt-bindings): describe ST GPIO banks and config
2024-06-17 14:45:56 +02:00
Manish V Badarkhe
9be048a96d Merge "fix(tc): add SCP_BL2 to RSE measured boot" into integration 2024-06-17 14:28:41 +02:00
Patrick Delaunay
5c457689b2 fix(stm32mp1): remove unnecessary assert on GPIO_BANK_A value
Remove assert for unexpected value of the define GPIO_BANK_A.

This check is not required as GPIO_BANK_A = 0, it can be limited to
have bank <= GPIO_BANK_K as bank is unsigned int.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Change-Id: I0345d56f106fcacd6a6f93281c2d9279980cd152
2024-06-17 11:24:09 +02:00
Pascal Paillet
e04a9ef5ea refactor(st): use GPIO banks definition from bindings
Use GPIO banks definition from bindings.

Change-Id: I4dcf321345e319af78285e940b72a1369569b996
Signed-off-by: Pascal Paillet <p.paillet@st.com>
2024-06-17 11:24:09 +02:00
Chris Kay
7c4e1eea61 build: unify verbosity handling
This change introduces a few helper variables for dealing with verbose
and silent build modes: `silent`, `verbose`, `q` and `s`.

The `silent` and `verbose` variables are boolean values determining
whether the build system has been configured to run silently or
verbosely respectively (i.e. with `--silent` or `V=1`).

These two modes cannot be used together - if `silent` is truthy then
`verbose` is always falsy. As such:

    make --silent V=1

... results in a silent build.

In addition to these boolean variables, we also introduce two new
variables - `s` and `q` - for use in rule recipes to conditionally
suppress the output of commands.

When building silently, `s` expands to a value which disables the
command that follows, and `q` expands to a value which supppresses
echoing of the command:

    $(s)echo 'This command is neither echoed nor executed'
    $(q)echo 'This command is executed but not echoed'

When building verbosely, `s` expands to a value which disables the
command that follows, and `q` expands to nothing:

    $(s)echo 'This command is neither echoed nor executed'
    $(q)echo 'This command is executed and echoed'

In all other cases, both `s` and `q` expand to a value which suppresses
echoing of the command that follows:

    $(s)echo 'This command is executed but not echoed'
    $(q)echo 'This command is executed but not echoed'

The `s` variable is predominantly useful for `echo` commands, where you
always want to suppress echoing of the command itself, whilst `q` is
more useful for all other commands.

Change-Id: I8d8ff6ed714d3cb401946c52955887ed7dca602b
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-06-14 15:54:48 +00:00
Chris Kay
3af4eb50c0 build: add string casing facilities to utilities
This is a small modification to two existing functions in the build
system: `uppercase` and `lowercase`.

These functions have been moved to the common utilities makefile, and
use the `tr` tool to simplify their implementation. Behaviour is, for
virtually all use-cases, identical.

Change-Id: I0e459d92e454087e4188b2fa5968244e5db89906
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-06-14 15:54:41 +00:00
Madhukar Pappireddy
78ff36192f Merge changes from topic "st_clk_update" into integration
* changes:
  feat(st-clock): use early traces
  fix(st-clock): adapt order of CSS on LSE and HSE
  refactor(st-clock): remove unused struct
  feat(stm32mp1-fdts): remove RTC clock configuration
  refactor(st-clock): move stm32mp1_clk_rcc_regs_*lock
  refactor(st-clock): driver size optimization
  refactor(st-clock): remove BL32 support on STM32MP13
  feat(st-clock): don't gate/ungate an oscillator if it is not wired
  feat(dt-bindings): add missing SPIx bus clocks
  feat(stm32mp1-fdts): remove PLL1 settings
  feat(st-clock): update with new bindings
  feat(stm32mp1-fdts): new RCC DT bindings for STM32MP1
  feat(dt-bindings): new RCC DT bindings
  feat(stm32mp1): always boot at 650MHz
  refactor(st-clock): remove LSEDRV_MEDIUM_HIGH for STM32MP13
  fix(st-clock): display proper PLL number for STM32MP13
  fix(st-clock): do not reconfigure LSE
  feat(stm32mp1-fdts): move RNG1 to CSI to improve random generation
  refactor(st-clock): remove unused clk function in API
  refactor(st-clock): support deactivated STGEN in stm32mp_stgen_config
  feat(st-clock): add function to restore generic timer rate
2024-06-14 15:20:22 +02:00
Manish V Badarkhe
93ffd7c3dc Merge changes from topic "us_mcn" into integration
* changes:
  feat(tc): configure MCN rdalloc and wralloc mode
  feat(tc): add dts entries for MCN PMU nodes
  feat(tc): enable MCN non-secure access to pmu counters on TC3
2024-06-14 12:18:50 +02:00
Manish V Badarkhe
378025e20c Merge changes from topic "nrd3_support" into integration
* changes:
  feat(rdfremont): add support for measured boot at BL1 and BL2
  feat(arm): mock support for CCA NV ctr
  feat(rdfremont): fetch attestation key and token from RSE
  feat(psa): introduce generic library for CCA attestation
  feat(rdfremont): initialize the rse comms driver
  feat(rdfremont): helper to initialize rse-comms with AP-RSE MHUv3
  fix(rse): include lib-psa to resolve build
  feat(neoverse-rd): add MHUv3 channels on third gen multichip platforms
  feat(neoverse-rd): add MHUv3 doorbell channels on third gen platforms
  feat(rdfremont): initialize GPT on GPC SMMU block
  feat(rdfremont): update Root registers page offset for SMMUv3
  feat(rdfremont): enable MTE2 if present on the platform
  feat(rdfremont): enable SVE for SWD and NS
  feat(rdfremont): enable AMU if present on the platform
  feat(rdfremont): enable MPAM if present on the platform
  feat(rdfremont): add DRAM pas entries in pas table for multichip
  feat(rdfremont): add implementation for GPT setup
  feat(rdfremont): integrate DTS files for RD-Fremont variants
  feat(rdfremont): add support for RD-Fremont-Cfg2
  feat(rdfremont): add support for RD-Fremont-Cfg1
  feat(rdfremont): add support for RD-Fremont
  feat(neoverse-rd): add scope for RD-Fremont variants
  feat(neoverse-rd): add multichip pas entries
  feat(neoverse-rd): add pas definitions for third gen platforms
  feat(neoverse-rd): add DRAM layout for third gen platforms
  feat(neoverse-rd): add SRAM layout for third gen platforms
  feat(neoverse-rd): add firmware definitions for third gen platforms
  feat(neoverse-rd): add RoS definitions for third gen platforms
  feat(neoverse-rd): add CSS definitions for third gen platforms
2024-06-14 10:09:02 +02:00
Tamas Ban
79841546a2 fix(tc): add SCP_BL2 to RSE measured boot
SCP_BL2 is part of CCA's TCB. The SCP_BL1 is loaded
by RSE. It has already added to the platform
attestation token. SCP_BL2 was missed, so it is
fixed now.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: Ic87743564136f03a901c90ff1ec614f5965b9a47
2024-06-13 15:53:10 +02:00
Manish Pandey
517b7f96c9 Merge "fix(plat/marvell/a3k): reset GIC before resetting via CM3 secure coprocessor" into integration 2024-06-13 15:46:01 +02:00
Manish Pandey
335b6c3ef2 Merge "refactor(qemu): use the example CCA platform token from iat-verifier" into integration 2024-06-13 14:52:57 +02:00
Manish Pandey
c4b215ff0b Merge changes from topic "dualroot_dtb" into integration
* changes:
  refactor(fvp): add CoT desc dtsi
  feat(arm): add COT_DESC_IN_DTB option for Dualroot
  feat(fvp): add Dualroot CoT in DTB support
  feat(dt-bindings): introduce Dualroot CoT DTB
2024-06-11 14:49:45 +02:00
Yann Gautier
f655922788 feat(stm32mp1): always boot at 650MHz
Switching to higher CPU frequencies requires a dedicated chip version
(STM32MP1xxD or STM32MP1xxF), and increase CPU voltage. To avoid
re-configuring I2C and PMIC before and after applying clock tree,
always boot at 650MHz, which is the frequency for nominal voltage.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Change-Id: Id05a3ee17e7dd57e2d64dc06f8f1e7f9cb21e110
2024-06-11 14:02:10 +02:00
André Przywara
1e34c3bca2 Merge "fix(allwinner): remove unneeded header inclusion" into integration 2024-06-10 18:41:43 +02:00
Manish V Badarkhe
2941e5b146 Merge changes from topic "mb/refactor-cot" into integration
* changes:
  refactor(juno): add explicit entry for HW_CONFIG in BL2 CoT file
  refactor(auth): remove HW_CONFIG reference from BL1 CoT file
2024-06-10 17:27:25 +02:00
Andre Przywara
8bb8f02d44 fix(allwinner): remove unneeded header inclusion
Nothing in sunxi_bl31_setup.c uses any functionality provided by the
fdt_wrappers file, so remove its inclusion from the header list.

Change-Id: I47031a58add2f85e757e75d8578f4e8e21ef65ea
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2024-06-10 15:56:29 +01:00
Madhukar Pappireddy
a681e767aa Merge "fix(imx): disable DRAM retention by default on i.MX8MQ" into integration 2024-06-10 15:42:52 +02:00
Joanna Farley
4328ca595f Merge changes from topic "xlnx_fix_cpu_pwrdwn_handling" into integration
* changes:
  fix(xilinx): handle power down event if SGI not registered
  fix(xilinx): register for idle callback
2024-06-10 09:18:49 +02:00
Sayanta Pattanayak
61829505d2 feat(rdfremont): add support for measured boot at BL1 and BL2
RD-Fremont platforms include Runtime Security Engine (RSE) as the
hardware crypto module. Add rse_measured_boot driver based platform
hooks to measure and record firmware image measurements.

Additionally, add support for measured boot at BL1 and BL2 boot stages
on RD-Fremont platforms. The patch adds the RSE measured boot metadata
that includes firmware image IDs, measurement slot number and other
information. It also initializes the AP communication with RSE over
AP-RSE root MHUv3 channel to pass firmware image measurements to RSE to
support extended measurements.

Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Ia1b0bf673e865b31862cb8af79c4c71a5ba4dbea
2024-06-07 11:40:08 +01:00
Pranav Madhu
7423e5e893 feat(arm): mock support for CCA NV ctr
Arm reference design FVP platforms such as RD-Fremont do not implement
the CCA_FW_NVCOUNTER. Update firmware such that the implementation will
return TRUSTED_FW_NVCOUNTER when the caller requests the CCA NV counter.
This allows the platforms to use the CCA CoT on FVP platforms.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Ifab724fae63857056b3eeb44eeefc15c4c610eed
2024-06-07 11:40:08 +01:00
Vivek Gautam
0e323ec5c4 feat(rdfremont): fetch attestation key and token from RSE
Use the delegated attestation driver to fetch platform attestation token
and Realm attestation key from RSE over the AP-RSE comms interface.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Id0cfd82ef79598cd8368ba017c145bf34d502e65
2024-06-07 11:40:08 +01:00
Vivek Gautam
f546113761 feat(rdfremont): initialize the rse comms driver
Define platform specific API to fetch base address for secure or root
MHUv3 between AP-RSE invoke rse-comms driver initialization bl31
platform setup stage.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Id79bcdb2fda6cdf394f4e02f67d1c1a44d5ddf23
2024-06-07 11:40:08 +01:00
Vivek Gautam
2a35fcdd9f feat(rdfremont): helper to initialize rse-comms with AP-RSE MHUv3
Add a helper function to initialize rse_comms on RD-Fremont platforms
with AP-RSE MHUv3 postbox and mailbox register frames.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Ic390517a8810df195a2582793b81afdbff5ffa15
2024-06-07 11:40:07 +01:00
Rohit Mathew
47348b1c53 feat(neoverse-rd): add MHUv3 channels on third gen multichip platforms
Add MHUv3 doorbell channel information to scmi_channel_plat_info_t for
third generation of multichip Neoverse reference design platforms.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Ie4ebf47a10f2f6e33c7ecfc8008e30bacc62bf3d
2024-06-07 11:40:07 +01:00
Shriram K
46d474fc9f feat(neoverse-rd): add MHUv3 doorbell channels on third gen platforms
Define and use a new scmi_channel_plat_info_t structure specific to
third generation Neoverse platforms in order to use MHUv3 doorbell
channels. The structure uses the existing mhu_ring_doorbell method for
ring_doorbell implementation.

Signed-off-by: Shriram K <shriram.k@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Icf3be5305df94ba944038a4d4fdf0ccf32168650
2024-06-07 11:40:07 +01:00
Vijayenthiran Subramaniam
ba35fac174 feat(rdfremont): initialize GPT on GPC SMMU block
GPC SMMU does granule protection checks (GPC) for accesses originating
from the system control block and GIC on RD-Fremont platforms. The GPC
check on this is disabled by the boot firmware. Configure the GPC SMMU
to enable GPC.

The transactions on GPC SMMU should be allowed during boot stages so
don't perform smmuv3_security_init() for this SMMU instance.

Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: I3400c57fe264582a45c6a26f9dae8c669e8a8047
2024-06-07 11:40:07 +01:00
Rohit Mathew
859355f275 feat(rdfremont): update Root registers page offset for SMMUv3
SMMUv3 with RME on RD-Fremont platform variants supports Root and Realm
register pages. The page offset for Root and Realm register pages is a
platform configurable option. Update the Root registers page offset for
RD-Fremont platform variants.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Change-Id: Ib3df7d7b9e54219d49b4d77a1fc5846096f1c78c
2024-06-07 11:40:07 +01:00
Rohit Mathew
f80137720c feat(rdfremont): enable MTE2 if present on the platform
MTE2 is an optional feature that could be part of platforms based on Arm
V8.5 or above. If this feature is implemented on the platform, lower ELs
could potentially access the feature registers leading to EL3 traps.
Therefore, set MTE2 build option to '2' to enable the feature only if
its implemented on the platform.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Idc04b7f3851a2481e4c6bea426a3f09be145b899
2024-06-07 11:40:07 +01:00
Vivek Gautam
7e2736b0c1 feat(rdfremont): enable SVE for SWD and NS
Enable SVE support for non secure and secure worlds for RD-Fremont
variants.

Signed-off-by: Vivek Gautam <vivek.gautam@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Idcb309d031a1e10740dd365bb65570f8d2ce3a05
2024-06-07 11:40:07 +01:00
Rohit Mathew
faf98b3fe2 feat(rdfremont): enable AMU if present on the platform
Set build-option ENABLE_FEAT_AMU to 2 so that AMU is enabled if the
feature is implemented on the platform. This would ensure that lower ELs
could access system registers relevant to AMU registers without causing
a trap to EL3.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I567ac9b0d76b613593d37ea45b4955b423ff5e6c
2024-06-07 11:40:07 +01:00
Rohit Mathew
e9519857d3 feat(rdfremont): enable MPAM if present on the platform
Set build-option ENABLE_FEAT_MPAM to 2 so that access to MPAM related
registers from lower ELs don't trap to EL3.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I4c5753c415461e5ffc79e371ae00cc6e6dd087f9
2024-06-07 11:40:07 +01:00
Rohit Mathew
6a9cf0e5aa feat(rdfremont): add DRAM pas entries in pas table for multichip
RD-Fremont-Cfg2 supports 8 DRAM banks compared to RD-Fremont and
RD-Fremont-Cfg1, which only support 2. So add PAS entries for
all the DRAM banks in the PAS table for RD-Fremont-Cfg2, ensuring proper
access controls to these regions.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ib09b44569ea088f35529a1c983d3db727d86e262
2024-06-07 11:40:07 +01:00
Rohit Mathew
0876c74285 feat(rdfremont): add implementation for GPT setup
Since GPT setup has been delegated to the platform, add an
implementation for plat_bl2_gpt_setup in accordance with the
specification for RD-Fremont variants.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I1ff47249ce304f1c188850282d92c64cae463383
2024-06-07 11:40:07 +01:00
Rohit Mathew
1b966414c1 feat(rdfremont): integrate DTS files for RD-Fremont variants
This update incorporates essential device tree (DTS) files for
RD-Fremont variants. The inclusion covers DTS for platform and config
ID, NT_FW_CONFIG, and TB_FW_CONFIG, enhancing device tree support for
RD-Fremont within the project.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ibf898f963d971fe9b07cfa518244c47a8aced81e
2024-06-07 11:40:07 +01:00
Rohit Mathew
eedb2d820a feat(rdfremont): add support for RD-Fremont-Cfg2
Add board support for RD-Fremont-Cfg2 platform, which is a quad chip
variant of RD-Fremont. Each chip has reduced core count of four CPUs as
compared to single chip RD-Fremont platform.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I9b79f0eef210afecaa15e381414479027617e44a
2024-06-07 11:40:07 +01:00
Rohit Mathew
6a0cb487fd feat(rdfremont): add support for RD-Fremont-Cfg1
Add the required source and header files to support RD-Fremont-Cfg1,
which is a variant of RD-Fremont. RD-Fremont-Cfg1 hosts a smaller mesh
and lower number of cores when compared with RD-Fremont.

Signed-off-by: Shriram K <shriram.k@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I720b0e76174123c8aab64b39e9468b28614607b9
2024-06-07 11:40:07 +01:00
Rohit Mathew
c0513e0f85 feat(rdfremont): add support for RD-Fremont
Add the required source and header files to support RD-Fremont.
Additionally, create a makefile for building the platform.

Co-developed-by: Harry Moulton <harry.moulton@arm.com>
Signed-off-by: Harry Moulton <harry.moulton@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I03b6913b08d488c86a5f4638ef6cd8b0f5c43a9a
2024-06-07 11:40:07 +01:00
Rohit Mathew
c72e9dcdd8 feat(neoverse-rd): add multichip pas entries
RD-Fremont-Cfg2, the quad-chip variant of RD-Fremont supports 8 DRAM
banks compared to RD-Fremont and RD-Fremont-Cfg1, which only support 2.
Therefore, define PAS entry mappings for all the DRAM banks, so that
they could be utilized on the multichip variant.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: Ief235581c0066a95528235b9821646f864e14d3a
2024-06-07 11:40:07 +01:00
Rohit Mathew
896e9aa98b feat(neoverse-rd): add pas definitions for third gen platforms
Since the GPT setup is now delegated to the platform, each platform
needs to include PAS definitions according to its specifications. This
commit adds PAS definitions specifically tailored for RD-Fremont
variants.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I1a23029a74401fb1faa70bb6c2e66093ed08c45a
2024-06-07 11:40:07 +01:00
Rohit Mathew
10eb4c4bee feat(neoverse-rd): add DRAM layout for third gen platforms
Given the differences in memory map of the third generation reference
design platforms, it is necessary to move away from the common DRAM
layout present as part of arm_def.h. Therefore, introduce definitions
and necessary carveouts within DRAM to define a new DRAM layout for
these platforms.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I79af066f41259f147febdc3c00447db5be995799
2024-06-07 11:40:07 +01:00
Rohit Mathew
5a37d68c78 feat(neoverse-rd): add SRAM layout for third gen platforms
Given the differences in memory map and additional RME requirements for
the V3 CPU based platforms, it is necessary to move away from the common
SRAM layout present as part of arm_def.h. Therefore, introduce
definitions and necessary carveouts within SRAM to define a new SRAM
layout for these platforms.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I2d0ef65abde66da7523dd9e09036c7803978570c
2024-06-07 11:40:07 +01:00
Rohit Mathew
e517ccf52c feat(neoverse-rd): add firmware definitions for third gen platforms
Add firmware definitions for the third generation of platforms. The
following files are added -

- nrd_css_fw_def3.h: for CSS firmware definitions
- nrd_ros_fw_def3.h : for RoS firmware definitions
- nrd_plat_arm_def3.h: for platform port macros

All the common files for these platforms are housed under nrd3
directory.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I085d609cfe1686d28d1c467fb34d45af47e00eb6
2024-06-07 11:40:07 +01:00
Rohit Mathew
fad5a209a0 feat(neoverse-rd): add RoS definitions for third gen platforms
Add RoS definitions for third generation of platforms. Common
definitions for such platforms would be housed in the nrd3 directory
under includes.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I2062c71676f27b4d17a3069b955565670f62a76c
2024-06-07 11:40:07 +01:00
Rohit Mathew
6d5271346d feat(neoverse-rd): add CSS definitions for third gen platforms
Add CSS definitions for the third generation of reference design
platforms. Common definitions for such platforms would be housed in the
nrd3 directory under includes.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Id271ebdf5dcc1d7b598606c313208ab85662795d
2024-06-07 11:40:07 +01:00
shengfei Xu
9fd9f1d024 feat(rockchip): add RK3566/RK3568 Socs support
RK3566/RK3568 is a Quad-core soc and Cortex-a55 inside.
This patch supports the following functions:
1. basic platform setup
2. power up/off cpus
3. suspend/resume cpus
4. suspend/resume system
5. reset system

Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: I8b98a4d07664de26bd6078f63664cbc3d9c1c68c
2024-06-07 11:59:46 +02:00
Jay Buddhabhatti
c3ffa4c5ba fix(xilinx): handle power down event if SGI not registered
Currently, if SGI is not registered by Linux and power down event from
firmware is received then it's not getting handled in TF-A and core power
down is not happening. Because of that subsystem restart or force power
down without Linux boot is not happening. So, handle power down event in
TF-A if Linux not registered SGI.

Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
Change-Id: I0c23792daba6ae47004ae99e232c77e17230bcfb
2024-06-07 02:41:00 -07:00
Jay Buddhabhatti
a3b0a3422c fix(xilinx): register for idle callback
Currently, only Linux registering for getting idle callback during
subsystem restart or force power down. Because of that if Linux boot
hang or someone wants to do subsystem restart before Linux boot then
it's not working. So, register for idle callback in TF-A to get idle
callback during subsystem restart or force power down to do ARM
specific steps for proper power down of core.

Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
Change-Id: If7c01f79be6958678243be844bcfdc50d59b0fb8
2024-06-07 02:38:11 -07:00
Ronak Jain
924f8ce2e9 feat(xilinx): remove PM_IOCTL and PM_QUERY_DATA APIs
Today, the PM_IOCTL and PM_QUERY_DATA APIs are there to maintain
backward compatibility. Now, the usage of these APIs on the Linux
side and the firmware side is updated. Hence remove the deprecated
PM_IOCTL and PM_QUERY_DATA EEMI API from the TF-A to make TF-A pass
through.

Note: Only use the newer kernel to access the deprecated features in
this patch. Otherwise, the system may not function correctly.

Change-Id: I23effb7ff62e7f83563c2b422ea64a0289fd880f
Signed-off-by: Ronak Jain <ronak.jain@amd.com>
2024-06-06 01:47:16 -07:00
Manish V Badarkhe
3e2aa0d854 refactor(juno): add explicit entry for HW_CONFIG in BL2 CoT file
Add an explicit entry for HW_CONFIG in the BL2 CoT file for the Juno
platform, as the HW_CONFIG node has been removed from the common CoT
file.

Change-Id: I8a1a22dd1023895cfc5730101fad20a80390ce17
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2024-06-05 12:42:40 +01:00