From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 09/28] Introduce generic u-boot.h file
Date: Thu, 16 Feb 2012 06:48:56 -0800 [thread overview]
Message-ID: <1329403755-6396-10-git-send-email-sjg@chromium.org> (raw)
In-Reply-To: <1329403755-6396-1-git-send-email-sjg@chromium.org>
This file holds the board info structure. We need this to be generic
for the unified board series, so create a structure which contains
the basic fields required by the main architectures.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
include/asm-generic/u-boot.h | 155 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 155 insertions(+), 0 deletions(-)
create mode 100644 include/asm-generic/u-boot.h
diff --git a/include/asm-generic/u-boot.h b/include/asm-generic/u-boot.h
new file mode 100644
index 0000000..98a8a21
--- /dev/null
+++ b/include/asm-generic/u-boot.h
@@ -0,0 +1,155 @@
+/*
+ * (C) Copyright 2000 - 2002
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ********************************************************************
+ * NOTE: This header file defines an interface to U-Boot. Including
+ * this (unmodified) header file in another file is considered normal
+ * use of U-Boot, and does *not* fall under the heading of "derived
+ * work".
+ ********************************************************************
+ */
+
+#ifndef __ASM_GENERIC_U_BOOT_H__
+#define __ASM_GENERIC_U_BOOT_H__
+
+/*
+ * Board information passed to Linux kernel from U-Boot
+ *
+ * include/asm-ppc/u-boot.h
+ */
+
+#ifndef __ASSEMBLY__
+
+typedef struct bd_info {
+ unsigned long bi_memstart; /* start of DRAM memory */
+ phys_size_t bi_memsize; /* size of DRAM memory in bytes */
+ unsigned long bi_flashstart; /* start of FLASH memory */
+ unsigned long bi_flashsize; /* size of FLASH memory */
+ 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_5xx) || defined(CONFIG_8xx) || defined(CONFIG_8260) \
+ || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
+ unsigned long bi_immr_base; /* base of IMMR register */
+#endif
+#if defined(CONFIG_MPC5xxx)
+ unsigned long bi_mbar_base; /* base of internal registers */
+#endif
+#if defined(CONFIG_MPC83xx)
+ unsigned long bi_immrbar;
+#endif
+#if defined(CONFIG_MPC8220)
+ unsigned long bi_mbar_base; /* base of internal registers */
+ unsigned long bi_inpfreq; /* Input Freq, In MHz */
+ unsigned long bi_pcifreq; /* PCI Freq, in MHz */
+ unsigned long bi_pevfreq; /* PEV Freq, in MHz */
+ unsigned long bi_flbfreq; /* Flexbus Freq, in MHz */
+ unsigned long bi_vcofreq; /* VCO Freq, in MHz */
+#endif
+ unsigned long bi_bootflags; /* boot / reboot flag (Unused) */
+ unsigned long bi_ip_addr; /* IP Address */
+ unsigned char bi_enetaddr[6]; /* OLD: see README.enetaddr */
+ 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_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_MPC512X)
+ unsigned long bi_ipsfreq; /* IPS Bus Freq, in MHz */
+#endif /* CONFIG_MPC512X */
+#if defined(CONFIG_MPC5xxx)
+ 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_405) || \
+ defined(CONFIG_405GP) || \
+ defined(CONFIG_405CR) || \
+ defined(CONFIG_405EP) || \
+ defined(CONFIG_405EZ) || \
+ defined(CONFIG_405EX) || \
+ defined(CONFIG_440)
+ unsigned char bi_s_version[4]; /* Version of this structure */
+ unsigned char bi_r_version[32]; /* Version of the ROM (AMCC) */
+ unsigned int bi_procfreq; /* CPU (Internal) Freq, in Hz */
+ unsigned int bi_plb_busfreq; /* PLB Bus speed, in Hz */
+ unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */
+ unsigned char bi_pci_enetaddr[6]; /* PCI Ethernet MAC address */
+#endif
+#if defined(CONFIG_HYMOD)
+ hymod_conf_t bi_hymod_conf; /* hymod configuration information */
+#endif
+
+#ifdef CONFIG_HAS_ETH1
+ unsigned char bi_enet1addr[6]; /* OLD: see README.enetaddr */
+#endif
+#ifdef CONFIG_HAS_ETH2
+ unsigned char bi_enet2addr[6]; /* OLD: see README.enetaddr */
+#endif
+#ifdef CONFIG_HAS_ETH3
+ unsigned char bi_enet3addr[6]; /* OLD: see README.enetaddr */
+#endif
+#ifdef CONFIG_HAS_ETH4
+ unsigned char bi_enet4addr[6]; /* OLD: see README.enetaddr */
+#endif
+#ifdef CONFIG_HAS_ETH5
+ unsigned char bi_enet5addr[6]; /* OLD: see README.enetaddr */
+#endif
+
+#if defined(CONFIG_405GP) || defined(CONFIG_405EP) || \
+ defined(CONFIG_405EZ) || defined(CONFIG_440GX) || \
+ defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
+ defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
+ defined(CONFIG_460EX) || defined(CONFIG_460GT)
+ unsigned int bi_opbfreq; /* OPB clock in Hz */
+ int bi_iic_fast[2]; /* Use fast i2c mode */
+#endif
+#if defined(CONFIG_NX823)
+ unsigned char bi_sernum[8];
+#endif
+#if defined(CONFIG_4xx)
+#if defined(CONFIG_440GX) || \
+ defined(CONFIG_460EX) || defined(CONFIG_460GT)
+ int bi_phynum[4]; /* Determines phy mapping */
+ int bi_phymode[4]; /* Determines phy mode */
+#elif defined(CONFIG_405EP) || defined(CONFIG_405EX) || defined(CONFIG_440)
+ int bi_phynum[2]; /* Determines phy mapping */
+ int bi_phymode[2]; /* Determines phy mode */
+#else
+ int bi_phynum[1]; /* Determines phy mapping */
+ int bi_phymode[1]; /* Determines phy mode */
+#endif
+#endif /* defined(CONFIG_4xx) */
+ ulong bi_arch_number; /* unique id for this board */
+ ulong bi_boot_params; /* where this board expects params */
+#ifdef CONFIG_NR_DRAM_BANKS
+ struct { /* RAM configuration */
+ ulong start;
+ ulong size;
+ } bi_dram[CONFIG_NR_DRAM_BANKS];
+#endif /* CONFIG_NR_DRAM_BANKS */
+} bd_t;
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ASM_GENERIC_U_BOOT_H__ */
--
1.7.7.3
next prev parent reply other threads:[~2012-02-16 14:48 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-16 14:48 [U-Boot] [PATCH v3 0/28] Create generic board init for ARM, x86, PPC Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 01/28] arm: Change board baud_rate to ulong Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 02/28] x86: " Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 03/28] arm: Only display frame buffer info if there is LCD/video support Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 04/28] x86: Remove compiler warning in sc520_timer.c Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 05/28] x86: Remove dead code in eNET Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 06/28] x86: Add initial memory barrier macros Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 07/28] ppc: " Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 08/28] Introduce generic global_data Simon Glass
2012-03-06 5:01 ` Mike Frysinger
2012-03-06 6:22 ` Simon Glass
2012-03-06 6:36 ` Simon Glass
2012-02-16 14:48 ` Simon Glass [this message]
2012-02-16 14:48 ` [U-Boot] [PATCH v3 10/28] Introduce generic link symbol file Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 11/28] arm: Use sections header to obtain link symbols Simon Glass
2012-03-06 5:03 ` Mike Frysinger
2012-03-06 6:24 ` Simon Glass
2012-03-06 16:17 ` Mike Frysinger
2012-03-08 6:39 ` Simon Glass
2012-03-11 1:54 ` Mike Frysinger
2012-03-15 3:05 ` Simon Glass
2012-02-16 14:48 ` [U-Boot] [PATCH v3 12/28] x86: Change stub example to use asm-generic/sections.h Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 13/28] Introduce a basic initcall implementation Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 14/28] Define CONFIG_SYS_LEGACY_BOARD everywhere Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 15/28] Introduce generic pre-relocation board_f.c Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 16/28] Introduce generic post-relocation board_r.c Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 17/28] Add spl load feature Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 18/28] arm: Enable generic board support Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 19/28] Add CONFIG_SYS_SYM_OFFSETS to support offset symbols Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 20/28] x86: Use sections header to obtain link symbols Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 21/28] Add x86 fields to generic global_data Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 22/28] x86: Enable generic board support Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 23/28] Add ppc fields to generic global data Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 24/28] Adjust board_f for ppc Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 25/28] Adjust board_r.c for PowerPC Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 26/28] ppc: Enable generic board board Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 27/28] tegra: Mark board init files for ARMv4t Simon Glass
2012-02-16 14:49 ` [U-Boot] [PATCH v3 28/28] tegra: Enable generic board for Seaboard Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1329403755-6396-10-git-send-email-sjg@chromium.org \
--to=sjg@chromium.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox