Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * This interface is used for compatibility with old U-boots *ONLY*.
0004  * Please do not imitate or extend this.
0005  */
0006 
0007 /*
0008  * (C) Copyright 2000, 2001
0009  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
0010  */
0011 
0012 #ifndef __PPCBOOT_H__
0013 #define __PPCBOOT_H__
0014 
0015 /*
0016  * Board information passed to kernel from PPCBoot
0017  *
0018  * include/asm-ppc/ppcboot.h
0019  */
0020 
0021 #include "types.h"
0022 
0023 typedef struct bd_info {
0024     unsigned long   bi_memstart;    /* start of DRAM memory */
0025     unsigned long   bi_memsize; /* size  of DRAM memory in bytes */
0026     unsigned long   bi_flashstart;  /* start of FLASH memory */
0027     unsigned long   bi_flashsize;   /* size  of FLASH memory */
0028     unsigned long   bi_flashoffset; /* reserved area for startup monitor */
0029     unsigned long   bi_sramstart;   /* start of SRAM memory */
0030     unsigned long   bi_sramsize;    /* size  of SRAM memory */
0031 #if defined(TARGET_8xx) || defined(TARGET_CPM2) || defined(TARGET_85xx) ||\
0032     defined(TARGET_83xx) || defined(TARGET_86xx)
0033     unsigned long   bi_immr_base;   /* base of IMMR register */
0034 #endif
0035 #if defined(TARGET_PPC_MPC52xx)
0036     unsigned long   bi_mbar_base;   /* base of internal registers */
0037 #endif
0038     unsigned long   bi_bootflags;   /* boot / reboot flag (for LynxOS) */
0039     unsigned long   bi_ip_addr; /* IP Address */
0040     unsigned char   bi_enetaddr[6]; /* Ethernet address */
0041     unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps */
0042     unsigned long   bi_intfreq; /* Internal Freq, in MHz */
0043     unsigned long   bi_busfreq; /* Bus Freq, in MHz */
0044 #if defined(TARGET_CPM2)
0045     unsigned long   bi_cpmfreq; /* CPM_CLK Freq, in MHz */
0046     unsigned long   bi_brgfreq; /* BRG_CLK Freq, in MHz */
0047     unsigned long   bi_sccfreq; /* SCC_CLK Freq, in MHz */
0048     unsigned long   bi_vco;     /* VCO Out from PLL, in MHz */
0049 #endif
0050 #if defined(TARGET_PPC_MPC52xx)
0051     unsigned long   bi_ipbfreq;     /* IPB Bus Freq, in MHz */
0052     unsigned long   bi_pcifreq;     /* PCI Bus Freq, in MHz */
0053 #endif
0054     unsigned long   bi_baudrate;    /* Console Baudrate */
0055 #if defined(TARGET_4xx)
0056     unsigned char   bi_s_version[4];    /* Version of this structure */
0057     unsigned char   bi_r_version[32];   /* Version of the ROM (IBM) */
0058     unsigned int    bi_procfreq;    /* CPU (Internal) Freq, in Hz */
0059     unsigned int    bi_plb_busfreq; /* PLB Bus speed, in Hz */
0060     unsigned int    bi_pci_busfreq; /* PCI Bus speed, in Hz */
0061     unsigned char   bi_pci_enetaddr[6]; /* PCI Ethernet MAC address */
0062 #endif
0063 #if defined(TARGET_HYMOD)
0064     hymod_conf_t    bi_hymod_conf;  /* hymod configuration information */
0065 #endif
0066 #if defined(TARGET_EVB64260) || defined(TARGET_405EP) || defined(TARGET_44x) || \
0067     defined(TARGET_85xx) || defined(TARGET_83xx) || defined(TARGET_HAS_ETH1)
0068     /* second onboard ethernet port */
0069     unsigned char   bi_enet1addr[6];
0070 #define HAVE_ENET1ADDR
0071 #endif
0072 #if defined(TARGET_EVB64260) || defined(TARGET_440GX) || \
0073     defined(TARGET_85xx) || defined(TARGET_HAS_ETH2)
0074     /* third onboard ethernet ports */
0075     unsigned char   bi_enet2addr[6];
0076 #define HAVE_ENET2ADDR
0077 #endif
0078 #if defined(TARGET_440GX) || defined(TARGET_HAS_ETH3)
0079     /* fourth onboard ethernet ports */
0080     unsigned char   bi_enet3addr[6];
0081 #define HAVE_ENET3ADDR
0082 #endif
0083 #if defined(TARGET_4xx)
0084     unsigned int    bi_opbfreq;     /* OB clock in Hz */
0085     int     bi_iic_fast[2];     /* Use fast i2c mode */
0086 #endif
0087 #if defined(TARGET_440GX)
0088     int     bi_phynum[4];       /* phy mapping */
0089     int     bi_phymode[4];      /* phy mode */
0090 #endif
0091 } bd_t;
0092 
0093 #define bi_tbfreq   bi_intfreq
0094 
0095 #endif  /* __PPCBOOT_H__ */