source: rtems/bsps/powerpc/include/bsp/u-boot-board-info.h @ 2afb22b

5
Last change on this file since 2afb22b was 2afb22b, checked in by Chris Johns <chrisj@…>, on 12/23/17 at 07:18:56

Remove make preinstall

A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

  • The make preinstall step itself needs time and disk space.
  • Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error.
  • There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult.
  • The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit.
  • An introduction of a new build system is difficult.
  • Include paths specified by the -B option are system headers. This may suppress warnings.
  • The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

  • cpukit/include
  • cpukit/score/cpu/@RTEMS_CPU@/include
  • cpukit/libnetworking

The new BSP include directories are:

  • bsps/include
  • bsps/@RTEMS_CPU@/include
  • bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.

  • Property mode set to 100644
File size: 5.5 KB
Line 
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#ifndef __ASSEMBLY__
38
39typedef struct bd_info {
40        unsigned long   bi_memstart;    /* start of DRAM memory */
41        phys_size_t     bi_memsize;     /* size  of DRAM memory in bytes */
42        unsigned long   bi_flashstart;  /* start of FLASH memory */
43        unsigned long   bi_flashsize;   /* size  of FLASH memory */
44        unsigned long   bi_flashoffset; /* reserved area for startup monitor */
45        unsigned long   bi_sramstart;   /* start of SRAM memory */
46        unsigned long   bi_sramsize;    /* size  of SRAM memory */
47#if defined(CONFIG_5xx) || defined(CONFIG_8xx) || defined(CONFIG_8260) \
48        || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
49        unsigned long   bi_immr_base;   /* base of IMMR register */
50#endif
51#if defined(CONFIG_MPC5xxx)
52        unsigned long   bi_mbar_base;   /* base of internal registers */
53#endif
54#if defined(CONFIG_MPC83xx)
55        unsigned long   bi_immrbar;
56#endif
57#if defined(CONFIG_MPC8220)
58        unsigned long   bi_mbar_base;   /* base of internal registers */
59        unsigned long   bi_inpfreq;     /* Input Freq, In MHz */
60        unsigned long   bi_pcifreq;     /* PCI Freq, in MHz */
61        unsigned long   bi_pevfreq;     /* PEV Freq, in MHz */
62        unsigned long   bi_flbfreq;     /* Flexbus Freq, in MHz */
63        unsigned long   bi_vcofreq;     /* VCO Freq, in MHz */
64#endif
65        unsigned long   bi_bootflags;   /* boot / reboot flag (Unused) */
66        unsigned long   bi_ip_addr;     /* IP Address */
67        unsigned char   bi_enetaddr[6]; /* OLD: see README.enetaddr */
68        unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps */
69        unsigned long   bi_intfreq;     /* Internal Freq, in MHz */
70        unsigned long   bi_busfreq;     /* Bus Freq, in MHz */
71#if defined(CONFIG_CPM2)
72        unsigned long   bi_cpmfreq;     /* CPM_CLK Freq, in MHz */
73        unsigned long   bi_brgfreq;     /* BRG_CLK Freq, in MHz */
74        unsigned long   bi_sccfreq;     /* SCC_CLK Freq, in MHz */
75        unsigned long   bi_vco;         /* VCO Out from PLL, in MHz */
76#endif
77#if defined(CONFIG_MPC512X)
78        unsigned long   bi_ipsfreq;     /* IPS Bus Freq, in MHz */
79#endif /* CONFIG_MPC512X */
80#if defined(CONFIG_MPC5xxx)
81        unsigned long   bi_ipbfreq;     /* IPB Bus Freq, in MHz */
82        unsigned long   bi_pcifreq;     /* PCI Bus Freq, in MHz */
83#endif
84        unsigned long   bi_baudrate;    /* Console Baudrate */
85#if defined(CONFIG_405)   || \
86    defined(CONFIG_405GP) || \
87    defined(CONFIG_405CR) || \
88    defined(CONFIG_405EP) || \
89    defined(CONFIG_405EZ) || \
90    defined(CONFIG_405EX) || \
91    defined(CONFIG_440)
92        unsigned char   bi_s_version[4];        /* Version of this structure */
93        unsigned char   bi_r_version[32];       /* Version of the ROM (AMCC) */
94        unsigned int    bi_procfreq;    /* CPU (Internal) Freq, in Hz */
95        unsigned int    bi_plb_busfreq; /* PLB Bus speed, in Hz */
96        unsigned int    bi_pci_busfreq; /* PCI Bus speed, in Hz */
97        unsigned char   bi_pci_enetaddr[6];     /* PCI Ethernet MAC address */
98#endif
99#if defined(CONFIG_HYMOD)
100        hymod_conf_t    bi_hymod_conf;  /* hymod configuration information */
101#endif
102
103#ifdef CONFIG_HAS_ETH1
104        unsigned char   bi_enet1addr[6];        /* OLD: see README.enetaddr */
105#endif
106#ifdef CONFIG_HAS_ETH2
107        unsigned char   bi_enet2addr[6];        /* OLD: see README.enetaddr */
108#endif
109#ifdef CONFIG_HAS_ETH3
110        unsigned char   bi_enet3addr[6];        /* OLD: see README.enetaddr */
111#endif
112#ifdef CONFIG_HAS_ETH4
113        unsigned char   bi_enet4addr[6];        /* OLD: see README.enetaddr */
114#endif
115#ifdef CONFIG_HAS_ETH5
116        unsigned char   bi_enet5addr[6];        /* OLD: see README.enetaddr */
117#endif
118
119#if defined(CONFIG_405GP) || defined(CONFIG_405EP) || \
120    defined(CONFIG_405EZ) || defined(CONFIG_440GX) || \
121    defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
122    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
123    defined(CONFIG_460EX) || defined(CONFIG_460GT)
124        unsigned int    bi_opbfreq;             /* OPB clock in Hz */
125        int             bi_iic_fast[2];         /* Use fast i2c mode */
126#endif
127#if defined(CONFIG_NX823)
128        unsigned char   bi_sernum[8];
129#endif
130#if defined(CONFIG_4xx)
131#if defined(CONFIG_440GX) || \
132    defined(CONFIG_460EX) || defined(CONFIG_460GT)
133        int             bi_phynum[4];           /* Determines phy mapping */
134        int             bi_phymode[4];          /* Determines phy mode */
135#elif defined(CONFIG_405EP) || defined(CONFIG_440)
136        int             bi_phynum[2];           /* Determines phy mapping */
137        int             bi_phymode[2];          /* Determines phy mode */
138#else
139        int             bi_phynum[1];           /* Determines phy mapping */
140        int             bi_phymode[1];          /* Determines phy mode */
141#endif
142#endif /* defined(CONFIG_4xx) */
143} bd_t;
144
145#endif /* __ASSEMBLY__ */
146#endif  /* __U_BOOT_H__ */
Note: See TracBrowser for help on using the repository browser.