MIPS: OCTEON: Add detection of cnf71xx parts.
authorDavid Daney <david.daney@cavium.com>
Tue, 3 Apr 2012 19:08:24 +0000 (12:08 -0700)
committerDavid Daney <david.daney@cavium.com>
Fri, 31 Aug 2012 17:46:01 +0000 (10:46 -0700)
Also add cvmx_get_octeon_family().

Both of these are needed by the upcoming register definition refresh
patch.

Signed-off-by: David Daney <david.daney@cavium.com>
arch/mips/include/asm/octeon/octeon-model.h

index 4e338a4d94242edc5fa913da82954076142aac51..93398f66c88402f527a5318b1623967b248698e4 100644 (file)
 #define OM_MATCH_5XXX_FAMILY_MODELS     0x20000000
 /* Match all cn6XXX Octeon models. */
 #define OM_MATCH_6XXX_FAMILY_MODELS     0x40000000
+/* Match all cnf7XXX Octeon models. */
+#define OM_MATCH_F7XXX_FAMILY_MODELS    0x80000000
+
+/*
+ * CNF7XXX models with new revision encoding
+ */
+#define OCTEON_CNF71XX_PASS1_0  0x000d9400
+
+#define OCTEON_CNF71XX          (OCTEON_CNF71XX_PASS1_0 | OM_IGNORE_REVISION)
+#define OCTEON_CNF71XX_PASS1_X  (OCTEON_CNF71XX_PASS1_0 | OM_IGNORE_MINOR_REVISION)
 
 /*
  * CN6XXX models with new revision encoding
@@ -313,6 +323,14 @@ static inline int __octeon_is_model_runtime__(uint32_t model)
 const char *octeon_model_get_string(uint32_t chip_id);
 const char *octeon_model_get_string_buffer(uint32_t chip_id, char *buffer);
 
+/*
+ * Return the octeon family, i.e., ProcessorID of the PrID register.
+ */
+static inline uint32_t cvmx_get_octeon_family(void)
+{
+       return cvmx_get_proc_id() & OCTEON_FAMILY_MASK;
+}
+
 #include "octeon-feature.h"
 
 #endif /* __OCTEON_MODEL_H__ */