History log of /rk3399_ARM-atf/plat/arm/ (Results 2501 – 2525 of 2546)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
1dbe315918-Nov-2015 Sandrine Bailleux <sandrine.bailleux@arm.com>

Juno R2: Configure the correct L2 RAM latency values

The default reset values for the L2 Data & Tag RAM latencies on the
Cortex-A72 on Juno R2 are not suitable. This patch modifies
the Juno platform

Juno R2: Configure the correct L2 RAM latency values

The default reset values for the L2 Data & Tag RAM latencies on the
Cortex-A72 on Juno R2 are not suitable. This patch modifies
the Juno platform reset handler to configure the right settings
on Juno R2.

Change-Id: I20953de7ba0619324a389e0b7bbf951b64057db8

show more ...

23d39dbc18-Nov-2015 Sandrine Bailleux <sandrine.bailleux@arm.com>

Juno: Rework platform reset handler

This patch splits the Juno reset handler in 4 distinct pieces:

- Detection of the board revision;
- Juno R0 specific handler;
- Juno R1 specific handler;
- J

Juno: Rework platform reset handler

This patch splits the Juno reset handler in 4 distinct pieces:

- Detection of the board revision;
- Juno R0 specific handler;
- Juno R1 specific handler;
- Juno R2 specific handler.

Depending on the board revision, the appropriate handler is called.
This makes the code easier to understand and maintain.

This patch is mainly cosmetic. The only functional change introduced
is that the Juno platform reset handler will now spin infinitely if
the board revision is not recognised. Previously, it would have
assumed that it was running on Juno R1 in this case.

Change-Id: I54ed77c4665085ead9d1573316c9c884d7d3ffa0

show more ...

5ea8aa7206-Nov-2015 Juan Castillo <juan.castillo@arm.com>

Add NULL pointer check before reading BL32 entry point information

BL2 is responsible for loading BL32 and passing a pointer to the
BL32 entrypoint info to BL31 in the BL31 parameters. If no BL32
im

Add NULL pointer check before reading BL32 entry point information

BL2 is responsible for loading BL32 and passing a pointer to the
BL32 entrypoint info to BL31 in the BL31 parameters. If no BL32
image is loaded, a NULL pointer is passed. The platform is
responsible for accessing BL31 parameters and extracting the
corresponding BL32 EP info.

In ARM platforms, arm_bl31_early_platform_setup() dereferences the
pointer to the BL32 EP info without checking first if the pointer
is NULL. This will cause an exception if a BL32 entrypoint has not
been populated by BL2. FVP and Juno are not affected because they
always define BL32_BASE, irrespective of whether a BL32 image is
included in the FIP or not.

This patches fixes the issue by checking the BL32 ep_info pointer
before trying to access the data.

If `RESET_TO_BL31` is enabled, the BL32 entrypoint is not
populated if BL32_BASE is not defined.

NOTE: Maintainers of partner platforms should check for this issue
in their ports.

Fixes ARM-software/tf-issues#320

Change-Id: I31456155503f2765766e8b7cd30ab4a40958fb96

show more ...

135c9ddd04-Nov-2015 Achin Gupta <achin.gupta@arm.com>

Merge pull request #423 from jcastillo-arm/jc/genfw/1211

Remove deprecated IO return definitions

0f829ea930-Oct-2015 Brendan Jackman <brendan.jackman@arm.com>

Add A72 support for Juno R2

Cortex-A72 library support is now compiled into the Juno platform port to go
with the existing A53/A57 support. This enables a single set of Juno TF
binaries to run on Ju

Add A72 support for Juno R2

Cortex-A72 library support is now compiled into the Juno platform port to go
with the existing A53/A57 support. This enables a single set of Juno TF
binaries to run on Juno R0, R1 and R2 boards.

Change-Id: I4a601dc4f671e98bdb19d98bbb66f02f0d8b7fc7

show more ...

e098e24402-Nov-2015 Juan Castillo <juan.castillo@arm.com>

Remove deprecated IO return definitions

Patch 7e26fe1f deprecates IO specific return definitions in favour
of standard errno codes. This patch removes those definitions
and its usage from the IO fra

Remove deprecated IO return definitions

Patch 7e26fe1f deprecates IO specific return definitions in favour
of standard errno codes. This patch removes those definitions
and its usage from the IO framework, IO drivers and IO platform
layer. Following this patch, standard errno codes must be used
when checking the return value of an IO function.

Change-Id: Id6e0e9d0a7daf15a81ec598cf74de83d5768650f

show more ...

c1bb8a0512-Oct-2015 Soby Mathew <soby.mathew@arm.com>

Support PSCI SYSTEM SUSPEND on Juno

This patch adds the capability to power down at system power domain level
on Juno via the PSCI SYSTEM SUSPEND API. The CSS power management helpers
are modified t

Support PSCI SYSTEM SUSPEND on Juno

This patch adds the capability to power down at system power domain level
on Juno via the PSCI SYSTEM SUSPEND API. The CSS power management helpers
are modified to add support for power management operations at system
power domain level. A new helper for populating `get_sys_suspend_power_state`
handler in plat_psci_ops is defined. On entering the system suspend state,
the SCP powers down the SYSTOP power domain on the SoC and puts the memory
into retention mode. On wakeup from the power down, the system components
on the CSS will be reinitialized by the platform layer and the PSCI client
is responsible for restoring the context of these system components.

According to PSCI Specification, interrupts targeted to cores in PSCI CPU
SUSPEND should be able to resume it. On Juno, when the system power domain
is suspended, the GIC is also powered down. The SCP resumes the final core
to be suspend when an external wake-up event is received. But the other
cores cannot be woken up by a targeted interrupt, because GIC doesn't
forward these interrupts to the SCP. Due to this hardware limitation,
we down-grade PSCI CPU SUSPEND requests targeted to the system power domain
level to cluster power domain level in `juno_validate_power_state()`
and the CSS default `plat_arm_psci_ops` is overridden in juno_pm.c.

A system power domain resume helper `arm_system_pwr_domain_resume()` is
defined for ARM standard platforms which resumes/re-initializes the
system components on wakeup from system suspend. The security setup also
needs to be done on resume from system suspend, which means
`plat_arm_security_setup()` must now be included in the BL3-1 image in
addition to previous BL images if system suspend need to be supported.

Change-Id: Ie293f75f09bad24223af47ab6c6e1268f77bcc47

show more ...

5f3a603008-May-2015 Soby Mathew <soby.mathew@arm.com>

CSS: Implement topology support for System power domain

This patch implements the necessary topology changes for supporting
system power domain on CSS platforms. The definition of PLAT_MAX_PWR_LVL a

CSS: Implement topology support for System power domain

This patch implements the necessary topology changes for supporting
system power domain on CSS platforms. The definition of PLAT_MAX_PWR_LVL and
PLAT_NUM_PWR_DOMAINS macros are removed from arm_def.h and are made platform
specific. In addition, the `arm_power_domain_tree_desc[]` and
`arm_pm_idle_states[]` are modified to support the system power domain
at level 2. With this patch, even though the power management operations
involving the system power domain will not return any error, the platform
layer will silently ignore any operations to the power domain. The actual
power management support for the system power domain will be added later.

Change-Id: I791867eded5156754fe898f9cdc6bba361e5a379

show more ...

ece32c4f28-Oct-2015 danh-arm <dan.handley@arm.com>

Merge pull request #416 from davwan01/dw/css-common

Allow CSS to redefine function `plat_arm_calc_core_pos`

73c99d4e18-Aug-2015 Juan Castillo <juan.castillo@arm.com>

Rework Makefile

This patch is a complete rework of the main Makefile. Functionality
remains the same but the code has been reorganized in sections in
order to improve readability and facilitate addi

Rework Makefile

This patch is a complete rework of the main Makefile. Functionality
remains the same but the code has been reorganized in sections in
order to improve readability and facilitate adding future extensions.

A new file 'build_macros.mk' has been created and will contain common
definitions (variables, macros, etc) that may be used from the main
Makefile and other platform specific makefiles.

A new macro 'FIP_ADD_IMG' has been introduced and it will allow the
platform to specify binary images and the necessary checks for a
successful build. Platforms that require a BL30 image no longer need
to specify the NEED_BL30 option. The main Makefile is now completely
unaware of additional images not built as part of Trusted Firmware,
like BL30. It is the platform responsibility to specify images using
the macro 'FIP_ADD_IMG'. Juno uses this macro to include the BL30
image in the build.

BL33 image is specified in the main Makefile to preserve backward
compatibility with the NEED_BL33 option. Otherwise, platform ports
that rely on the definition of NEED_BL33 might break.

All Trusted Board Boot related definitions have been moved to a
separate file 'tbbr_tools.mk'. The main Makefile will include this
file unless the platform indicates otherwise by setting the variable
'INCLUDE_TBBR_MK := 0' in the corresponding platform.mk file. This
will keep backward compatibility but ideally each platform should
include the corresponding TBB .mk file in platform.mk.

Change-Id: I35e7bc9930d38132412e950e20aa2a01e2b26801

show more ...

371d439922-Oct-2015 David Wang <david.wang@arm.com>

Allow CSS to redefine function `plat_arm_calc_core_pos`

Currently all ARM CSS platforms which include css_helpers.S use the same
strong definition of `plat_arm_calc_core_pos`. This patch allows thes

Allow CSS to redefine function `plat_arm_calc_core_pos`

Currently all ARM CSS platforms which include css_helpers.S use the same
strong definition of `plat_arm_calc_core_pos`. This patch allows these CSS
platforms to define their own strong definition of this function.

* Replace the strong definition of `plat_arm_calc_core_pos` in
css_helpers.S with a utility function `css_calc_core_pos_swap_cluster`
does the same thing (swaps cluster IDs). ARM CSS platforms may choose
to use this function or not.

* Add a Juno strong definition of `plat_arm_calc_core_pos`, which uses
`css_calc_core_pos_swap_cluster`.

Change-Id: Ib5385ed10e44adf6cd1398a93c25973eb3506d9d

show more ...

84ab33e121-Oct-2015 danh-arm <dan.handley@arm.com>

Merge pull request #410 from soby-mathew/sm/psci_handler_reorg

Reorganise PSCI PM handler setup on ARM Standard platforms

785fb92b29-Sep-2015 Soby Mathew <soby.mathew@arm.com>

Reorganise PSCI PM handler setup on ARM Standard platforms

This patch does the following reorganization to psci power management (PM)
handler setup for ARM standard platform ports :

1. The mailbox

Reorganise PSCI PM handler setup on ARM Standard platforms

This patch does the following reorganization to psci power management (PM)
handler setup for ARM standard platform ports :

1. The mailbox programming required during `plat_setup_psci_ops()` is identical
for all ARM platforms. Hence the implementation of this API is now moved
to the common `arm_pm.c` file. Each ARM platform now must define the
PLAT_ARM_TRUSTED_MAILBOX_BASE macro, which in current platforms is the same
as ARM_SHARED_RAM_BASE.

2. The PSCI PM handler callback structure, `plat_psci_ops`, must now be
exported via `plat_arm_psci_pm_ops`. This allows the common implementation
of `plat_setup_psci_ops()` to return a platform specific `plat_psci_ops`.
In the case of CSS platforms, a default weak implementation of the same is
provided in `css_pm.c` which can be overridden by each CSS platform.

3. For CSS platforms, the PSCI PM handlers defined in `css_pm.c` are now
made library functions and a new header file `css_pm.h` is added to export
these generic PM handlers. This allows the platform to reuse the
adequate CSS PM handlers and redefine others which need to be customized
when overriding the default `plat_arm_psci_pm_ops` in `css_pm.c`.

Change-Id: I277910f609e023ee5d5ff0129a80ecfce4356ede

show more ...

3ae8a36002-Oct-2015 Sandrine Bailleux <sandrine.bailleux@arm.com>

Fix #include path in ARM platform BL1 setup code

This patch fixes the relative path to the 'bl1_private.h' header file
included from 'arm_bl1_setup.c'. Note that, although the path was
incorrect, it

Fix #include path in ARM platform BL1 setup code

This patch fixes the relative path to the 'bl1_private.h' header file
included from 'arm_bl1_setup.c'. Note that, although the path was
incorrect, it wasn't causing a compilation error because the header
file still got included through an alternative include search path.

Change-Id: I28e4f3dbe50e3550ca6cad186502c88a9fb5e260

show more ...

fd6007de20-Jul-2015 Achin Gupta <achin.gupta@arm.com>

Add a generic driver for ARM CCN IP

This patch adds a device driver which can be used to program the following
aspects of ARM CCN IP:

1. Specify the mapping between ACE/ACELite/ACELite+DVM/CHI mast

Add a generic driver for ARM CCN IP

This patch adds a device driver which can be used to program the following
aspects of ARM CCN IP:

1. Specify the mapping between ACE/ACELite/ACELite+DVM/CHI master interfaces and
Request nodes.
2. Add and remove master interfaces from the snoop and dvm
domains.
3. Place the L3 cache in a given power state.
4. Configuring system adress map and enabling 3 SN striping mode of memory
controller operation.

Change-Id: I0f665c6a306938e5b66f6a92f8549b529aa8f325

show more ...

883852ca03-Aug-2015 Vikram Kanigiri <vikram.kanigiri@arm.com>

Separate CSS security setup from SOC security setup

Currently, on ARM platforms(ex. Juno) non-secure access to specific
peripheral regions, config registers which are inside and outside CSS
is done

Separate CSS security setup from SOC security setup

Currently, on ARM platforms(ex. Juno) non-secure access to specific
peripheral regions, config registers which are inside and outside CSS
is done in the soc_css_security_setup(). This patch separates the CSS
security setup from the SOC security setup in the css_security_setup().

The CSS security setup involves programming of the internal NIC to
provide access to regions inside the CSS. This is needed only in
Juno, hence Juno implements it in its board files as css_init_nic400().

Change-Id: I95a1fb9f13f9b18fa8e915eb4ae2f15264f1b060

show more ...

4b1439c531-Jul-2015 Vikram Kanigiri <vikram.kanigiri@arm.com>

Define the Non-Secure timer frame ID for ARM platforms

On Juno and FVP platforms, the Non-Secure System timer corresponds
to frame 1. However, this is a platform-specific decision and it
shouldn't b

Define the Non-Secure timer frame ID for ARM platforms

On Juno and FVP platforms, the Non-Secure System timer corresponds
to frame 1. However, this is a platform-specific decision and it
shouldn't be hard-coded. Hence, this patch introduces
PLAT_ARM_NSTIMER_FRAME_ID which should be used by all ARM platforms
to specify the correct non-secure timer frame.

Change-Id: I6c3a905d7d89200a2f58c20ce5d1e1d166832bba

show more ...

e86c1ff031-Jul-2015 Vikram Kanigiri <vikram.kanigiri@arm.com>

Re-factor definition of TZC-400 base address

This patch replaces the `ARM_TZC_BASE` constant with `PLAT_ARM_TZC_BASE` to
support different TrustZone Controller base addresses across ARM platforms.

Re-factor definition of TZC-400 base address

This patch replaces the `ARM_TZC_BASE` constant with `PLAT_ARM_TZC_BASE` to
support different TrustZone Controller base addresses across ARM platforms.

Change-Id: Ie4e1c7600fd7a5875323c7cc35e067de0c6ef6dd

show more ...

a7270d3524-Jun-2015 Vikram Kanigiri <vikram.kanigiri@arm.com>

Configure all secure interrupts on ARM platforms

ARM TF configures all interrupts as non-secure except those which
are present in irq_sec_array. This patch updates the irq_sec_array
with the missing

Configure all secure interrupts on ARM platforms

ARM TF configures all interrupts as non-secure except those which
are present in irq_sec_array. This patch updates the irq_sec_array
with the missing secure interrupts for ARM platforms.

It also updates the documentation to be inline with the latest
implementation.

Fixes ARM-software/tf-issues#312

Change-Id: I39956c56a319086e3929d1fa89030b4ec4b01fcc

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/cpu-specific-build-macros.md
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/interrupt-framework-design.md
/rk3399_ARM-atf/docs/plat/nvidia-tegra.md
/rk3399_ARM-atf/docs/platform-migration-guide.md
/rk3399_ARM-atf/docs/spd/tlk-dispatcher.md
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/bl31/services/psci_compat.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a53.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/denver.h
/rk3399_ARM-atf/include/lib/mmio.h
/rk3399_ARM-atf/include/plat/arm/common/arm_config.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_def.h
/rk3399_ARM-atf/include/plat/arm/soc/common/soc_css.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a53.S
/rk3399_ARM-atf/lib/cpus/aarch64/denver.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
board/fvp/aarch64/fvp_common.c
board/fvp/fvp_def.h
board/juno/include/platform_def.h
board/juno/juno_def.h
/rk3399_ARM-atf/plat/mediatek/common/mtk_sip_svc.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_sip_svc.h
/rk3399_ARM-atf/plat/mediatek/mt8173/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/mediatek/mt8173/aarch64/platform_common.c
/rk3399_ARM-atf/plat/mediatek/mt8173/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/gpio/gpio.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/gpio/gpio.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/mtcmos/mtcmos.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/mtcmos/mtcmos.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/pmic/pmic_wrap_init.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/pmic/pmic_wrap_init.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/rtc/rtc.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/rtc/rtc.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_hotplug.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_hotplug.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_mcdi.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_mcdi.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_suspend.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/spm/spm_suspend.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/timer/mt_cpuxgpt.c
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/timer/mt_cpuxgpt.h
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/uart/8250_console.S
/rk3399_ARM-atf/plat/mediatek/mt8173/drivers/uart/uart8250.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/mcucfg.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/plat_macros.S
/rk3399_ARM-atf/plat/mediatek/mt8173/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/power_tracer.h
/rk3399_ARM-atf/plat/mediatek/mt8173/include/scu.h
/rk3399_ARM-atf/plat/mediatek/mt8173/mt8173_def.h
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_delay_timer.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_mt_gic.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_private.h
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_sip_calls.c
/rk3399_ARM-atf/plat/mediatek/mt8173/plat_topology.c
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/power_tracer.c
/rk3399_ARM-atf/plat/mediatek/mt8173/scu.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_sip_calls.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/platform_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t132/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/t210/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_secondary.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/plat_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t132/platform_t132.mk
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/platform_t210.mk
/rk3399_ARM-atf/services/spd/tlkd/tlkd.mk
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_helpers.S
/rk3399_ARM-atf/services/std_svc/psci/psci_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_off.c
/rk3399_ARM-atf/services/std_svc/psci/psci_on.c
/rk3399_ARM-atf/services/std_svc/psci/psci_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_setup.c
/rk3399_ARM-atf/services/std_svc/psci/psci_suspend.c
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/cert_create/include/cert.h
/rk3399_ARM-atf/tools/cert_create/include/ext.h
/rk3399_ARM-atf/tools/cert_create/include/key.h
/rk3399_ARM-atf/tools/cert_create/include/tbbr/tbb_cert.h
/rk3399_ARM-atf/tools/cert_create/include/tbbr/tbb_ext.h
/rk3399_ARM-atf/tools/cert_create/include/tbbr/tbb_key.h
/rk3399_ARM-atf/tools/cert_create/src/cert.c
/rk3399_ARM-atf/tools/cert_create/src/ext.c
/rk3399_ARM-atf/tools/cert_create/src/main.c
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_cert.c
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_ext.c
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_key.c
58523c0708-Jun-2015 Soby Mathew <soby.mathew@arm.com>

PSCI: Add documentation and fix plat_is_my_cpu_primary()

This patch adds the necessary documentation updates to porting_guide.md
for the changes in the platform interface mandated as a result of the

PSCI: Add documentation and fix plat_is_my_cpu_primary()

This patch adds the necessary documentation updates to porting_guide.md
for the changes in the platform interface mandated as a result of the new
PSCI Topology and power state management frameworks. It also adds a
new document `platform-migration-guide.md` to aid the migration of existing
platform ports to the new API.

The patch fixes the implementation and callers of
plat_is_my_cpu_primary() to use w0 as the return parameter as implied by
the function signature rather than x0 which was used previously.

Change-Id: Ic11e73019188c8ba2bd64c47e1729ff5acdcdd5b

show more ...

f9e858b115-Jul-2015 Soby Mathew <soby.mathew@arm.com>

PSCI: Validate non secure entrypoint on ARM platforms

This patch implements the platform power managment handler to verify
non secure entrypoint for ARM platforms. The handler ensures that the
entry

PSCI: Validate non secure entrypoint on ARM platforms

This patch implements the platform power managment handler to verify
non secure entrypoint for ARM platforms. The handler ensures that the
entry point specified by the normal world during CPU_SUSPEND, CPU_ON
or SYSTEM_SUSPEND PSCI API is a valid address within the non secure
DRAM.

Change-Id: I4795452df99f67a24682b22f0e0967175c1de429

show more ...

a6bd5ffb10-Jul-2015 Sandrine Bailleux <sandrine.bailleux@arm.com>

PSCI: Pool platform_mem_init() in common ARM platforms code

Now that the FVP mailbox is no longer zeroed, the function
platform_mem_init() does nothing both on FVP and on Juno. Therefore,
this patch

PSCI: Pool platform_mem_init() in common ARM platforms code

Now that the FVP mailbox is no longer zeroed, the function
platform_mem_init() does nothing both on FVP and on Juno. Therefore,
this patch pools it as the default implementation on ARM platforms.

Change-Id: I007220f4531f15e8b602c3368a1129a5e3a38d91

show more ...

804040d110-Jul-2015 Sandrine Bailleux <sandrine.bailleux@arm.com>

PSCI: Use a single mailbox for warm reset for FVP and Juno

Since there is a unique warm reset entry point, the FVP and Juno
port can use a single mailbox instead of maintaining one per core.
The mai

PSCI: Use a single mailbox for warm reset for FVP and Juno

Since there is a unique warm reset entry point, the FVP and Juno
port can use a single mailbox instead of maintaining one per core.
The mailbox gets programmed only once when plat_setup_psci_ops()
is invoked during PSCI initialization. This means mailbox is not
zeroed out during wakeup.

Change-Id: Ieba032a90b43650f970f197340ebb0ce5548d432

show more ...

2204afde16-Apr-2015 Soby Mathew <soby.mathew@arm.com>

PSCI: Demonstrate support for composite power states

This patch adds support to the Juno and FVP ports for composite power states
with both the original and extended state-id power-state formats. Bo

PSCI: Demonstrate support for composite power states

This patch adds support to the Juno and FVP ports for composite power states
with both the original and extended state-id power-state formats. Both the
platform ports use the recommended state-id encoding as specified in
Section 6.5 of the PSCI specification (ARM DEN 0022C). The platform build flag
ARM_RECOM_STATE_ID_ENC is used to include this support.

By default, to maintain backwards compatibility, the original power state
parameter format is used and the state-id field is expected to be zero.

Change-Id: Ie721b961957eaecaca5bf417a30952fe0627ef10

show more ...

38dce70f01-Jul-2015 Soby Mathew <soby.mathew@arm.com>

PSCI: Migrate ARM reference platforms to new platform API

This patch migrates ARM reference platforms, Juno and FVP, to the new platform
API mandated by the new PSCI power domain topology and compos

PSCI: Migrate ARM reference platforms to new platform API

This patch migrates ARM reference platforms, Juno and FVP, to the new platform
API mandated by the new PSCI power domain topology and composite power state
frameworks. The platform specific makefiles now exports the build flag
ENABLE_PLAT_COMPAT=0 to disable the platform compatibility layer.

Change-Id: I3040ed7cce446fc66facaee9c67cb54a8cd7ca29

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/aarch64/bl2_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/cpu_data.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl31/context_mgmt.c
/rk3399_ARM-atf/docs/auth-framework.md
/rk3399_ARM-atf/docs/firmware-design.md
/rk3399_ARM-atf/docs/plat/nvidia-tegra.md
/rk3399_ARM-atf/docs/porting-guide.md
/rk3399_ARM-atf/docs/psci-pd-tree.md
/rk3399_ARM-atf/docs/trusted-board-boot.md
/rk3399_ARM-atf/docs/user-guide.md
/rk3399_ARM-atf/drivers/arm/cci/cci.c
/rk3399_ARM-atf/drivers/arm/cci400/cci400.c
/rk3399_ARM-atf/drivers/arm/gic/arm_gic.c
/rk3399_ARM-atf/drivers/arm/gic/gic_v2.c
/rk3399_ARM-atf/drivers/arm/pl011/pl011_console.S
/rk3399_ARM-atf/drivers/arm/tzc400/tzc400.c
/rk3399_ARM-atf/drivers/console/console.S
/rk3399_ARM-atf/drivers/console/skeleton_console.S
/rk3399_ARM-atf/drivers/io/io_semihosting.c
/rk3399_ARM-atf/include/bl31/context_mgmt.h
/rk3399_ARM-atf/include/bl31/cpu_data.h
/rk3399_ARM-atf/include/bl31/services/psci.h
/rk3399_ARM-atf/include/bl31/services/psci_compat.h
/rk3399_ARM-atf/include/common/asm_macros.S
/rk3399_ARM-atf/include/common/el3_common_macros.S
/rk3399_ARM-atf/include/drivers/arm/arm_gic.h
/rk3399_ARM-atf/include/drivers/arm/cci.h
/rk3399_ARM-atf/include/drivers/arm/cci400.h
/rk3399_ARM-atf/include/drivers/arm/gic_v2.h
/rk3399_ARM-atf/include/drivers/arm/tzc400.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/plat/arm/common/arm_config.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/common_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_coherent.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_normal.c
/rk3399_ARM-atf/lib/semihosting/semihosting.c
board/fvp/aarch64/fvp_helpers.S
board/fvp/fvp_pm.c
board/fvp/fvp_topology.c
board/fvp/platform.mk
board/fvp/tsp/tsp-fvp.mk
board/juno/platform.mk
board/juno/tsp/tsp-juno.mk
common/aarch64/arm_helpers.S
common/arm_bl31_setup.c
common/arm_common.mk
common/arm_pm.c
common/arm_topology.c
common/tsp/arm_tsp.mk
css/common/aarch64/css_helpers.S
css/common/css_common.mk
css/common/css_pm.c
css/common/css_topology.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/common/aarch64/plat_psci_common.c
/rk3399_ARM-atf/plat/common/aarch64/platform_helpers.S
/rk3399_ARM-atf/plat/common/aarch64/platform_mp_stack.S
/rk3399_ARM-atf/plat/common/aarch64/platform_up_stack.S
/rk3399_ARM-atf/plat/compat/aarch64/plat_helpers_compat.S
/rk3399_ARM-atf/plat/compat/plat_compat.mk
/rk3399_ARM-atf/plat/compat/plat_pm_compat.c
/rk3399_ARM-atf/plat/compat/plat_topology_compat.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/aarch64/tegra_helpers.S
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/flowctrl/flowctrl.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/drivers/pmc/pmc.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_bl31_setup.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_common.mk
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_delay_timer.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nvidia/tegra/include/t210/tegra_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/include/tegra_private.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_psci_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_secondary.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/platform_t210.mk
/rk3399_ARM-atf/services/std_svc/psci/psci_common.c
/rk3399_ARM-atf/services/std_svc/psci/psci_entry.S
/rk3399_ARM-atf/services/std_svc/psci/psci_helpers.S
/rk3399_ARM-atf/services/std_svc/psci/psci_main.c
/rk3399_ARM-atf/services/std_svc/psci/psci_off.c
/rk3399_ARM-atf/services/std_svc/psci/psci_on.c
/rk3399_ARM-atf/services/std_svc/psci/psci_private.h
/rk3399_ARM-atf/services/std_svc/psci/psci_setup.c
/rk3399_ARM-atf/services/std_svc/psci/psci_suspend.c
/rk3399_ARM-atf/services/std_svc/psci/psci_system_off.c
/rk3399_ARM-atf/tools/cert_create/include/key.h
/rk3399_ARM-atf/tools/cert_create/src/key.c
/rk3399_ARM-atf/tools/cert_create/src/main.c

1...<<101102