uboot/arch/powerpc/include/asm/u-boot.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2000 - 2002
   3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   4 *
   5 * This program is free software; you can redistribute it and/or
   6 * modify it under the terms of the GNU General Public License as
   7 * published by the Free Software Foundation; either version 2 of
   8 * the License, or (at your option) any later version.
   9 *
  10 * This program is distributed in the hope that it will be useful,
  11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13 * GNU General Public License for more details.
  14 *
  15 * You should have received a copy of the GNU General Public License
  16 * along with this program; if not, write to the Free Software
  17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  18 * MA 02111-1307 USA
  19 *
  20 ********************************************************************
  21 * NOTE: This header file defines an interface to U-Boot. Including
  22 * this (unmodified) header file in another file is considered normal
  23 * use of U-Boot, and does *not* fall under the heading of "derived
  24 * work".
  25 ********************************************************************
  26 */
  27
  28#ifndef __U_BOOT_H__
  29#define __U_BOOT_H__
  30
  31/*
  32 * Board information passed to Linux kernel from U-Boot
  33 *
  34 * include/asm-ppc/u-boot.h
  35 */
  36
  37#ifdef CONFIG_SYS_GENERIC_BOARD
  38/* Use the generic board which requires a unified bd_info */
  39#include <asm-generic/u-boot.h>
  40#else
  41
  42#ifndef __ASSEMBLY__
  43
  44typedef struct bd_info {
  45        unsigned long   bi_memstart;    /* start of DRAM memory */
  46        phys_size_t     bi_memsize;     /* size  of DRAM memory in bytes */
  47        unsigned long   bi_flashstart;  /* start of FLASH memory */
  48        unsigned long   bi_flashsize;   /* size  of FLASH memory */
  49        unsigned long   bi_flashoffset; /* reserved area for startup monitor */
  50        unsigned long   bi_sramstart;   /* start of SRAM memory */
  51        unsigned long   bi_sramsize;    /* size  of SRAM memory */
  52#if defined(CONFIG_5xx) || defined(CONFIG_8xx) || defined(CONFIG_8260) \
  53        || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
  54        unsigned long   bi_immr_base;   /* base of IMMR register */
  55#endif
  56#if defined(CONFIG_MPC5xxx)
  57        unsigned long   bi_mbar_base;   /* base of internal registers */
  58#endif
  59#if defined(CONFIG_MPC83xx)
  60        unsigned long   bi_immrbar;
  61#endif
  62        unsigned long   bi_bootflags;   /* boot / reboot flag (Unused) */
  63        unsigned long   bi_ip_addr;     /* IP Address */
  64        unsigned char   bi_enetaddr[6]; /* OLD: see README.enetaddr */
  65        unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps */
  66        unsigned long   bi_intfreq;     /* Internal Freq, in MHz */
  67        unsigned long   bi_busfreq;     /* Bus Freq, in MHz */
  68#if defined(CONFIG_CPM2)
  69        unsigned long   bi_cpmfreq;     /* CPM_CLK Freq, in MHz */
  70        unsigned long   bi_brgfreq;     /* BRG_CLK Freq, in MHz */
  71        unsigned long   bi_sccfreq;     /* SCC_CLK Freq, in MHz */
  72        unsigned long   bi_vco;         /* VCO Out from PLL, in MHz */
  73#endif
  74#if defined(CONFIG_MPC512X)
  75        unsigned long   bi_ipsfreq;     /* IPS Bus Freq, in MHz */
  76#endif /* CONFIG_MPC512X */
  77#if defined(CONFIG_MPC5xxx)
  78        unsigned long   bi_ipbfreq;     /* IPB Bus Freq, in MHz */
  79        unsigned long   bi_pcifreq;     /* PCI Bus Freq, in MHz */
  80#endif
  81        unsigned int    bi_baudrate;    /* Console Baudrate */
  82#if defined(CONFIG_405)   || \
  83    defined(CONFIG_405GP) || \
  84    defined(CONFIG_405CR) || \
  85    defined(CONFIG_405EP) || \
  86    defined(CONFIG_405EZ) || \
  87    defined(CONFIG_405EX) || \
  88    defined(CONFIG_440)
  89        unsigned char   bi_s_version[4];        /* Version of this structure */
  90        unsigned char   bi_r_version[32];       /* Version of the ROM (AMCC) */
  91        unsigned int    bi_procfreq;    /* CPU (Internal) Freq, in Hz */
  92        unsigned int    bi_plb_busfreq; /* PLB Bus speed, in Hz */
  93        unsigned int    bi_pci_busfreq; /* PCI Bus speed, in Hz */
  94        unsigned char   bi_pci_enetaddr[6];     /* PCI Ethernet MAC address */
  95#endif
  96#if defined(CONFIG_HYMOD)
  97        hymod_conf_t    bi_hymod_conf;  /* hymod configuration information */
  98#endif
  99
 100#ifdef CONFIG_HAS_ETH1
 101        unsigned char   bi_enet1addr[6];        /* OLD: see README.enetaddr */
 102#endif
 103#ifdef CONFIG_HAS_ETH2
 104        unsigned char   bi_enet2addr[6];        /* OLD: see README.enetaddr */
 105#endif
 106#ifdef CONFIG_HAS_ETH3
 107        unsigned char   bi_enet3addr[6];        /* OLD: see README.enetaddr */
 108#endif
 109#ifdef CONFIG_HAS_ETH4
 110        unsigned char   bi_enet4addr[6];        /* OLD: see README.enetaddr */
 111#endif
 112#ifdef CONFIG_HAS_ETH5
 113        unsigned char   bi_enet5addr[6];        /* OLD: see README.enetaddr */
 114#endif
 115
 116#if defined(CONFIG_405GP) || defined(CONFIG_405EP) || \
 117    defined(CONFIG_405EZ) || defined(CONFIG_440GX) || \
 118    defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
 119    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
 120    defined(CONFIG_460EX) || defined(CONFIG_460GT)
 121        unsigned int    bi_opbfreq;             /* OPB clock in Hz */
 122        int             bi_iic_fast[2];         /* Use fast i2c mode */
 123#endif
 124#if defined(CONFIG_NX823)
 125        unsigned char   bi_sernum[8];
 126#endif
 127#if defined(CONFIG_4xx)
 128#if defined(CONFIG_440GX) || \
 129    defined(CONFIG_460EX) || defined(CONFIG_460GT)
 130        int             bi_phynum[4];           /* Determines phy mapping */
 131        int             bi_phymode[4];          /* Determines phy mode */
 132#elif defined(CONFIG_405EP) || defined(CONFIG_405EX) || defined(CONFIG_440)
 133        int             bi_phynum[2];           /* Determines phy mapping */
 134        int             bi_phymode[2];          /* Determines phy mode */
 135#else
 136        int             bi_phynum[1];           /* Determines phy mapping */
 137        int             bi_phymode[1];          /* Determines phy mode */
 138#endif
 139#endif /* defined(CONFIG_4xx) */
 140} bd_t;
 141
 142#endif /* __ASSEMBLY__ */
 143
 144#endif /* !CONFIG_SYS_GENERIC_BOARD */
 145
 146/* For image.h:image_check_target_arch() */
 147#define IH_ARCH_DEFAULT IH_ARCH_PPC
 148
 149#endif  /* __U_BOOT_H__ */
 150