2
* (C) Copyright 2000 - 2002
3
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5
* SPDX-License-Identifier: GPL-2.0+
6
********************************************************************
7
* NOTE: This header file defines an interface to U-Boot. Including
8
* this (unmodified) header file in another file is considered normal
9
* use of U-Boot, and does *not* fall under the heading of "derived
11
********************************************************************
18
* Board information passed to Linux kernel from U-Boot
20
* include/asm-ppc/u-boot.h
23
#ifdef CONFIG_SYS_GENERIC_BOARD
24
/* Use the generic board which requires a unified bd_info */
25
#include <asm-generic/u-boot.h>
30
typedef struct bd_info {
31
unsigned long bi_memstart; /* start of DRAM memory */
32
phys_size_t bi_memsize; /* size of DRAM memory in bytes */
33
unsigned long bi_flashstart; /* start of FLASH memory */
34
unsigned long bi_flashsize; /* size of FLASH memory */
35
unsigned long bi_flashoffset; /* reserved area for startup monitor */
36
unsigned long bi_sramstart; /* start of SRAM memory */
37
unsigned long bi_sramsize; /* size of SRAM memory */
38
#if defined(CONFIG_5xx) || defined(CONFIG_8xx) || defined(CONFIG_MPC8260) \
39
|| defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
40
unsigned long bi_immr_base; /* base of IMMR register */
42
#if defined(CONFIG_MPC5xxx)
43
unsigned long bi_mbar_base; /* base of internal registers */
45
#if defined(CONFIG_MPC83xx)
46
unsigned long bi_immrbar;
48
unsigned long bi_bootflags; /* boot / reboot flag (Unused) */
49
unsigned long bi_ip_addr; /* IP Address */
50
unsigned char bi_enetaddr[6]; /* OLD: see README.enetaddr */
51
unsigned short bi_ethspeed; /* Ethernet speed in Mbps */
52
unsigned long bi_intfreq; /* Internal Freq, in MHz */
53
unsigned long bi_busfreq; /* Bus Freq, in MHz */
54
#if defined(CONFIG_CPM2)
55
unsigned long bi_cpmfreq; /* CPM_CLK Freq, in MHz */
56
unsigned long bi_brgfreq; /* BRG_CLK Freq, in MHz */
57
unsigned long bi_sccfreq; /* SCC_CLK Freq, in MHz */
58
unsigned long bi_vco; /* VCO Out from PLL, in MHz */
60
#if defined(CONFIG_MPC512X)
61
unsigned long bi_ipsfreq; /* IPS Bus Freq, in MHz */
62
#endif /* CONFIG_MPC512X */
63
#if defined(CONFIG_MPC5xxx)
64
unsigned long bi_ipbfreq; /* IPB Bus Freq, in MHz */
65
unsigned long bi_pcifreq; /* PCI Bus Freq, in MHz */
67
#if defined(CONFIG_405) || \
68
defined(CONFIG_405GP) || \
69
defined(CONFIG_405EP) || \
70
defined(CONFIG_405EZ) || \
71
defined(CONFIG_405EX) || \
73
unsigned char bi_s_version[4]; /* Version of this structure */
74
unsigned char bi_r_version[32]; /* Version of the ROM (AMCC) */
75
unsigned int bi_procfreq; /* CPU (Internal) Freq, in Hz */
76
unsigned int bi_plb_busfreq; /* PLB Bus speed, in Hz */
77
unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */
78
unsigned char bi_pci_enetaddr[6]; /* PCI Ethernet MAC address */
80
#if defined(CONFIG_HYMOD)
81
hymod_conf_t bi_hymod_conf; /* hymod configuration information */
84
#ifdef CONFIG_HAS_ETH1
85
unsigned char bi_enet1addr[6]; /* OLD: see README.enetaddr */
87
#ifdef CONFIG_HAS_ETH2
88
unsigned char bi_enet2addr[6]; /* OLD: see README.enetaddr */
90
#ifdef CONFIG_HAS_ETH3
91
unsigned char bi_enet3addr[6]; /* OLD: see README.enetaddr */
93
#ifdef CONFIG_HAS_ETH4
94
unsigned char bi_enet4addr[6]; /* OLD: see README.enetaddr */
96
#ifdef CONFIG_HAS_ETH5
97
unsigned char bi_enet5addr[6]; /* OLD: see README.enetaddr */
100
#if defined(CONFIG_405GP) || defined(CONFIG_405EP) || \
101
defined(CONFIG_405EZ) || defined(CONFIG_440GX) || \
102
defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
103
defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
104
defined(CONFIG_460EX) || defined(CONFIG_460GT)
105
unsigned int bi_opbfreq; /* OPB clock in Hz */
106
int bi_iic_fast[2]; /* Use fast i2c mode */
108
#if defined(CONFIG_4xx)
109
#if defined(CONFIG_440GX) || \
110
defined(CONFIG_460EX) || defined(CONFIG_460GT)
111
int bi_phynum[4]; /* Determines phy mapping */
112
int bi_phymode[4]; /* Determines phy mode */
113
#elif defined(CONFIG_405EP) || defined(CONFIG_405EX) || defined(CONFIG_440)
114
int bi_phynum[2]; /* Determines phy mapping */
115
int bi_phymode[2]; /* Determines phy mode */
117
int bi_phynum[1]; /* Determines phy mapping */
118
int bi_phymode[1]; /* Determines phy mode */
120
#endif /* defined(CONFIG_4xx) */
123
#endif /* __ASSEMBLY__ */
125
#endif /* !CONFIG_SYS_GENERIC_BOARD */
127
/* For image.h:image_check_target_arch() */
128
#define IH_ARCH_DEFAULT IH_ARCH_PPC
130
#endif /* __U_BOOT_H__ */