• Ivan Shugov's avatar
    ARM: at91: at91sam9g10: fix SOC type detection · 51e7f9ff
    Ivan Shugov authored
    commit 3d9a0183 upstream.
    
    Newer at91sam9g10 SoC revision can't be detected, so the kernel can't boot with
    this kind of kernel panic:
    "AT91: Impossible to detect the SOC type"
    
    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
    CPU: VIVT data cache, VIVT instruction cache
    Machine: Atmel AT91SAM9G10-EK
    Ignoring tag cmdline (using the default kernel command line)
    bootconsole [earlycon0] enabled
    Memory policy: ECC disabled, Data cache writeback
    Kernel panic - not syncing: AT91: Impossible to detect the SOC type
    [<c00133d4>] (unwind_backtrace+0x0/0xe0) from [<c02366dc>] (panic+0x78/0x1cc)
    [<c02366dc>] (panic+0x78/0x1cc) from [<c02fa35c>] (at91_map_io+0x90/0xc8)
    [<c02fa35c>] (at91_map_io+0x90/0xc8) from [<c02f9860>] (paging_init+0x564/0x6d0)
    [<c02f9860>] (paging_init+0x564/0x6d0) from [<c02f7914>] (setup_arch+0x464/0x704)
    [<c02f7914>] (setup_arch+0x464/0x704) from [<c02f44f8>] (start_kernel+0x6c/0x2d4)
    [<c02f44f8>] (start_kernel+0x6c/0x2d4) from [<20008040>] (0x20008040)
    
    The reason for this is that the Debug Unit Chip ID Register has changed between
    Engineering Sample and definitive revision of the SoC. Changing the check of
    cidr to socid will address the problem. We do not integrate this check to the
    list just above because we also have to make sure that the extended id is
    disregarded.
    Signed-off-by: default avatarIvan Shugov <ivan.shugov@gmail.com>
    [nicolas.ferre@atmel.com: change commit message]
    Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
    Acked-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    51e7f9ff
setup.c 7.32 KB