x86, geode: add a VSA2 ID for General Software
[pandora-kernel.git] / include / asm-x86 / geode.h
index b1bdf63..bb06027 100644 (file)
@@ -30,6 +30,8 @@ extern int geode_get_dev_base(unsigned int dev);
 
 /* MSRS */
 
+#define MSR_GLIU_P2D_RO0       0x10000029
+
 #define MSR_LX_GLD_MSR_CONFIG  0x48002001
 #define MSR_LX_MSR_PADSEL      0x48002011      /* NOT 0x48000011; the data
                                                 * sheet has the wrong value */
@@ -103,6 +105,15 @@ extern int geode_get_dev_base(unsigned int dev);
 #define PM_AWKD                        0x50
 #define PM_SSC                 0x54
 
+/* VSA2 magic values */
+
+#define VSA_VRC_INDEX          0xAC1C
+#define VSA_VRC_DATA           0xAC1E
+#define VSA_VR_UNLOCK          0xFC53  /* unlock virtual register */
+#define VSA_VR_SIGNATURE       0x0003
+#define VSA_VR_MEM_SIZE                0x0200
+#define AMD_VSA_SIG            0x4132  /* signature is ascii 'VSA2' */
+#define GSW_VSA_SIG            0x534d  /* General Software signature */
 /* GPIO */
 
 #define GPIO_OUTPUT_VAL                0x00
@@ -174,6 +185,15 @@ static inline int is_geode(void)
        return (is_geode_gx() || is_geode_lx());
 }
 
+#ifdef CONFIG_MGEODE_LX
+extern int geode_has_vsa2(void);
+#else
+static inline int geode_has_vsa2(void)
+{
+       return 0;
+}
+#endif
+
 /* MFGPTs */
 
 #define MFGPT_MAX_TIMERS       8