vserver 2.0 rc7
[linux-2.6.git] / include / asm-ppc / ppcboot.h
index bccb6e3..fe24e45 100644 (file)
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
 
-typedef void (interrupt_handler_t)(void *);
-
-typedef struct monitor_functions {
-       int     (*getc)(void);
-       int     (*tstc)(void);
-       void    (*putc)(const char c);
-       void    (*puts)(const char *s);
-       void    (*printf)(const char *fmt, ...);
-       void    (*install_hdlr)(int, interrupt_handler_t *, void *);
-       void    (*free_hdlr)(int);
-       void    *(*malloc)(size_t);
-       void    (*free)(void *);
-} mon_fnc_t;
-
 typedef struct bd_info {
        unsigned long   bi_memstart;    /* start of DRAM memory */
        unsigned long   bi_memsize;     /* size  of DRAM memory in bytes */
@@ -52,8 +38,12 @@ typedef struct bd_info {
        unsigned long   bi_flashoffset; /* reserved area for startup monitor */
        unsigned long   bi_sramstart;   /* start of SRAM memory */
        unsigned long   bi_sramsize;    /* size  of SRAM memory */
-#if defined(CONFIG_8xx) || defined(CONFIG_8260)
+#if defined(CONFIG_8xx) || defined(CONFIG_CPM2) || defined(CONFIG_85xx) ||\
+       defined(CONFIG_83xx)
        unsigned long   bi_immr_base;   /* base of IMMR register */
+#endif
+#if defined(CONFIG_PPC_MPC52xx)
+       unsigned long   bi_mbar_base;   /* base of internal registers */
 #endif
        unsigned long   bi_bootflags;   /* boot / reboot flag (for LynxOS) */
        unsigned long   bi_ip_addr;     /* IP Address */
@@ -61,14 +51,18 @@ typedef struct bd_info {
        unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps */
        unsigned long   bi_intfreq;     /* Internal Freq, in MHz */
        unsigned long   bi_busfreq;     /* Bus Freq, in MHz */
-#if defined(CONFIG_8260)
+#if defined(CONFIG_CPM2)
        unsigned long   bi_cpmfreq;     /* CPM_CLK Freq, in MHz */
        unsigned long   bi_brgfreq;     /* BRG_CLK Freq, in MHz */
        unsigned long   bi_sccfreq;     /* SCC_CLK Freq, in MHz */
        unsigned long   bi_vco;         /* VCO Out from PLL, in MHz */
+#endif
+#if defined(CONFIG_PPC_MPC52xx)
+       unsigned long   bi_ipbfreq;     /* IPB Bus Freq, in MHz */
+       unsigned long   bi_pcifreq;     /* PCI Bus Freq, in MHz */
 #endif
        unsigned long   bi_baudrate;    /* Console Baudrate */
-#if defined(CONFIG_405GP)
+#if defined(CONFIG_4xx)
        unsigned char   bi_s_version[4];        /* Version of this structure */
        unsigned char   bi_r_version[32];       /* Version of the ROM (IBM) */
        unsigned int    bi_procfreq;    /* CPU (Internal) Freq, in Hz */
@@ -79,12 +73,27 @@ typedef struct bd_info {
 #if defined(CONFIG_HYMOD)
        hymod_conf_t    bi_hymod_conf;  /* hymod configuration information */
 #endif
-#if defined(CONFIG_EVB64260)
-       /* the board has three onboard ethernet ports */
+#if defined(CONFIG_EVB64260) || defined(CONFIG_44x) || defined(CONFIG_85xx) ||\
+       defined(CONFIG_83xx)
+       /* second onboard ethernet port */
        unsigned char   bi_enet1addr[6];
+#endif
+#if defined(CONFIG_EVB64260) || defined(CONFIG_440GX) || defined(CONFIG_85xx)
+       /* third onboard ethernet ports */
        unsigned char   bi_enet2addr[6];
 #endif
-       mon_fnc_t       *bi_mon_fnc;    /* Pointer to monitor functions */
+#if defined(CONFIG_440GX)
+       /* fourth onboard ethernet ports */
+       unsigned char   bi_enet3addr[6];
+#endif
+#if defined(CONFIG_4xx)
+       unsigned int    bi_opbfreq;             /* OB clock in Hz */
+       int             bi_iic_fast[2];         /* Use fast i2c mode */
+#endif
+#if defined(CONFIG_440GX)
+       int             bi_phynum[4];           /* phy mapping */
+       int             bi_phymode[4];          /* phy mode */
+#endif
 } bd_t;
 
 #endif /* __ASSEMBLY__ */