Fresh fixes from Gabor Juhos : detects RouterBoot, Bootbase, improve board specification
[openwrt/svn-archive/archive.git] / target / linux / adm5120-2.6 / files / include / asm-mips / mach-adm5120 / adm5120_info.h
index 3e0acba329b6f0e8b3028bed5e76954255c5d1b3..dbb02cf8ed7a5dfcaaeb5e0c6a26190c86eae0b9 100644 (file)
 
 #include <linux/types.h>
 
-struct adm5120_info {
-       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 ADM5120_BOARD_NAMELEN  64
 
-#define CPU_SPEED_175          175000000
-#define CPU_SPEED_200          200000000
-#define CPU_SPEED_225          225000000
-#define CPU_SPEED_250          250000000
+struct adm5120_board {
+       char            name[ADM5120_BOARD_NAMELEN];
+       unsigned long   mach_type;
+       unsigned int    iface_num;      /* Number of Ethernet interfaces */
+       unsigned int    has_usb;        /* USB controller presence flag */
+       u32             flash0_size;    /* Flash 0 size */
+};
 
-#define CPU_PACKAGE_PQFP       0
-#define CPU_PACKAGE_BGA                1
+extern struct adm5120_board adm5120_board;
 
+extern unsigned int adm5120_boot_loader;
 #define BOOT_LOADER_UNKNOWN    0
 #define BOOT_LOADER_CFE                1
 #define BOOT_LOADER_UBOOT      2
 #define BOOT_LOADER_MYLOADER   3
 #define BOOT_LOADER_ROUTERBOOT 4
-#define BOOT_LOADER_LAST       4       
+#define BOOT_LOADER_BOOTBASE   5
+#define BOOT_LOADER_LAST       5
+
+extern unsigned int adm5120_product_code;
+extern unsigned int adm5120_revision;
+extern unsigned int adm5120_nand_boot;
 
-#define BOARD_TYPE_UNKNOWN     0
-#define BOARD_TYPE_WP54G_WRT   1
-#define BOARD_TYPE_WP54G       2
-#define BOARD_TYPE_WP54AG      3
-#define BOARD_TYPE_WPP54G      4
-#define BOARD_TYPE_WPP54AG     5
-#define BOARD_TYPE_NP28G       6
-#define BOARD_TYPE_NP28GHS     7
-#define BOARD_TYPE_NP27G       8
-#define BOARD_TYPE_WP54Gv1C    9
-#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 unsigned long adm5120_speed;
+#define ADM5120_SPEED_175      175000000
+#define ADM5120_SPEED_200      200000000
+#define ADM5120_SPEED_225      225000000
+#define ADM5120_SPEED_250      250000000
+
+extern unsigned int adm5120_package;
+#define ADM5120_PACKAGE_PQFP   0
+#define ADM5120_PACKAGE_BGA    1
 
-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);
+       return (adm5120_package == ADM5120_PACKAGE_BGA);
+}
+
+static inline int adm5120_has_gmii(void)
+{
+       return (adm5120_package == ADM5120_PACKAGE_BGA);
+}
+
+static inline char *adm5120_board_name(void)
+{
+       return adm5120_board.name;
 }
 
 #endif /* _ADM5120_INFO_H */