ARM: tegra: only enable SCU on Tegra20
Subsystems (2)
PATCH 1/1 ARM: tegra: only enable SCU on Tegra20
From: Tom Warren <[email protected]>
The non-SPL build of U-Boot on Tegra only runs on a single CPU, and hence there is no need to enable the SCU when running U-Boot. If an SMP OS is booted, and it needs the SCU enabled, it will enable the SCU itself. U-Boot doing so is redundant.
The one exception is Tegra20, where an enabled SCU is required for some aspects of PCIe to work correctly.
Some Tegra SoCs contain CPUs without a software-controlled SCU. In this case, attempting to turn it on actively causes problems. This is the case for Tegra114. For example, when running Linux, the first (or at least some very early) user-space process will trigger the following kernel message:
Unhandled fault: imprecise external abort (0x406) at 0x00000000
This is typically accompanied by that process receving a fatal signal, and exiting. Since this process is usually pid 1, this causes total system boot failure.
--- arch/arm/cpu/tegra-common/ap.c | 4 ++++ 1 file changed, 4 insertions(+)
arch/arm/cpu/tegra-common/ap.c +4 -0
@@ -109,6 +109,10 @@ static void enable_scu(void)struct scu_ctlr *scu = (struct scu_ctlr *)NV_PA_ARM_PERIPHBASE ;u32 reg; +/* Only enable the SCU on T20/T25 */ +if (tegra_get_chip () !=CHIPID_TEGRA20 ) +return ; +/* If SCU already setup/enabled, return */ if (readl (&scu->scu_ctrl) &SCU_CTRL_ENABLE )return ;
Signature · 1 line
1.7.10.4
PATCH 1/1 ARM: tegra: only enable SCU on Tegra20
Quoted 16 lines · Stephen Warren
From: Tom Warren <[email protected]>
The non-SPL build of U-Boot on Tegra only runs on a single CPU, and hence there is no need to enable the SCU when running U-Boot. If an SMP OS is booted, and it needs the SCU enabled, it will enable the SCU itself. U-Boot doing so is redundant.
The one exception is Tegra20, where an enabled SCU is required for some aspects of PCIe to work correctly.
Some Tegra SoCs contain CPUs without a software-controlled SCU. In this case, attempting to turn it on actively causes problems. This is the case for Tegra114. For example, when running Linux, the first (or at least some very early) user-space process will trigger the following kernel message:
Quoted 5 lines
Unhandled fault: imprecise external abort (
0x406) at0x00000000This is typically accompanied by that process receving a fatal signal, and exiting. Since this process is usually pid 1, this causes total system boot failure.
Tom, is this patch OK? It's a rather critical bug-fix for Tegra114, so I'd like to make sure it gets into the upcoming release. Thanks.
PATCH 1/1 ARM: tegra: only enable SCU on Tegra20
Sorry, my BW is being used up by internal projects. I'll pull it down, apply/build/test in u-boot-tegra/next, and then I can send a PR to Albert if you think it needs to move higher up right away.
Tom
Quoted 25 lines
-----Original Message-----
From: Stephen Warren [mailto:swarren at wwwdotorg.org]
Sent: Tuesday, June 04, 2013 12:34 PM
To: Tom Warren
Cc: u-boot at lists.denx.de; Simon Glass; Stephen Warren
Subject: Re: [U-Boot] [PATCH] ARM: tegra: only enable SCU on Tegra20Quoted 17 lines · Stephen Warren
From: Tom Warren <[email protected]>
The non-SPL build of U-Boot on Tegra only runs on a single CPU, and hence there is no need to enable the SCU when running U-Boot. If an SMP OS is booted, and it needs the SCU enabled, it will enable the SCU itself. U-Boot doing so is redundant.
The one exception is Tegra20, where an enabled SCU is required for some aspects of PCIe to work correctly.
Some Tegra SoCs contain CPUs without a software-controlled SCU. In this case, attempting to turn it on actively causes problems. This is the case for Tegra114. For example, when running Linux, the first (or at least some very early) user-space process will trigger the following kernel
message:
Quoted 8 lines
Quoted 5 lines
Unhandled fault: imprecise external abort (
0x406) at0x00000000This is typically accompanied by that process receving a fatal signal, and exiting. Since this process is usually pid 1, this causes total system boot failure.
Tom, is this patch OK? It's a rather critical bug-fix for Tegra114, so I'd like to make sure it gets into the upcoming release. Thanks.
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------