diff mbox

[U-Boot,v2] arm: ls102xa: enable snooping for CAAM transactions

Message ID 1444908091-32092-1-git-send-email-horia.geanta@freescale.com
State Accepted
Delegated to: York Sun
Headers show

Commit Message

horia.geanta@freescale.com Oct. 15, 2015, 11:21 a.m. UTC
Enable snooping for CAAM read & write transactions by
programming the SCFG snoop configuration register:
SCFG_SNPCNFGCR[SECRDSNP]
SCFG_SNPCNFGCR[SECWRSNP]

Signed-off-by: Horia Geantă <horia.geanta@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
---

v2 - moved initialization in arch_cpu_init (instead of board_early_init_f),
as suggested by York.

 arch/arm/cpu/armv7/ls102xa/cpu.c                  | 3 +++
 arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h | 1 +
 2 files changed, 4 insertions(+)

Comments

York Sun Oct. 30, 2015, 4:17 p.m. UTC | #1
On 10/15/2015 04:21 AM, Horia Geantă wrote:
> Enable snooping for CAAM read & write transactions by
> programming the SCFG snoop configuration register:
> SCFG_SNPCNFGCR[SECRDSNP]
> SCFG_SNPCNFGCR[SECWRSNP]
> 
> Signed-off-by: Horia Geantă <horia.geanta@freescale.com>
> Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
> ---
> 
> v2 - moved initialization in arch_cpu_init (instead of board_early_init_f),
> as suggested by York.


Applied to u-boot-fsl-qoriq. Awaiting upstream. Thanks.

York
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/ls102xa/cpu.c b/arch/arm/cpu/armv7/ls102xa/cpu.c
index 8dd95d98791d..0f10ed656af8 100644
--- a/arch/arm/cpu/armv7/ls102xa/cpu.c
+++ b/arch/arm/cpu/armv7/ls102xa/cpu.c
@@ -299,6 +299,7 @@  int arch_cpu_init(void)
 	void *epu_base = (void *)(CONFIG_SYS_DCSRBAR + EPU_BLOCK_OFFSET);
 	void *rcpm2_base =
 		(void *)(CONFIG_SYS_DCSRBAR + DCSR_RCPM2_BLOCK_OFFSET);
+	struct ccsr_scfg *scfg = (void *)CONFIG_SYS_FSL_SCFG_ADDR;
 	u32 state;
 
 	/*
@@ -326,6 +327,8 @@  int arch_cpu_init(void)
 	 */
 	fsl_epu_clean(epu_base);
 
+	setbits_be32(&scfg->snpcnfgcr, SCFG_SNPCNFGCR_SEC_RD_WR);
+
 	return 0;
 }
 
diff --git a/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h b/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
index 60aa0d3b6f43..fbd06bafce31 100644
--- a/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
+++ b/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
@@ -144,6 +144,7 @@  struct ccsr_gur {
 };
 
 #define SCFG_ETSECDMAMCR_LE_BD_FR	0x00000c00
+#define SCFG_SNPCNFGCR_SEC_RD_WR	0xc0000000
 #define SCFG_ETSECCMCR_GE2_CLK125	0x04000000
 #define SCFG_ETSECCMCR_GE0_CLK125	0x00000000
 #define SCFG_ETSECCMCR_GE1_CLK125	0x08000000