From 1936841b11759957f78ed1c30e9d728aa9bb6c0c Mon Sep 17 00:00:00 2001 From: Biwen Li Date: Wed, 25 Sep 2019 18:40:42 +0800 Subject: [PATCH] armv7: ls102xa: add errata ID A-008646 for workaround The patch adds an errata ID A-008646 for workaround to provide more information by errata ID. Signed-off-by: Biwen Li Signed-off-by: Priyanka Jain --- arch/arm/cpu/armv7/ls102xa/ls102xa_psci.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/arm/cpu/armv7/ls102xa/ls102xa_psci.c b/arch/arm/cpu/armv7/ls102xa/ls102xa_psci.c index 00b6ad4..86693ed 100644 --- a/arch/arm/cpu/armv7/ls102xa/ls102xa_psci.c +++ b/arch/arm/cpu/armv7/ls102xa/ls102xa_psci.c @@ -68,9 +68,10 @@ static void __secure ls1_deepsleep_irq_cfg(void) ippdexpcr0 = in_be32(&rcpm->ippdexpcr0); /* - * Workaround: There is bug of register ippdexpcr1, when read it always - * returns zero, so its value is saved to a scrachpad register to be - * read, that is why we don't read it from register ippdexpcr1 itself. + * Workaround of errata A-008646 + * Errata states that read to register ippdexpcr1 always returns + * zero irrespective of what value is written into it. So its value + * is first saved to a spare register and then read from it */ ippdexpcr1 = in_be32(&scfg->sparecr[7]); out_be32(&rcpm->ippdexpcr1, ippdexpcr1); -- 2.7.4