[ar71xx] add definitions for AR91xx specific DDR registers
[openwrt/svn-archive/archive.git] / target / linux / ar71xx / files / include / asm-mips / mach-ar71xx / ar71xx.h
index af824d979a258afc568524641bab27493fdd0611..f68bfff19977dd68822db7b5e668cc7c0c5bccea 100644 (file)
@@ -92,6 +92,17 @@ extern u32 ar71xx_ahb_freq;
 extern u32 ar71xx_cpu_freq;
 extern u32 ar71xx_ddr_freq;
 
+enum ar71xx_soc_type {
+       AR71XX_SOC_UNKNOWN,
+       AR71XX_SOC_AR7130,
+       AR71XX_SOC_AR7141,
+       AR71XX_SOC_AR7161,
+       AR71XX_SOC_AR9130,
+       AR71XX_SOC_AR9132
+};
+
+extern enum ar71xx_soc_type ar71xx_soc;
+
 /*
  * PLL block
  */
@@ -196,18 +207,23 @@ extern void ar71xx_gpio_function_disable(u32 mask);
 /*
  * DDR_CTRL block
  */
-#define DDR_REG_PCI_WIN0       0x7c
-#define DDR_REG_PCI_WIN1       0x80
-#define DDR_REG_PCI_WIN2       0x84
-#define DDR_REG_PCI_WIN3       0x88
-#define DDR_REG_PCI_WIN4       0x8c
-#define DDR_REG_PCI_WIN5       0x90
-#define DDR_REG_PCI_WIN6       0x94
-#define DDR_REG_PCI_WIN7       0x98
-#define DDR_REG_FLUSH_GE0      0x9c
-#define DDR_REG_FLUSH_GE1      0xa0
-#define DDR_REG_FLUSH_USB      0xa4
-#define DDR_REG_FLUSH_PCI      0xa8
+#define AR71XX_DDR_REG_PCI_WIN0                0x7c
+#define AR71XX_DDR_REG_PCI_WIN1                0x80
+#define AR71XX_DDR_REG_PCI_WIN2                0x84
+#define AR71XX_DDR_REG_PCI_WIN3                0x88
+#define AR71XX_DDR_REG_PCI_WIN4                0x8c
+#define AR71XX_DDR_REG_PCI_WIN5                0x90
+#define AR71XX_DDR_REG_PCI_WIN6                0x94
+#define AR71XX_DDR_REG_PCI_WIN7                0x98
+#define AR71XX_DDR_REG_FLUSH_GE0       0x9c
+#define AR71XX_DDR_REG_FLUSH_GE1       0xa0
+#define AR71XX_DDR_REG_FLUSH_USB       0xa4
+#define AR71XX_DDR_REG_FLUSH_PCI       0xa8
+
+#define AR91XX_DDR_REG_FLUSH_GE0       0x7c
+#define AR91XX_DDR_REG_FLUSH_GE1       0x80
+#define AR91XX_DDR_REG_FLUSH_USB       0x84
+#define AR91XX_DDR_REG_FLUSH_WMAC      0x88
 
 #define PCI_WIN0_OFFS  0x10000000
 #define PCI_WIN1_OFFS  0x11000000
@@ -275,6 +291,13 @@ extern void ar71xx_ddr_flush(u32 reg);
 #define RESET_REG_PERFC1               0x34
 #define RESET_REG_REV_ID               0x90
 
+#define WDOG_CTRL_LAST_RESET           BIT(31)
+#define WDOG_CTRL_ACTION_MASK          3
+#define WDOG_CTRL_ACTION_NONE          0       /* no action */
+#define WDOG_CTRL_ACTION_GPI           1       /* general purpose interrupt */
+#define WDOG_CTRL_ACTION_NMI           2       /* NMI */
+#define WDOG_CTRL_ACTION_FCR           3       /* full chip reset */
+
 #define MISC_INT_DMA                   BIT(7)
 #define MISC_INT_OHCI                  BIT(6)
 #define MISC_INT_PERFC                 BIT(5)
@@ -314,6 +337,7 @@ extern void ar71xx_ddr_flush(u32 reg);
 #define REV_ID_CHIP_AR7141     0xa1
 #define REV_ID_CHIP_AR7161     0xa2
 #define REV_ID_CHIP_AR9130     0xb0
+#define REV_ID_CHIP_AR9132     0xb1
 
 #define REV_ID_REVISION_MASK   0x3
 #define REV_ID_REVISION_SHIFT  2
@@ -368,16 +392,6 @@ extern void ar71xx_device_start(u32 mask);
 #define MII1_CTRL_IF_RGMII     0
 #define MII1_CTRL_IF_RMII      1
 
-#include <asm/bootinfo.h>
-#include <linux/init.h>
-
-#define ar71xx_print_cmdline() do {                                    \
-               printk(KERN_DEBUG "%s:%d arcs_cmdline:'%s'\n",          \
-                       __FUNCTION__, __LINE__, arcs_cmdline);          \
-               printk(KERN_DEBUG "%s:%d boot_command_line:'%s'\n",     \
-                       __FUNCTION__, __LINE__, boot_command_line);     \
-       } while (0)
-
 #endif /* __ASSEMBLER__ */
 
 #endif /* __ASM_MACH_AR71XX_H */