Skip to content
Snippets Groups Projects
Forked from Reform / reform-boundary-uboot
Source project has a limited visibility.
  • Tom Warren's avatar
    dbc000bf
    ARM: tegra: only enable SCU on Tegra20 · dbc000bf
    Tom Warren authored
    
    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.
    
    Signed-off-by: default avatarTom Warren <twarren@nvidia.com>
    [swarren, fleshed out description, ported to upstream chipid APIs]
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Signed-off-by: default avatarTom Warren <twarren@nvidia.com>
    dbc000bf
    History
    ARM: tegra: only enable SCU on Tegra20
    Tom Warren authored
    
    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.
    
    Signed-off-by: default avatarTom Warren <twarren@nvidia.com>
    [swarren, fleshed out description, ported to upstream chipid APIs]
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Signed-off-by: default avatarTom Warren <twarren@nvidia.com>