Add the infrastructure to support different flash sizes/address
[openwrt-10.03/.git] / target / linux / adm5120-2.6 / files / include / asm-mips / mach-adm5120 / adm5120_info.h
index 30b9c7d830fa45f5042879f254db248a3d56933f..3e0acba329b6f0e8b3028bed5e76954255c5d1b3 100644 (file)
@@ -1,7 +1,9 @@
 /*
+ * $Id$
+ *
  * Copyright (C) 2007 OpenWrt.org
- * Copyright (C) Gabor Juhos
- * 
+ * Copyright (C) Gabor Juhos <juhosg@freemail.hu>
+ *
  * This program is free software; you can redistribute  it and/or modify it
  * under  the terms of  the GNU General  Public License as published by the
  * Free Software Foundation;  either version 2 of the  License, or (at your
 #include <linux/types.h>
 
 struct adm5120_info {
-       unsigned long cpu_speed;
+       unsigned int product_code;
+       unsigned int revision;
        unsigned int cpu_package;
+       unsigned int nand_boot;
+       unsigned long cpu_speed;
        unsigned int boot_loader;
        unsigned int board_type;
+       unsigned int iface_num;         /* Number of Ethernet interfaces */
+       unsigned int has_usb;           /* USB controller presence flag */
+       u32 window_addr;                /* Flash address */
+       u32 window_size;                /* Flash size */
 };
 
 #define CPU_SPEED_175          175000000
@@ -32,7 +41,8 @@ struct adm5120_info {
 #define BOOT_LOADER_CFE                1
 #define BOOT_LOADER_UBOOT      2
 #define BOOT_LOADER_MYLOADER   3
-#define BOOT_LOADER_LAST       3
+#define BOOT_LOADER_ROUTERBOOT 4
+#define BOOT_LOADER_LAST       4       
 
 #define BOARD_TYPE_UNKNOWN     0
 #define BOARD_TYPE_WP54G_WRT   1
@@ -44,9 +54,20 @@ struct adm5120_info {
 #define BOARD_TYPE_NP28GHS     7
 #define BOARD_TYPE_NP27G       8
 #define BOARD_TYPE_WP54Gv1C    9
-#define BOARD_TYPE_RB_1xx      10
+#define BOARD_TYPE_RB_111      10
+#define BOARD_TYPE_RB_112      11
+#define BOARD_TYPE_RB_133      12
+#define BOARD_TYPE_RB_133C     13
+#define BOARD_TYPE_RB_150      14
+#define BOARD_TYPE_RB_153      15
+#define BOART_TYPE_LAST                15
 
 extern struct adm5120_info adm5120_info;
 extern void adm5120_info_init(void);
 
+static inline int adm5120_has_pci(void)
+{
+       return (adm5120_info.cpu_package == CPU_PACKAGE_BGA);
+}
+
 #endif /* _ADM5120_INFO_H */