U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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