Message ID | 1383819106-1400-5-git-send-email-acourbot@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/07/2013 03:11 AM, Alexandre Courbot wrote: > Register the firmware operations for Trusted Foundations if the device > tree indicates it is active on the device. > diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c > void __init tegra_init_early(void) > { > + of_register_trusted_foundations(); > tegra_cpu_reset_handler_init(); > tegra_apb_io_init(); > tegra_init_fuse(); Your other bugfix patch for 3.13 moved tegra_cpu_reset_handler_init(). Should the call to of_register_trusted_foundations() move with it when this is applied, or should it just stay right at the start of tegra_init_early()? Either way is fine; just let me know which way to fix up the conflict when this gets applied.
On 11/13/2013 05:23 AM, Stephen Warren wrote: > On 11/07/2013 03:11 AM, Alexandre Courbot wrote: >> Register the firmware operations for Trusted Foundations if the device >> tree indicates it is active on the device. > >> diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c > >> void __init tegra_init_early(void) >> { >> + of_register_trusted_foundations(); >> tegra_cpu_reset_handler_init(); >> tegra_apb_io_init(); >> tegra_init_fuse(); > > Your other bugfix patch for 3.13 moved tegra_cpu_reset_handler_init(). > Should the call to of_register_trusted_foundations() move with it when > this is applied, or should it just stay right at the start of > tegra_init_early()? Either way is fine; just let me know which way to > fix up the conflict when this gets applied. I rebased on -next and left it at the start of tegra_init_early(). Even though at the moment the only requirement is that the call is made before tegra_cpu_reset_handler_init(), it seems to make sense to get rid of firmware-related initialization as early as possible. Btw, this patchset is still based on the 3.12 code, before common.c got renamed to tegra.c, so you will have a problem here as well (sorry about that). The conflict is easy to resolve, but if you want me to send you a properly rebased version, just let me know.
diff --git a/Documentation/devicetree/bindings/arm/tegra.txt b/Documentation/devicetree/bindings/arm/tegra.txt index ed9c85334436..558ed4b4ef39 100644 --- a/Documentation/devicetree/bindings/arm/tegra.txt +++ b/Documentation/devicetree/bindings/arm/tegra.txt @@ -32,3 +32,8 @@ board-specific compatible values: nvidia,whistler toradex,colibri_t20-512 toradex,iris + +Trusted Foundations +------------------------------------------- +Tegra supports the Trusted Foundation secure monitor. See the +"tlm,trusted-foundations" binding's documentation for more details. diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 67a76f2dfb9f..4e512782ea23 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -2,6 +2,7 @@ config ARCH_TEGRA bool "NVIDIA Tegra" if ARCH_MULTI_V7 select ARCH_HAS_CPUFREQ select ARCH_REQUIRE_GPIOLIB + select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS select ARM_GIC select CLKDEV_LOOKUP select CLKSRC_MMIO diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 94a119a35af8..b405e4594cb5 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -27,6 +27,7 @@ #include <linux/clk-provider.h> #include <asm/hardware/cache-l2x0.h> +#include <asm/trusted_foundations.h> #include "board.h" #include "common.h" @@ -99,6 +100,7 @@ static void __init tegra_init_cache(void) void __init tegra_init_early(void) { + of_register_trusted_foundations(); tegra_cpu_reset_handler_init(); tegra_apb_io_init(); tegra_init_fuse();