[linux-yocto] [PATCH 12/12] MIPS: OCTEON: Don't write FAU registers for cn78XX

Chandrakala Chavva cchavva.cavm at gmail.com
Thu Jan 29 07:32:11 PST 2015


From: Abhishek Paliwal <abhishek.paliwal at aricent.com>

From: David Daney <david.daney at cavium.com>

There is no FAU on this SoC.

Signed-off-by: David Daney <david.daney at cavium.com>
Signed-off-by: Abhishek Paliwal <abhishek.paliwal at aricent.com>
---
 arch/mips/cavium-octeon/setup.c             | 18 ++++++++++--------
 arch/mips/include/asm/octeon/octeon-model.h |  3 +++
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c
index 2b152c1..2616103 100644
--- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c
@@ -496,7 +496,6 @@ const char *get_system_type(void)
 void octeon_user_io_init(void)
 {
 	union octeon_cvmemctl cvmmemctl;
-	union cvmx_iob_fau_timeout fau_timeout;
 	union cvmx_pow_nw_tim nm_tim;
 
 	/* Get the current settings for CP0_CVMMEMCTL_REG */
@@ -605,13 +604,16 @@ void octeon_user_io_init(void)
 			  CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE,
 			  CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE * 128);
 
-	/* Set a default for the hardware timeouts */
-	fau_timeout.u64 = 0;
-	fau_timeout.s.tout_val = 0xfff;
-	/* Disable tagwait FAU timeout */
-	fau_timeout.s.tout_enb = 0;
-	cvmx_write_csr(CVMX_IOB_FAU_TIMEOUT, fau_timeout.u64);
-
+	if (current_cpu_type() != CPU_CAVIUM_OCTEON3 ||
+		OCTEON_IS_MODEL(OCTEON_CN70XX)) {
+		union cvmx_iob_fau_timeout fau_timeout;
+		/* Set a default for the hardware timeouts */
+		fau_timeout.u64 = 0;
+		fau_timeout.s.tout_val = 0xfff;
+		/* Disable tagwait FAU timeout */
+		fau_timeout.s.tout_enb = 0;
+		cvmx_write_csr(CVMX_IOB_FAU_TIMEOUT, fau_timeout.u64);
+	}
 	nm_tim.u64 = 0;
 	/* 4096 cycles */
 	nm_tim.s.nw_tim = 3;
diff --git a/arch/mips/include/asm/octeon/octeon-model.h b/arch/mips/include/asm/octeon/octeon-model.h
index e2c122c..409864e 100644
--- a/arch/mips/include/asm/octeon/octeon-model.h
+++ b/arch/mips/include/asm/octeon/octeon-model.h
@@ -67,6 +67,9 @@
 /*
  * CNF7XXX models with new revision encoding
  */
+#define OCTEON_CN70XX_PASS1_0   0x000d9600
+#define OCTEON_CN70XX           (OCTEON_CN70XX_PASS1_0 | OM_IGNORE_REVISION)
+
 #define OCTEON_CNF71XX_PASS1_0	0x000d9400
 
 #define OCTEON_CNF71XX		(OCTEON_CNF71XX_PASS1_0 | OM_IGNORE_REVISION)
-- 
1.8.1.4



More information about the linux-yocto mailing list