armv8: ls1028a: add erratum A-050382 workaround
authorLaurentiu Tudor <laurentiu.tudor@nxp.com>
Fri, 18 Oct 2019 09:01:56 +0000 (09:01 +0000)
committerPriyanka Jain <priyanka.jain@nxp.com>
Fri, 8 Nov 2019 05:43:38 +0000 (11:13 +0530)
Erratum A-050382 states that the eDMA ICID programmed in the eDMA_AMQR
register in DCFG is not correctly forwarded to the SMMU.
The workaround consists in programming the eDMA ICID in the eDMA_AMQR
register in DCFG to 40.

Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
arch/arm/cpu/armv8/fsl-layerscape/Kconfig
arch/arm/include/asm/arch-fsl-layerscape/stream_id_lsch3.h

index 24c606a2328f470ba53fb527851c633c62f63188..046dcf539ef57505197f3b187c72458b652895d1 100644 (file)
@@ -45,6 +45,7 @@ config ARCH_LS1028A
        select SYS_FSL_ERRATUM_A008514 if !TFABOOT
        select SYS_FSL_ERRATUM_A009663 if !TFABOOT
        select SYS_FSL_ERRATUM_A009942 if !TFABOOT
+       select SYS_FSL_ERRATUM_A050382
        imply PANIC_HANG
 
 config ARCH_LS1043A
@@ -584,6 +585,8 @@ config SYS_FSL_ERRATUM_A009660
 config SYS_FSL_ERRATUM_A009929
        bool
 
+config SYS_FSL_ERRATUM_A050382
+       bool
 
 config SYS_FSL_HAS_RGMII
        bool
index 0b36416ad3637cfceff8d38a67e549a6dbaa44a9..94ea99a349d516e4c99cd04a576724f3b7209ac0 100644 (file)
 #define FSL_SEC_JR4_STREAM_ID          68
 
 #define FSL_SDMMC2_STREAM_ID           69
+
+/*
+ * Erratum A-050382 workaround
+ *
+ * Description:
+ *   The eDMA ICID programmed in the eDMA_AMQR register in DCFG is not
+ *   correctly forwarded to the SMMU.
+ * Workaround:
+ *   Program eDMA ICID in the eDMA_AMQR register in DCFG to 40.
+ */
+#ifdef CONFIG_SYS_FSL_ERRATUM_A050382
+#define FSL_EDMA_STREAM_ID             40
+#else
 #define FSL_EDMA_STREAM_ID             70
+#endif
+
 #define FSL_GPU_STREAM_ID              71
 #define FSL_DISPLAY_STREAM_ID          72
 #define FSL_SATA3_STREAM_ID            73