Skip to content
  • Akshay Saraswat's avatar
    Exynos542x: Add workaround for exynos iROM errata · 67a0652c
    Akshay Saraswat authored
    
    
    iROM logic provides undesired jump address for CPU2.
    This patch adds a programmable susbstitute for a part of
    iROM logic which wakes up cores and provides jump addresses.
    This patch creates a logic to make all secondary cores jump
    to a particular address which evades the possibility of CPU2
    jumping to wrong address and create undesired results.
    
    Logic of the workaround:
    
    Step-1: iROM code checks value at address 0x2020028.
    Step-2: If value is 0xc9cfcfcf, it jumps to the address (0x202000+CPUid*4),
    	else, it continues executing normally.
    Step-3: Primary core puts secondary cores in WFE and store 0xc9cfcfcf in
    	0x2020028 and jump address (pointer to function low_power_start)
    	in (0x202000+CPUid*4).
    Step-4: When secondary cores recieve event signal they jump to this address
    	and continue execution.
    
    Signed-off-by: default avatarKimoon Kim <kimoon.kim@samsung.com>
    Signed-off-by: default avatarAkshay Saraswat <akshay.s@samsung.com>
    Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
    Tested-by: default avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarMinkyu Kang <mk7.kang@samsung.com>
    67a0652c