]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm64: ls104x: Enable eDMA snooping
authorSean Anderson <sean.anderson@seco.com>
Fri, 23 Sep 2022 16:05:51 +0000 (12:05 -0400)
committerPeng Fan <peng.fan@nxp.com>
Mon, 17 Oct 2022 07:17:56 +0000 (15:17 +0800)
This enables eDMA snooping on the LS1043A and LS1046A. This will allow
marking the I2C, LPUART, and SPI devices on these SoCs as DMA coherent.
Oddly, this bit is only documented for the LS1043A, and is marked as
"reserved" in the LS1046ARM. I have tested this patch on the LS1046A
and found that marking i2c0 as dma-coherent works without issue.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
arch/arm/cpu/armv8/fsl-layerscape/soc.c
arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h

index 926f8f21b6387bffa5225dc88963ec2f9c8e5db1..515dbe02fd793b7e319bd967d54e02d7cbd7ebca 100644 (file)
@@ -682,7 +682,7 @@ void fsl_lsch2_early_init_f(void)
                        SCFG_SNPCNFGCR_USB1WRSNP | SCFG_SNPCNFGCR_USB2RDSNP |
                        SCFG_SNPCNFGCR_USB2WRSNP | SCFG_SNPCNFGCR_USB3RDSNP |
                        SCFG_SNPCNFGCR_USB3WRSNP | SCFG_SNPCNFGCR_SATARDSNP |
-                       SCFG_SNPCNFGCR_SATAWRSNP);
+                       SCFG_SNPCNFGCR_SATAWRSNP | SCFG_SNPCNFGCR_EDMASNP);
 #elif defined(CONFIG_ARCH_LS1012A)
        setbits_be32(&scfg->snpcnfgcr, SCFG_SNPCNFGCR_SECRDSNP |
                        SCFG_SNPCNFGCR_SECWRSNP | SCFG_SNPCNFGCR_USB1RDSNP |
index 1fb1191a65ea8ebf60386ef96cfea88d859eaf47..2b73647ab4a9cd92b4db535e2f9151331b26edde 100644 (file)
@@ -383,6 +383,7 @@ struct ccsr_gur {
 #define SCFG_SNPCNFGCR_SATAWRSNP       0x00400000
 #define SCFG_SNPCNFGCR_USB1RDSNP       0x00200000
 #define SCFG_SNPCNFGCR_USB1WRSNP       0x00100000
+#define SCFG_SNPCNFGCR_EDMASNP         0x00020000
 #define SCFG_SNPCNFGCR_USB2RDSNP       0x00008000
 #define SCFG_SNPCNFGCR_USB2WRSNP       0x00010000
 #define SCFG_SNPCNFGCR_USB3RDSNP       0x00002000